Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AIX: build fails for xlc/xlC since new PEG parser #85387

Closed
aixtools opened this issue Jul 5, 2020 · 37 comments
Closed

AIX: build fails for xlc/xlC since new PEG parser #85387

aixtools opened this issue Jul 5, 2020 · 37 comments
Labels
3.9 only security fixes 3.10 only security fixes build The build process and cross-build

Comments

@aixtools
Copy link
Contributor

aixtools commented Jul 5, 2020

BPO 41215
Nosy @skrah, @aixtools, @lysnikolaou, @pablogsal, @miss-islington
PRs
  • bpo-41215: Don't use NULL by default in the PEG parser keyword list #21355
  • [3.9] bpo-41215: Don't use NULL by default in the PEG parser keyword list (GH-21355) #21356
  • bpo-41215: Make assertion in the new parser more strict #21364
  • [3.9] bpo-41215: Make assertion in the new parser more strict (GH-21364) #21367
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2020-07-07.17:07:00.693>
    created_at = <Date 2020-07-05.11:31:23.752>
    labels = ['build', '3.9', '3.10']
    title = 'AIX: build fails for xlc/xlC since new PEG parser'
    updated_at = <Date 2020-07-07.17:07:00.692>
    user = 'https://github.com/aixtools'

    bugs.python.org fields:

    activity = <Date 2020-07-07.17:07:00.692>
    actor = 'pablogsal'
    assignee = 'none'
    closed = True
    closed_date = <Date 2020-07-07.17:07:00.693>
    closer = 'pablogsal'
    components = ['Build']
    creation = <Date 2020-07-05.11:31:23.752>
    creator = 'Michael.Felt'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 41215
    keywords = ['patch']
    message_count = 37.0
    messages = ['373027', '373030', '373031', '373038', '373039', '373053', '373070', '373090', '373091', '373097', '373098', '373112', '373121', '373123', '373134', '373136', '373137', '373143', '373144', '373146', '373148', '373149', '373154', '373160', '373161', '373173', '373178', '373179', '373182', '373188', '373191', '373195', '373211', '373215', '373217', '373223', '373232']
    nosy_count = 6.0
    nosy_names = ['skrah', 'David.Edelsohn', 'Michael.Felt', 'lys.nikolaou', 'pablogsal', 'miss-islington']
    pr_nums = ['21355', '21356', '21364', '21367']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'compile error'
    url = 'https://bugs.python.org/issue41215'
    versions = ['Python 3.9', 'Python 3.10']

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 5, 2020

    As the bots were both running - based on gcc - this was not noticed immediately.

    bpo-40334 implements PEP-617, the new PEG parser for CPython.

    Using bisect I located:

    commit c5fc156 (HEAD, refs/bisect/bad)
    Author: Pablo Galindo <Pablogsal@gmail.com>
    Date: Wed Apr 22 23:29:27 2020 +0100

    bpo-40334: PEP-617 implementation: New PEG parser for CPython (GH-19503)
    
    Co-authored-by: Guido van Rossum <guido@python.org>
    Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
    

    +++ the make status (abbreviated) is:
    root@x066:[/data/prj/python/py39-3.10]slibclean; rm -rf *; buildaix --without-computed-gotos; print; date; ./python -E -S -m sysconfig --generate-posix-vars; ./python
    + CPPFLAGS="-I/opt/include" CFLAGS="-I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5"\
    ../git/py39-3.10/configure\
    --prefix=/opt \
    --sysconfdir=/var/py39/etc\
    --sharedstatedir=/var/py39/com\
    --localstatedir=/var/py39\
    --mandir=/usr/share/man\
    --infodir=/opt/share/info/py39 --without-computed-gotos\
    > .buildaix/configure.out
    + /usr/bin/make > .buildaix/make.out
    1500-016: (W) WARNING: Compiler problem occurred while compiling _PyPegen_clear_memo_statistics: A file or directory in the path name does not exist..
    1500-034: (S) Cannot create object file.
    make: 1254-004 The error code from the last command is 1.

    +++ The complete make.out (stdout) is:
    root@x066:[/data/prj/python/py39-3.10]cat .buildaix/make*
    xlc_r -c -DNDEBUG -O -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I../git/py39-3.10/Include/internal -IObjects -IInclude -IPython -I. -I../git/py39-3.10/Include -I/opt/include -I/opt/include -DPy_BUILD_CORE -o Programs/python.o ../git/py39-3.10/Programs/python.c
    xlc_r -c -DNDEBUG -O -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I../git/py39-3.10/Include/internal -IObjects -IInclude -IPython -I. -I../git/py39-3.10/Include -I/opt/include -I/opt/include -DPy_BUILD_CORE -o Parser/acceler.o ../git/py39-3.10/Parser/acceler.c
    xlc_r -c -DNDEBUG -O -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I../git/py39-3.10/Include/internal -IObjects -IInclude -IPython -I. -I../git/py39-3.10/Include -I/opt/include -I/opt/include -DPy_BUILD_CORE -o Parser/grammar1.o ../git/py39-3.10/Parser/grammar1.c
    xlc_r -c -DNDEBUG -O -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I../git/py39-3.10/Include/internal -IObjects -IInclude -IPython -I. -I../git/py39-3.10/Include -I/opt/include -I/opt/include -DPy_BUILD_CORE -o Parser/listnode.o ../git/py39-3.10/Parser/listnode.c
    xlc_r -c -DNDEBUG -O -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I../git/py39-3.10/Include/internal -IObjects -IInclude -IPython -I. -I../git/py39-3.10/Include -I/opt/include -I/opt/include -DPy_BUILD_CORE -o Parser/node.o ../git/py39-3.10/Parser/node.c
    xlc_r -c -DNDEBUG -O -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I../git/py39-3.10/Include/internal -IObjects -IInclude -IPython -I. -I../git/py39-3.10/Include -I/opt/include -I/opt/include -DPy_BUILD_CORE -o Parser/parser.o ../git/py39-3.10/Parser/parser.c
    xlc_r -c -DNDEBUG -O -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I../git/py39-3.10/Include/internal -IObjects -IInclude -IPython -I. -I../git/py39-3.10/Include -I/opt/include -I/opt/include -DPy_BUILD_CORE -o Parser/token.o ../git/py39-3.10/Parser/token.c
    xlc_r -c -DNDEBUG -O -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I/opt/include -O2 -qmaxmem=-1 -qarch=pwr5 -I../git/py39-3.10/Include/internal -IObjects -IInclude -IPython -I. -I../git/py39-3.10/Include -I/opt/include -I/opt/include -DPy_BUILD_CORE -o Parser/pegen/pegen.o ../git/py39-3.10/Parser/pegen/pegen.c


    After
    commit a25f3c4 (HEAD)
    Author: Pablo Galindo <Pablogsal@gmail.com>
    Date: Thu Apr 23 01:38:11 2020 +0100

    bpo-40334: Fix builds outside the source directory and regenerate autoconf files (GH-19667)
    

    /bin/sh: 7405692 Segmentation fault(coredump)
    make: 1254-004 The error code from the last command is 139.

    Stop.
    /usr/bin/make returned an error

    Sun Jul 5 11:23:39 UTC 2020
    Segmentation fault(coredump)
    Python 3.9.0a5+ (default, Jul 5 2020, 11:23:33) [C] on aix
    Type "help", "copyright", "credits" or "license" for more information.


    The above includes

    aixtools@x064:[/data/prj/python/git/py39-3.10]git checkout 458004b
    Previous HEAD position was a25f3c4 bpo-40334: Fix builds outside the source directory and regenerate autoconf files (GH-19667)
    HEAD is now at 458004b bpo-40334: Fix errors in parse_string.c with old compilers (GH-19666)

    This still crashes with the message:

    1500-016: (W) WARNING: Compiler problem occurred while compiling _PyPegen_clear_memo_statistics: A file or directory in the path name does not exist..
    1500-034: (S) Cannot create object file.
    

    I'll add more debug info in a followup - starting at:

    Previous HEAD position was a25f3c4 bpo-40334: Fix builds outside the source directory and regenerate autoconf files (GH-19667)

    @aixtools aixtools added 3.9 only security fixes 3.10 only security fixes build The build process and cross-build labels Jul 5, 2020
    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 5, 2020

    Well, the first step -s just showing where the segmentation fault occurs (in pegen.c).

    I am not really 'wiser' in what I should be looking at. I'll try adding a fprintf(stderr, ....) to see if I can figure out a bit more.

    For the experts:

    (dbx) where
    strncmp(??, ??, ??) at 0xd011d920
    _get_keyword_or_name_type(p = 0x00000023, name = warning: Unable to access address 0xd from core
    (invalid char ptr (0x0000000d)), name_len = 0), line 503 in "pegen.c"
    _PyPegen_fill_token(p = 0x1025f138), line 546 in "pegen.c"
    _PyPegen_expect_token(p = (nil), type = 805759776), line 675 in "pegen.c"
    _tmp_6_rule@AF486_140(??), line 10251 in "parse.c"
    _PyPegen_lookahead(positive = 269294544, func = 0x3001da40, p = 0x2ff20f30), line 666 in "pegen.c"
    compound_stmt_rule@AF476_280(??), line 1232 in "parse.c"
    statement_rule@AF477_284(??), line 795 in "parse.c"
    unnamed block in _loop1_2_rule(p = 0x30085830), line 10086 in "parse.c"
    _loop1_2_rule(p = 0x30085830), line 10086 in "parse.c"
    statements_rule@AF478_285(??), line 766 in "parse.c"
    file_rule@AF479_289(??), line 646 in "parse.c"
    _PyPegen_run_parser(p = 0x30085820), line 916 in "pegen.c"
    _PyPegen_run_parser_from_string(str = "compile", start_rule = 272032944, filename_ob = 0x20084f68, iflags = 805427776, arena = 0x30085820), line 1024 in "pegen.c"
    PyPegen_ASTFromStringObject(str = (nil), filename = (nil), mode = 804393472, flags = 0x20035cb0, arena = 0x102453c4), line 26 in "peg_api.c"
    unnamed block in Py_CompileStringObject(str = "|p^[yN", filename = (nil), start = 0, flags = 0x3007bbc8, optimize = -2147483647), line 1244 in "pythonrun.c"
    Py_CompileStringObject(str = "|p^[yN", filename = (nil), start = 0, flags = 0x3007bbc8, optimize = -2147483647), line 1244 in "pythonrun.c"
    builtin_compile_impl(module = (nil), source = 0x20000bd8, filename = 0x20063c48, mode = "\320Qf", flags = 1, dont_inherit = 536873648, optimize = 804393760, feature_version = 537275800), line 823 in "bltinmodule.c"
    builtin_compile(module = 0x2ff21460, args = 0x3007fa78, nargs = 2, kwnames = 0x30007470), line 274 in "bltinmodule.c.h"
    cfunction_vectorcall_FASTCALL_KEYWORDS(func = 0x100b203c, args = 0x00000003, nargsf = 804394000, kwnames = 0x20047844), line 396 in "methodobject.c"
    PyVectorcall_Call(callable = 0x100b2e10, tuple = 0x20026f40, kwargs = 0x2ff21470), line 255 in "call.c"
    _PyObject_Call(tstate = 0x100b1d1c, callable = 0x30002870, args = 0x2ff214c0, kwargs = 0x30043fd0), line 265 in "call.c"
    do_call_core(tstate = 0x00000001, func = 0x30094050, callargs = 0x30046428, kwdict = 0x300462e8), line 5054 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0x3009315c, f = 0x30043e58, throwflag = -261800280), line 3542 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x3005d820, _co = 0x3003a6a0, globals = 0x2ff216d0, locals = 0x422822cc, args = 0x100b46e4, argcount = 805410760, kwnames = 0x2ff216d0, kwargs = 0x20047844, kwcount = 2, kwstep = 1, defs = (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = 0x300197c8, qualname = 0x300197c8), line 41 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x100d3714, stack = 0x3008ea08, nargsf = 804394848, kwnames = 0x20047844), line 411 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0xffffffff, f = 0x300834c8, throwflag = 804395040), line 487 in "abstract.h"
    _PyEval_EvalCode(tstate = 0x300865b0, _co = 0x30061b88, globals = 0x2ff218e0, locals = 0x5328333f, args = 0x10073d54, argcount = 537279560, kwnames = 0x2ff218e0, kwargs = 0x20047844, kwcount = 0, kwstep = 1, defs = (nil), defcount = 0, kwdefs = 0x3006bb90, closure = (nil), name = 0x30061b88, qualname = 0x3004eb10), line 41 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x30092f50, stack = 0x30004048, nargsf = 804395376, kwnames = (nil)), line 411 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x100759a4, f = (nil), throwflag = 804395568), line 487 in "abstract.h"
    function_code_fastcall(tstate = 0x300418bc, co = (nil), args = 0x3000c220, nargs = 805664616, globals = (nil)), line 41 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = 0x100759a4, f = 0x30087c08, throwflag = 804395904), line 487 in "abstract.h"
    function_code_fastcall(tstate = 0x30086520, co = 0x3004c070, args = 0x2000abe8, nargs = 1, globals = 0x30049ec0), line 41 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = (nil), f = 0x00000001, throwflag = 804396240), line 487 in "abstract.h"
    function_code_fastcall(tstate = 0x3004389c, co = 0x30031176, args = 0x30031160, nargs = 805626736, globals = (nil)), line 41 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = 0x100759a4, f = 0x20063c48, throwflag = 804396576), line 487 in "abstract.h"
    function_code_fastcall(tstate = 0x00000082, co = 0x00000087, args = 0x2ff21e90, nargs = 0, globals = 0x3004c070), line 41 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = 0x102f4474, f = (nil), throwflag = 804397104), line 487 in "abstract.h"
    function_code_fastcall(tstate = 0x3004ca50, co = 0x3004c688, args = 0x2ff21ff0, nargs = 537163844, globals = 0x10073e78), line 41 in "pycore_ceval.h"
    object_vacall(tstate = 0x20062d98, base = 0x20063c48, callable = 0x2ff22050, vargs = warning: Unable to access address 0x482822cf from core
    (invalid char ptr (0x482822cf))), line 62 in "abstract.h"
    _PyObject_CallMethodIdObjArgs(obj = (nil), name = 0x20025dc0, ... = 0x3008d778, 0x3003c488, 0x0, 0x3003ad88, 0x3003acc8, 0x3003ace8), line 895 in "call.c"
    import_find_and_load(tstate = 0x2004185c, abs_name = (nil)), line 1767 in "import.c"
    unnamed block in PyImport_ImportModuleLevelObject(name = 0x30084d70, globals = (nil), locals = 0x103b2490, fromlist = 0x2003acc8, level = 804397488), line 1881 in "import.c"
    PyImport_ImportModuleLevelObject(name = 0x30084d70, globals = (nil), locals = 0x103b2490, fromlist = 0x2003acc8, level = 804397488), line 1881 in "import.c"
    builtin___import__(self = 0x100bde94, args = 0x00000010, kwds = 0x2ff22220), line 280 in "bltinmodule.c"
    cfunction_call(func = 0x20063c48, args = 0x3003c3e8, kwargs = (nil)), line 464 in "methodobject.c"
    _PyObject_MakeTpCall(tstate = (nil), callable = 0x2ff2235c, args = 0x2ff22300, nargs = 673718991, keywords = 0x100bbd94), line 191 in "call.c"
    _PyObject_CallFunctionVa(tstate = 0x61f122d6, callable = (nil), format = warning: Unable to access address 0xdeadbeef from core
    (invalid char ptr (0xdeadbeef)), va = (nil), is_size_t = 0), line 65596 in "abstract.h"
    PyObject_CallFunction(callable = 0x3003c488, format = "OOOOi", ... = 0x3008d778, 0x30084dc0, 0x30084dc0, 0x3006af48, 0x0, 0x0), line 577 in "call.c"
    PyImport_Import(module_name = 0x2ff22540), line 2082 in "import.c"
    PyImport_ImportModule(name = "\200A"), line 1485 in "import.c"
    PyImport_ImportModuleNoBlock(name = "`"), line 1503 in "import.c"
    _PyCodecRegistry_Init(), line 1541 in "codecs.c"
    _PyCodec_Forget(encoding = warning: Unable to access address 0x61f122d6 from core
    (invalid char ptr (0x61f122d6))), line 122 in "codecs.c"
    init_stdio_encoding(tstate = 0x2ff22614), line 15915 in "unicodeobject.c"
    init_fs_encoding(tstate = 0x20007e20), line 16028 in "unicodeobject.c"
    _PyUnicode_InitEncodings(tstate = 0x2ff22730), line 16044 in "unicodeobject.c"
    init_interp_main(tstate = 0x00000001), line 1006 in "pylifecycle.c"
    pyinit_main(tstate = 0x200009f0), line 1097 in "pylifecycle.c"
    Py_InitializeFromConfig(config = (nil)), line 1141 in "pylifecycle.c"
    pymain_init(args = 0xf066a338), line 66 in "main.c"
    pymain_main(args = 0x00000001), line 653 in "main.c"
    Py_BytesMain(argc = -559038737, argv = 0xdeadbeef), line 686 in "main.c"
    python.main(argc = 0, argv = (nil)), line 15 in "python.c"
    (dbx)

    (dbx) registers
    $r0:0xd011d900 $stkp:0x2ff20d40 $toc:0xf0648838 $r3:0x3fefffff
    $r4:0x200898bf $r5:0x00000008 $r6:0x2000f098 $r7:0x00000012
    $r8:0x00556367 $r9:0x0a5f696d $r10:0x80000000 $r11:0x7f7f7f7f
    $r12:0xf0641f5c $r13:0x80000000 $r14:0x00000001 $r15:0x3004713c
    $r16:0x30047130 $r17:0x3003c668 $r18:0x20038844 $r19:0x30094078
    $r20:0x3007bbc8 $r21:0x3004642c $r22:0x30046428 $r23:0x00000000
    $r24:0x20087710 $r25:0x00000012 $r26:0x00000001 $r27:0x00000005
    $r28:0x300a9980 $r29:0x2000f528 $r30:0x00000000 $r31:0x00000008
    $iar:0xd011d920 $msr:0x0000d032 $cr:0x44288468 $link:0x1025a524
    $ctr:0x00000008 $xer:0x00000010
    Condition status = 0:g 1:g 2:e 3:l 4:l 5:g 6:ge 7:l
    [unset $noflregs to view floating point registers]
    [unset $novregs to view vector registers]
    [unset $novsregs to view vector scalar registers]
    in strncmp at 0xd011d920 ($t1)
    0xd011d920 (strncmp+0x20) 88030001 lbz r0,0x1(r3)

    (dbx) listi strncmp
    0xd011d900 (strncmp) 7c832040 cmpl cr1,0x0,r3,r4
    0xd011d904 (strncmp+0x4) 2c050000 cmpi cr0,0x0,r5,0x0
    0xd011d908 (strncmp+0x8) 4186003c beq cr1,0xd011d944 (strncmp+0x44)
    0xd011d90c (strncmp+0xc) 3863ffff addi r3,-1(r3)
    0xd011d910 (strncmp+0x10) 41820034 beq 0xd011d944 (strncmp+0x44)
    0xd011d914 (strncmp+0x14) 3884ffff addi r4,-1(r4)
    0xd011d918 (strncmp+0x18) 7ca903a6 mtctr r5
    0xd011d91c (strncmp+0x1c) 60210000 ori r1,r1,0x0
    0xd011d920 (strncmp+0x20) 88030001 lbz r0,0x1(r3)
    0xd011d924 (strncmp+0x24) 38630001 addi r3,0x1(r3)

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 5, 2020

    OK - merely added some fprintf statements.

    When it is working as expected, the k->type values seem to be between 500 and 535 - when it fails the k->type value is frequently 9 digits (e.g., 537120904) - and it seems to never become -1 -- which would end the loop and "RETURN NAME".

    One working example...

    NAMEPTR: 20089d44, name_len:6 strlen(name):4472 name.16s:
    import aliases

    token: 20030d30, k_type:500, strlen(k->str):6 k->str.16s:
    return

    token: 20030d38, k_type:505, strlen(k->str):6 k->str.16s:
    assert

    token: 20030d4, k_type:508, strlen(k->str):6 k->str.16s:
    global

    token: 20030d48, k_type:513, strlen(k->str):6 k->str.16s:
    import

    RETURN k->type: 513 from k-str.16:import

    And a failed (abbreviated) that ends with the segmentation error:

    NAMEPTR: 20089d60, name_len:8 strlen(name):4444 name.16s:
    _unknown = '--un

    token: 2000f340, k_type:537120904, strlen(k->str):0 k->str.16s:

    token: 2000f348, k_type:271488524, strlen(k->str):8 k->str.16s:
    d z▒

    token: 2000f350, k_type:805316552, strlen(k->str):0 k->str.16s:

    token: 2000f358, k_type:368, strlen(k->str):11 k->str.16s:
    __setitem__

    token: 2000f360, k_type:537120928, strlen(k->str):8 k->str.16s:
    <▒ z▒

    token: 2000f368, k_type:0, strlen(k->str):61 k->str.16s:
    __setitem__($sel

    token: 2000f370, k_type:271482672, strlen(k->str):0 k->str.16s:

    ...
    token: 2000f730, k_type:0, strlen(k->str):0 k->str.16s:

    token: 2000f738, k_type:0, strlen(k->str):0 k->str.16s:

    token: 2000f740, k_type:0, strlen(k->str):0 k->str.16s:

    token: 2000f748, k_type:0, strlen(k->str):0 k->str.16s:

    token: 2000f750, k_type:0, strlen(k->str):0 k->str.16s:

    token: 2000f758, k_type:0, strlen(k->str):0 k->str.16s:

    token: 2000f760, k_type:0, strlen(k->str):0 k->str.16s:

    token: 2000f768, k_type:0, strlen(k->str):0 k->str.16s:

    token: 2000f770, k_type:271810528, strlen(k->str):0 k->str.16s:

    token: 2000f778, k_type:0, strlen(k->str):0 k->str.16s:

    token: 2000f780, k_type:271810512, strlen(k->str):4 k->str.16s:
    real

    token: 2000f788, k_type:0, strlen(k->str):0 k->str.16s:

    /bin/sh: 8847524 Segmentation fault(coredump)
    make: 1254-004 The error code from the last command is 139.

    Hope this helps. I really do not know 'WHERE' it went wrong. I can only begin by guessing. So, expert guidance is appreciated!

    @pablogsal
    Copy link
    Member

    Unfortunately, I am having a hard time parsing your error description because is not immediate to distinguish:

    • What is the error.
    • Where does the error happen.
    • How to reproduce the error.

    Could you kindly provide more scoped information about these points so we can look into it?

    @pablogsal
    Copy link
    Member

    Michael, can you try with this patch:

    diff --git a/Parser/pegen.c b/Parser/pegen.c
    index 53e3d49138..7faeec26ad 100644
    --- a/Parser/pegen.c
    +++ b/Parser/pegen.c
    @@ -528,7 +528,7 @@ _get_keyword_or_name_type(Parser *p, const char *name, int name_len)
         if (name_len >= p->n_keyword_lists || p->keywords[name_len] == NULL) {
             return NAME;
         }
    -    for (KeywordToken *k = p->keywords[name_len]; k->type != -1; k++) {
    +    for (KeywordToken *k = p->keywords[name_len]; k != NULL && k->type != -1; k++) {
             if (strncmp(k->str, name, name_len) == 0) {
                 return k->type;
             }

    For whatever reasons, it seems that me are calling into _get_keyword_or_name_type with a name_len of 0.

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 5, 2020

    Iirc, my debug shows that k is not NULL, as k++ is not going to suddenly become smaller. And my debug shows it grows by a constant.

    My gut says the pointer to the base of the tokens is wrong, because the key types are such different values. Or do you know that those are valid types?

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 6, 2020

    My apologies for lack of context.

    On 05/07/2020 20:27, Pablo Galindo Salgado wrote:

    Pablo Galindo Salgado <pablogsal@gmail.com> added the comment:

    Unfortunately, I am having a hard time parsing your error description because is not immediate to distinguish:

    • What is the error.
      crash - segmentation error.
    • Where does the error happen.
      During python initialization.
    • How to reproduce the error.

    The error occurs during make

    root@x066:[/data/prj/python/bpo-41215]make
            xlc_r -g -c  -DNDEBUG -O -I/opt/include -O2 -qmaxmem=-1
    -qarch=pwr5 -O    -I../git/bpo-41215/Include/internal -IObjects
    -IInclude -IPython -I. -I../git/bpo-41215/Include -I/opt/include  
    -DPy_BUILD_CORE -o Parser/pegen/pegen.o
    ../git/bpo-41215/Parser/pegen/pegen.c
            xlc_r -g -c  -DNDEBUG -O -I/opt/include -O2 -qmaxmem=-1
    -qarch=pwr5 -O    -I../git/bpo-41215/Include/internal -IObjects
    -IInclude -IPython -I. -I../git/bpo-41215/Include -I/opt/include  
    -DPy_BUILD_CORE  -DGITVERSION=""LC_ALL=C ""  -DGITTAG=""LC_ALL=C ""  -DGITBRANCH=""LC_ALL=C ""  -o Modules/getbuildinfo.o
    ../git/bpo-41215/Modules/getbuildinfo.c
            rm -f libpython3.9.a
            ar rcs libpython3.9.a Modules/getbuildinfo.o  Parser/acceler.o 
    Parser/grammar1.o  Parser/listnode.o  Parser/node.o  Parser/parser.o 
    Parser/token.o   Parser/pegen/pegen.o  Parser/pegen/parse.o 
    Parser/pegen/parse_string.o  Parser/pegen/peg_api.o Parser/myreadline.o
    Parser/parsetok.o Parser/tokenizer.o  Objects/abstract.o 
    Objects/accu.o  Objects/boolobject.o  Objects/bytes_methods.o 
    Objects/bytearrayobject.o  Objects/bytesobject.o  Objects/call.o 
    Objects/capsule.o  Objects/cellobject.o  Objects/classobject.o 
    Objects/codeobject.o  Objects/complexobject.o  Objects/descrobject.o 
    Objects/enumobject.o  Objects/exceptions.o 
    Objects/genericaliasobject.o  Objects/genobject.o  Objects/fileobject.o 
    Objects/floatobject.o  Objects/frameobject.o  Objects/funcobject.o 
    Objects/interpreteridobject.o  Objects/iterobject.o 
    Objects/listobject.o  Objects/longobject.o  Objects/dictobject.o 
    Objects/odictobject.o  Objects/memoryobject.o  Objects/methodobject.o 
    Objects/moduleobject.o  Objects/namespaceobject.o  Objects/object.o 
    Objects/obmalloc.o  Objects/picklebufobject.o  Objects/rangeobject.o 
    Objects/setobject.o  Objects/sliceobject.o  Objects/structseq.o 
    Objects/tupleobject.o  Objects/typeobject.o  Objects/unicodeobject.o 
    Objects/unicodectype.o  Objects/weakrefobject.o  Python/_warnings.o 
    Python/Python-ast.o  Python/asdl.o  Python/ast.o  Python/ast_opt.o 
    Python/ast_unparse.o  Python/bltinmodule.o  Python/ceval.o 
    Python/codecs.o  Python/compile.o  Python/context.o 
    Python/dynamic_annotations.o  Python/errors.o  Python/frozenmain.o 
    Python/future.o  Python/getargs.o  Python/getcompiler.o 
    Python/getcopyright.o  Python/getplatform.o  Python/getversion.o 
    Python/graminit.o  Python/hamt.o  Python/import.o  Python/importdl.o 
    Python/initconfig.o  Python/marshal.o  Python/modsupport.o 
    Python/mysnprintf.o  Python/mystrtoul.o  Python/pathconfig.o 
    Python/peephole.o  Python/preconfig.o  Python/pyarena.o 
    Python/pyctype.o  Python/pyfpe.o  Python/pyhash.o  Python/pylifecycle.o 
    Python/pymath.o  Python/pystate.o  Python/pythonrun.o  Python/pytime.o 
    Python/bootstrap_hash.o  Python/structmember.o  Python/symtable.o 
    Python/sysmodule.o  Python/thread.o  Python/traceback.o 
    Python/getopt.o  Python/pystrcmp.o  Python/pystrtod.o 
    Python/pystrhex.o  Python/dtoa.o  Python/formatter_unicode.o 
    Python/fileutils.o  Python/dynload_shlib.o        Modules/config.o 
    Modules/getpath.o  Modules/main.o  Modules/gcmodule.o 
    Modules/posixmodule.o  Modules/errnomodule.o  Modules/pwdmodule.o 
    Modules/_sre.o  Modules/_codecsmodule.o  Modules/_weakref.o 
    Modules/_functoolsmodule.o  Modules/_operator.o 
    Modules/_collectionsmodule.o  Modules/_abc.o  Modules/itertoolsmodule.o 
    Modules/atexitmodule.o  Modules/signalmodule.o  Modules/_stat.o 
    Modules/timemodule.o  Modules/_threadmodule.o  Modules/_localemodule.o 
    Modules/_iomodule.o Modules/iobase.o Modules/fileio.o Modules/bytesio.o
    Modules/bufferedio.o Modules/textio.o Modules/stringio.o 
    Modules/faulthandler.o  Modules/_tracemalloc.o Modules/hashtable.o 
    Modules/_peg_parser.o  Modules/symtablemodule.o  Modules/xxsubtype.o 
    Python/frozen.o
            ../git/bpo-41215/Modules/makexp_aix Modules/python.exp .
    libpython3.9.a;  xlc_r -g     -Wl,-bE:Modules/python.exp -lld -o python
    Programs/python.o libpython3.9.a -lintl -ldl  -lm   -lm
             ./python -E -S -m sysconfig --generate-posix-vars ; if test $?
    -ne 0 ; then  echo "generate-posix-vars failed" ;  rm -f
    ./pybuilddir.txt ;  exit 1 ;  fi
    /bin/sh: 5242890 Segmentation fault(coredump)
    make: 1254-004 The error code from the last command is 139.

    Stop.

    And can be repeated by just trying to start the executable:

    root@x066:[/data/prj/python/bpo-41215]./python
    Segmentation fault(coredump)

    Could you kindly provide more scoped information about these points so we can look into it?

    ----------


    Python tracker <report@bugs.python.org>
    <https://bugs.python.org/issue41215\>


    @pablogsal
    Copy link
    Member

    I tried compiling Python 3.10 with XLC on AIX and I get a crash in a different place that does not involve the parser:

    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x300b5190, throwflag = 0), line 427 in "object.h"
    _PyEval_EvalCode(tstate = 0x10024050, _co = 0x30048238, globals = 0x2ff1b440, locals = 0x20043d14, args = 0x10024654, argcount = 806053032, kwnames = 0x2ff1b450, kwargs = 0x300a8b20, kwcount = 0, kwstep = 2,
    defs = (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil), qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(co = 0x10030d78, globals = 0x300aca40, locals = 0x300a9808, args = (nil), argcount = 0, kwnames = 0x300a0ad0, kwargs = 0x2ff1b4e0, kwcount = 805747592, kwstep = 2, defs = (nil), defc
    ount = 0, kwdefs = (nil), closure = (nil), name = (nil), qualname = (nil)), line 4397 in "ceval.c"
    PyEval_EvalCodeEx(co = 0x3009c9d4, globals = 0x104f4bd8, locals = 0x20044f40, args = (nil), argcount = 2, kws = (nil), kwcount = 804369808, defs = 0x300847c8, defcount = 0, kwdefs = (nil), closure = (nil)),
    line 4415 in "ceval.c"
    builtin___build_class
    (self = 0x10121d9c, args = 0x300a8b20, nargs = 804369888, kwnames = 0x20043d14), line 222 in "bltinmodule.c"
    cfunction_vectorcall_FASTCALL_KEYWORDS(func = 0x1022a424, args = 0x3009d090, nargsf = 804370000, kwnames = 0x20043d14), line 440 in "methodobject.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x300ac900, throwflag = 0), line 114 in "abstract.h"
    _PyEval_EvalCode(tstate = 0x3009c9d4, _co = 0x104f4bd8, globals = 0x20044f40, locals = 0x300887d8, args = 0x30088774, argcount = 84, kwnames = 0x30088784, kwargs = 0x00000006, kwcount = 0, kwstep = 2, defs =
    (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil), qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(_co = 0x00000002, globals = 0x200764e0, locals = (nil), args = 0x30041e68, argcount = 805670664, kwnames = 0x300a8b20, kwargs = 0x2ff1bda0, kwcount = 537148692, kwstep = 2, defs = (ni
    l), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil), qualname = (nil)), line 4397 in "ceval.c"
    PyEval_EvalCodeEx(_co = 0x100e6a6c, globals = 0x00000060, locals = 0x2ff1bdf0, args = 0x20000440, argcount = 536901064, kws = 0x20007820, kwcount = 804371984, defs = 0x20043d14, defcount = 0, kwdefs = (nil),
    closure = (nil)), line 4415 in "ceval.c"
    PyEval_EvalCode(co = 0x1012ad08, globals = 0x10504de8, locals = 0x300b82f8), line 857 in "ceval.c"
    builtin_exec_impl(module = 0x30066704, source = 0x30089a30, globals = 0x30041e68, locals = 0xcfd41162), line 1035 in "bltinmodule.c"
    builtin_exec(module = 0x3006686c, args = 0x300734d8, nargs = 0), line 371 in "bltinmodule.c.h"
    cfunction_vectorcall_FASTCALL(func = 0x300734d8, args = 0x200764e0, nargsf = 804372448, kwnames = (nil)), line 443 in "methodobject.c"
    PyVectorcall_Call(callable = 0x3005dad8, tuple = 0xffffffff, kwargs = 0x2ff1bff0), line 249 in "call.c"
    _PyObject_Call(tstate = 0x101185e0, callable = 0x30058ed8, args = 0x2ff1c030, kwargs = (nil)), line 265 in "call.c"
    unnamed block in do_call_core(tstate = 0x100bf40c, func = 0x30089a30, callargs = (nil), kwdict = (nil)), line 5142 in "ceval.c"
    unnamed block in do_call_core(tstate = 0x100bf40c, func = 0x30089a30, callargs = (nil), kwdict = (nil)), line 5142 in "ceval.c"
    do_call_core(tstate = 0x100bf40c, func = 0x30089a30, callargs = (nil), kwdict = (nil)), line 5142 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x3009c8a0, throwflag = 0), line 3603 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x00000002, _co = 0x200746f0, globals = 0x300a97d8, locals = 0x200764e0, args = 0x200764e0, argcount = 804375636, kwnames = 0x200486e0, kwargs = 0xde5cc1d8, kwcount = 0, kwstep = 1,
    defs = (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = 0x3001aba8, qualname = 0x3001aba8), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x0000000e, stack = 0x20007820, nargsf = 804374496, kwnames = 0x84882224), line 410 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x3006ba40, throwflag = 0), line 114 in "abstract.h"
    unnamed block in function_code_fastcall(tstate = 0x00000002, co = (nil), args = (nil), nargs = 805657496, globals = 0x2ff1d350), line 40 in "pycore_ceval.h"
    function_code_fastcall(tstate = 0x00000002, co = (nil), args = (nil), nargs = 805657496, globals = 0x2ff1d350), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x3005d390, stack = 0x300586b8, nargsf = 536911832, kwnames = 0x30049178), line 378 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x300ad1b0, throwflag = 0), line 114 in "abstract.h"
    unnamed block in function_code_fastcall(tstate = 0x00000002, co = 0x200746f0, args = 0x300a97d8, nargs = 537355488, globals = 0x200764e0), line 40 in "pycore_ceval.h"
    function_code_fastcall(tstate = 0x00000002, co = 0x200746f0, args = 0x300a97d8, nargs = 537355488, globals = 0x200764e0), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x3007ce88, stack = 0x300a4468, nargsf = 804378112, kwnames = 0x20000440), line 378 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x3006ab20, throwflag = 0), line 114 in "abstract.h"
    unnamed block in function_code_fastcall(tstate = 0x00000002, co = 0x200746f0, args = 0x300a97d8, nargs = 537355488, globals = 0x200764e0), line 40 in "pycore_ceval.h"
    function_code_fastcall(tstate = 0x00000002, co = 0x200746f0, args = 0x300a97d8, nargs = 537355488, globals = 0x200764e0), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x1015971c, stack = (nil), nargsf = 804379888, kwnames = 0x20043d14), line 378 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x300ad030, throwflag = 0), line 114 in "abstract.h"
    unnamed block in function_code_fastcall(tstate = 0x101524f4, co = 0x30002068, args = 0x2ff1e350, nargs = 537148692, globals = 0x300a9b08), line 40 in "pycore_ceval.h"
    function_code_fastcall(tstate = 0x101524f4, co = 0x30002068, args = 0x2ff1e350, nargs = 537148692, globals = 0x300a9b08), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x100be45c, stack = 0x0000000a, nargsf = 0, kwnames = 0x20043d14), line 378 in "call.c"
    _PyObject_CallMethodIdObjArgs(obj = (nil), name = 0x20010dc0, ... = 0x300a97d8, 0x3004b450, 0x0, 0x1010101, 0x4f004942, 0x800000), line 882 in "call.c"
    import_find_and_load(tstate = 0x30087df0, abs_name = 0x200764e0), line 1765 in "import.c"
    PyImport_ImportModuleLevelObject(name = 0x300062f8, globals = 0x300a8618, locals = 0x2ff1e5c0, fromlist = 0x300aa280, level = 269622228), line 1866 in "import.c"
    import_name(tstate = 0x1022a424, f = 0x00000005, name = (nil), fromlist = 0x20043d14, level = (nil)), line 5234 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x30087df0, throwflag = 0), line 3120 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x30066704, _co = 0x104f4bd8, globals = 0x20044f40, locals = 0x3008873c, args = 0x300886cc, argcount = 96, kwnames = 0x300886dc, kwargs = 0x00000008, kwcount = 0, kwstep = 2, defs =
    (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil), qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(co = 0x00000002, globals = 0x200764e0, locals = (nil), args = 0x30041e68, argcount = 805670664, kwnames = 0x300a8618, kwargs = 0x2ff1ed80, kwcount = 537148692, kwstep = 2, defs = (ni
    l), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil), qualname = (nil)), line 4397 in "ceval.c"
    PyEval_EvalCodeEx(co = 0x100e6a6c, globals = 0x20007820, locals = 0x2ff1edd0, args = 0x88484224, argcount = 269815832, kws = 0x3003e770, kwcount = 2, defs = 0x00000001, defcount = 0, kwdefs = (nil), closure
    = (nil)), line 4415 in "ceval.c"
    PyEval_EvalCode(co = 0x101539b4, globals = 0x10504de8, locals = 0x300aa280), line 857 in "ceval.c"
    builtin_exec_impl(module = 0xdeadbeef, source = 0x30089a30, globals = 0x300a1390, locals = (nil)), line 1035 in "bltinmodule.c"
    builtin_exec(module = 0x3006e228, args = 0x300734d8, nargs = 0), line 371 in "bltinmodule.c.h"
    cfunction_vectorcall_FASTCALL(func = 0x300734d8, args = 0x200764e0, nargsf = 804384704, kwnames = 0xdeadbeef), line 443 in "methodobject.c"
    PyVectorcall_Call(callable = 0x3005dad8, tuple = 0xffffffff, kwargs = 0x2ff1efd0), line 249 in "call.c"
    _PyObject_Call(tstate = 0x101185e0, callable = 0x30058ed8, args = 0x2ff1f010, kwargs = 0xdeadbeef), line 265 in "call.c"
    unnamed block in do_call_core(tstate = 0x100bf40c, func = 0x30089a30, callargs = (nil), kwdict = 0xdeadbeef), line 5142 in "ceval.c"
    unnamed block in do_call_core(tstate = 0x100bf40c, func = 0x30089a30, callargs = (nil), kwdict = 0xdeadbeef), line 5142 in "ceval.c"
    do_call_core(tstate = 0x100bf40c, func = 0x30089a30, callargs = (nil), kwdict = 0xdeadbeef), line 5142 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x300665d0, throwflag = 0), line 3603 in "ceval.c"
    _PyEval_EvalCode(tstate = 0xdeadbeef, _co = 0x200746f0, globals = 0x300a6868, locals = 0x200764e0, args = 0x200764e0, argcount = 804387892, kwnames = 0x200486e0, kwargs = 0xde5cc1d8, kwcount = 0, kwstep = 1,
    defs = (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = 0x3001aba8, qualname = 0x3001aba8), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x3009a848, stack = 0x2ff22008, nargsf = 20, kwnames = 0x104f4bd8), line 410 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x3006b760, throwflag = 0), line 114 in "abstract.h"
    unnamed block in function_code_fastcall(tstate = 0xdeadbeef, co = (nil), args = (nil), nargs = 805657496, globals = 0x2ff20330), line 40 in "pycore_ceval.h"
    function_code_fastcall(tstate = 0xdeadbeef, co = (nil), args = (nil), nargs = 805657496, globals = 0x2ff20330), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x3005d390, stack = 0x300586b8, nargsf = 536911832, kwnames = 0x30049178), line 378 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x3006c930, throwflag = 0), line 114 in "abstract.h"
    unnamed block in function_code_fastcall(tstate = 0xdeadbeef, co = 0x200746f0, args = 0x300a6868, nargs = 537355488, globals = 0x200764e0), line 40 in "pycore_ceval.h"
    function_code_fastcall(tstate = 0xdeadbeef, co = 0x200746f0, args = 0x300a6868, nargs = 537355488, globals = 0x200764e0), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x3004df58, stack = 0x30092968, nargsf = 804390352, kwnames = 0x30038988), line 378 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x3006a350, throwflag = 0), line 114 in "abstract.h"
    unnamed block in function_code_fastcall(tstate = 0xdeadbeef, co = 0x200746f0, args = 0x300a6868, nargs = 537355488, globals = 0x200764e0), line 40 in "pycore_ceval.h"
    function_code_fastcall(tstate = 0xdeadbeef, co = 0x200746f0, args = 0x300a6868, nargs = 537355488, globals = 0x200764e0), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x1002a464, stack = (nil), nargsf = 804392224, kwnames = 0x20043d14), line 378 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x200764e0, f = 0x3006c7b0, throwflag = 0), line 114 in "abstract.h"
    unnamed block in function_code_fastcall(tstate = 0x101524f4, co = (nil), args = 0x20003018, nargs = 537148692, globals = 0x300a6898), line 40 in "pycore_ceval.h"
    function_code_fastcall(tstate = 0x101524f4, co = (nil), args = 0x20003018, nargs = 537148692, globals = 0x300a6898), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x100be45c, stack = 0x0000000a, nargsf = 0, kwnames = 0x20043d14), line 378 in "call.c"
    object_vacall(tstate = 0x100e2454, base = 0x200764e0, callable = 0x200746f0, vargs = (nil)), line 58 in "abstract.h"
    _PyObject_CallMethodIdObjArgs(obj = 0x30064880, name = 0x20010dc0, ... = 0x300a6868, 0x3004b450, 0x0, 0x1010101, 0x4f004942, 0x800000), line 882 in "call.c"
    import_find_and_load(tstate = (nil), abs_name = 0x3009a7a0), line 1765 in "import.c"
    PyImport_ImportModuleLevelObject(name = 0x3009a810, globals = 0x00000005, locals = 0x2ff215a0, fromlist = 0x200374d8, level = 804394368), line 1866 in "import.c"
    builtin___import
    (self = 0x1012a334, args = 0x00000002, kwds = 0x2ff21620), line 280 in "bltinmodule.c"
    cfunction_call(func = (nil), args = 0x200764e0, kwargs = (nil)), line 556 in "methodobject.c"
    _PyObject_MakeTpCall(tstate = 0x100d2a3c, callable = 0x3004b3f0, args = (nil), nargs = 537148692, keywords = (nil)), line 191 in "call.c"
    _PyObject_CallFunctionVa(tstate = 0x00000001, callable = 0x2ff22008, format = "/\362!I/\362!e/\362!v/\362"Z/\362"p/\362"~/\362$^A/\362$^\/\362$0/\362$G/\362%h/\362%|/\362%\234/\362%\314/\362&|/\362&\232/\362&
    \272/\362&\316/\362&\347/\362'$/\362'5/\362'a/\362'\267/\362'\306/\362'\333/\362(^Y/\362(4/\362(X/\362(c/\362(\213/\362(\235/\362(\274/\362(\311/\362(\350/\362*f/\362*t/\362*\215/\362*\235/\362*\274/\362*\323
    /\362*\375/\362+^H/\362++/\362+A/\362+a/\362+h/\362+r/\362+}/\362+\243/\362+\320/\362+\375/\362,^I/\362,6/\362,>/\362,S/\362,d/\362,o/\362,\200/\362,\213/\362-\206/\362-\262/\362-\305/\362-\327/\362.^I/\362.^
    Z/\362.'/\362.8/\362.V/\362.]/\362.u/\362.\211/\362.\230/\362.\355/\362.\370/\362/2", va = "", is_size_t = -559038737), line 65592 in "abstract.h"
    PyObject_CallFunction(callable = 0x1048af4c, format = "OOOOi", ... = 0x300a6868, 0x3009a810, 0x3009a810, 0x30086508, 0x0, 0x0), line 564 in "call.c"
    PyImport_Import(module_name = 0xdeadbeef), line 2067 in "import.c"
    PyImport_ImportModule(name = "\201\201"), line 1482 in "import.c"
    _PyCodecRegistry_Init(), line 1547 in "codecs.c"
    _PyCodec_Forget(encoding = "\177\200"), line 128 in "codecs.c"
    init_stdio_encoding(tstate = 0x00000008), line 15996 in "unicodeobject.c"
    init_fs_encoding(tstate = 0x200764e0), line 16110 in "unicodeobject.c"
    _PyUnicode_InitEncodings(tstate = 0x20000440), line 16126 in "unicodeobject.c"
    init_interp_main(tstate = 0x00000001), line 1016 in "pylifecycle.c"
    pyinit_main(tstate = (nil)), line 1107 in "pylifecycle.c"
    Py_InitializeFromConfig(config = (nil)), line 1151 in "pylifecycle.c"
    pymain_init(args = 0xf0a26210), line 66 in "main.c"
    pymain_main(args = 0x00000001), line 694 in "main.c"
    Py_BytesMain(argc = -559038737, argv = 0xdeadbeef), line 727 in "main.c"
    python.main(argc = 0, argv = (nil)), line 15 in "python.c"

    @pablogsal
    Copy link
    Member

    If I check out commit c5fc156 I get a crash, but not on master or 3.9 HEAD. So whatever error happens with XLC in the PEG parser c5fc156 seems that is already solved.

    Could you confirm that you get a a different crash (different backtrace) in master, Michael?

    @pablogsal
    Copy link
    Member

    Ok, I have investigated more and it seems that XLC is miscompiling the keyword list. For instance, if you add:

    index 9d3ac575df..70d431e6be 100644
    --- a/Parser/pegen/parse.c
    +++ b/Parser/pegen/parse.c
    @@ -1,6 +1,6 @@
    -// @generated by pegen.py from ./Grammar/python.gram
     #include "pegen.h"
    
    +// @generated by pegen.py from ./Grammar/python.gram
     #if defined(Py_DEBUG) && defined(Py_BUILD_CORE)
     extern int Py_DebugFlag;
     #define D(x) if (Py_DebugFlag) x;
    @@ -24735,7 +24735,12 @@ _PyPegen_parse(Parser *p)
         // Initialize keywords
         p->keywords = reserved_keywords;
         p->n_keyword_lists = n_keyword_lists;
    -
    +    for (int s=0; s<p->n_keyword_lists;s++) {
    +        KeywordToken *kk = p->keywords[s];
    +        if (kk) {
    +            printf("--> %i %.*s\n", s,s, kk->str);
    +        }
    +    }
         // Run parser
         void *result = NULL;
         if (p->start_rule == Py_file_input) {

    Before crashing, this will print the following:

    --> 2 if
    --> 3 del
    --> 4 pass
    --> 5 raise
    --> 6 return
    --> 7 finally
    --> 8
    --> 14 __peg_parser__
    Segmentation fault (core dumped)

    Notice that the entry for size 8 is missing. I don't understand why is missing because the data is static and there is an entry there:

    static KeywordToken *reserved_keywords[] = {
    NULL,
    NULL,
    (KeywordToken[]) {
    {"if", 510},
    {"in", 518},
    {"as", 520},
    {"is", 527},
    {"or", 532},
    {NULL, -1},
    },
    (KeywordToken[]) {
    {"del", 503},
    {"try", 511},
    {"for", 517},
    {"def", 523},
    {"not", 526},
    {"and", 533},
    {NULL, -1},
    },
    (KeywordToken[]) {
    {"pass", 502},
    {"from", 514},
    {"elif", 515},
    {"else", 516},
    {"with", 519},
    {"True", 528},
    {"None", 530},
    {NULL, -1},
    },
    (KeywordToken[]) {
    {"raise", 501},
    {"yield", 504},
    {"break", 506},
    {"while", 512},
    {"class", 524},
    {"False", 529},
    {NULL, -1},
    },
    (KeywordToken[]) {
    {"return", 500},
    {"assert", 505},
    {"global", 508},
    {"import", 513},
    {"except", 521},
    {"lambda", 525},
    {NULL, -1},
    },
    (KeywordToken[]) {
    {"finally", 522},
    {NULL, -1},
    },
    (KeywordToken[]) {
    {"continue", 507},
    {"nonlocal", 509},
    {NULL, -1},
    },
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    (KeywordToken[]) {
    {"__peg_parser__", 531},
    {NULL, -1},
    },
    };

    @pablogsal
    Copy link
    Member

    Ok, this is definitively something going on with XLC. This patch solves the segfault:

    diff --git a/Parser/pegen/parse.c b/Parser/pegen/parse.c
    index 9d3ac575df..e5511bf815 100644
    --- a/Parser/pegen/parse.c
    +++ b/Parser/pegen/parse.c
    @@ -1,6 +1,6 @@
    -// @generated by pegen.py from ./Grammar/python.gram
    -#include "pegen.h"
    
    +#include "pegen.h"
    +// @generated by pegen.py from ./Grammar/python.gram
     #if defined(Py_DEBUG) && defined(Py_BUILD_CORE)
     extern int Py_DebugFlag;
     #define D(x) if (Py_DebugFlag) x;
    @@ -9,8 +9,8 @@ extern int Py_DebugFlag;
     #endif
     static const int n_keyword_lists = 15;
     static KeywordToken *reserved_keywords[] = {
    -    NULL,
    -    NULL,
    +    (KeywordToken[]) {{NULL, -1}},
    +    (KeywordToken[]) {{NULL, -1}},
         (KeywordToken[]) {
             {"if", 510},
             {"in", 518},
    @@ -65,11 +65,11 @@ static KeywordToken *reserved_keywords[] = {
             {"nonlocal", 509},
             {NULL, -1},
         },
    -    NULL,
    -    NULL,
    -    NULL,
    -    NULL,
    -    NULL,
    +    (KeywordToken[]) {{NULL, -1}},
    +    (KeywordToken[]) {{NULL, -1}},
    +    (KeywordToken[]) {{NULL, -1}},
    +    (KeywordToken[]) {{NULL, -1}},
    +    (KeywordToken[]) {{NULL, -1}},
         (KeywordToken[]) {
             {"__peg_parser__", 531},
             {NULL, -1},
    @@ -24735,7 +24735,6 @@ _PyPegen_parse(Parser *p)
         // Initialize keywords
         p->keywords = reserved_keywords;
         p->n_keyword_lists = n_keyword_lists;
    -
         // Run parser
         void *result = NULL;
         if (p->start_rule == Py_file_input) {

    Is a C99 violation to have NULL elements in this array? (Michael, could you also double check that this patch solves it for you?)

    @pablogsal
    Copy link
    Member

    This is enough to reproduce the problem:

    #include <stdio.h>
    
    typedef struct {
        char *str;
        int type;
    } KeywordToken;

    static KeywordToken *the_array[] = {
    NULL,
    NULL,
    (KeywordToken[]) {
    {"if", 510},
    {"in", 518},
    {"as", 520},
    {"is", 527},
    {"or", 532},
    {NULL, -1},
    },
    NULL,
    NULL,
    (KeywordToken[]) {
    {"del11", 503},
    {"try22", 511},
    {NULL, -1},
    },
    NULL
    };

    int main() {
       for (int s=0; s<7;s++) {
          KeywordToken *tok = the_array[s];
          printf("--> %i\n",s);
          if (tok == NULL) {
             continue;
          }
          printf("--> %i %.*s\n", s,s, tok->str);
       }
       return 0;
    }

    [cpython (3.9)]$ xlc check_bad.c -o check_bad
    [cpython (3.9)]$ ./check_bad
    --> 0
    --> 1
    --> 2
    Segmentation fault (core dumped)

    But if you change it to:

    #include <stdio.h>
    
    typedef struct {
        char *str;
        int type;
    } KeywordToken;

    static KeywordToken *the_array[] = {
    (KeywordToken[]) {{NULL, -1}},
    (KeywordToken[]) {{NULL, -1}},
    (KeywordToken[]) {
    {"if", 510},
    {"in", 518},
    {"as", 520},
    {"is", 527},
    {"or", 532},
    {NULL, -1},
    },
    (KeywordToken[]) {{NULL, -1}},
    (KeywordToken[]) {{NULL, -1}},
    (KeywordToken[]) {
    {"del11", 503},
    {"try22", 511},
    {NULL, -1},
    },
    (KeywordToken[]) {{NULL, -1}},
    };

    int main() {
       for (int s=0; s<7;s++) {
          KeywordToken *tok = the_array[s];
          if (tok == NULL) {
             continue;
          }
          printf("--> %i %.*s\n", s,s, tok->str);
       }
       return 0;
    }

    [cpython (3.9)]$ xlc check.c -o check
    [cpython (3.9)]$ ./check
    --> 0
    --> 1
    --> 2 if
    --> 3
    --> 4
    --> 5 del11
    --> 6

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 6, 2020

    Glad you figured it out!

    I doubt I would have. Thx!!

    On 06/07/2020 14:37, Pablo Galindo Salgado wrote:

    Pablo Galindo Salgado <pablogsal@gmail.com> added the comment:

    This is enough to reproduce the problem:

    #include <stdio.h>

    typedef struct {
    char *str;
    int type;
    } KeywordToken;

    static KeywordToken *the_array[] = {
    NULL,
    NULL,
    (KeywordToken[]) {
    {"if", 510},
    {"in", 518},
    {"as", 520},
    {"is", 527},
    {"or", 532},
    {NULL, -1},
    },
    NULL,
    NULL,
    (KeywordToken[]) {
    {"del11", 503},
    {"try22", 511},
    {NULL, -1},
    },
    NULL
    };

    int main() {
    for (int s=0; s<7;s++) {
    KeywordToken *tok = the_array[s];
    printf("--> %i\n",s);
    if (tok == NULL) {
    continue;
    }
    printf("--> %i %.*s\n", s,s, tok->str);
    }
    return 0;
    }

    [cpython (3.9)]$ xlc check_bad.c -o check_bad
    [cpython (3.9)]$ ./check_bad
    --> 0
    --> 1
    --> 2
    Segmentation fault (core dumped)

    But if you change it to:

    #include <stdio.h>

    typedef struct {
    char *str;
    int type;
    } KeywordToken;

    static KeywordToken *the_array[] = {
    (KeywordToken[]) {{NULL, -1}},
    (KeywordToken[]) {{NULL, -1}},
    (KeywordToken[]) {
    {"if", 510},
    {"in", 518},
    {"as", 520},
    {"is", 527},
    {"or", 532},
    {NULL, -1},
    },
    (KeywordToken[]) {{NULL, -1}},
    (KeywordToken[]) {{NULL, -1}},
    (KeywordToken[]) {
    {"del11", 503},
    {"try22", 511},
    {NULL, -1},
    },
    (KeywordToken[]) {{NULL, -1}},
    };

    int main() {
    for (int s=0; s<7;s++) {
    KeywordToken *tok = the_array[s];
    if (tok == NULL) {
    continue;
    }
    printf("--> %i %.*s\n", s,s, tok->str);
    }
    return 0;
    }

    [cpython (3.9)]$ xlc check.c -o check
    [cpython (3.9)]$ ./check
    --> 0
    --> 1
    --> 2 if
    --> 3
    --> 4
    --> 5 del11
    --> 6

    ----------


    Python tracker <report@bugs.python.org>
    <https://bugs.python.org/issue41215\>


    @pablogsal
    Copy link
    Member

    Glad you figured it out!

    Well, this is not over ;)

    We should confirm that this is either a bug in XLC or a violation of C99

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 6, 2020

    On 06/07/2020 16:35, Pablo Galindo Salgado wrote:

    Pablo Galindo Salgado <pablogsal@gmail.com> added the comment:

    > Glad you figured it out!
    Well, this is not over ;)

    We should confirm that this is either a bug in XLC or a violation of C99

    probably a bug (that they might call a difference of implementation).

    I have been testing with xlc-v11; shall also try (your simplified
    example) using v13 and v16.

    ----------


    Python tracker <report@bugs.python.org>
    <https://bugs.python.org/issue41215\>


    @DavidEdelsohn
    Copy link
    Mannequin

    DavidEdelsohn mannequin commented Jul 6, 2020

    I don't believe that this is an XLC bug, but I suspect that it is undefined behavior / implementation-defined behavior.

    I suspect that this is tripping over AIX/XLC null behavior. AIX specifically and intentionally maps the first page of memory at address 0 to allow the compiler to speculate through NULL pointers. The compiler probably is speculating in this case and the second element is not defined.

    There is some option to disable this speculation in XLC.

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 6, 2020

    I tried check.c and check_bad.c using xlc-v11 (on my POWER6) - and the
    results were the same as in Pablo's entry.

    On the gcc119 host - using the v13 compiler, check_bad does not crash.
    Not gotten to testing xlc-v16 yet.

    I have seen lots of options today - wheile researching, so probably,
    yes. Just do not know it off the top.

    Atm - testing "master" build using xlc-v11 and xlc-v13.

    On 06/07/2020 18:13, David Edelsohn wrote:

    David Edelsohn <dje.gcc@gmail.com> added the comment:

    I don't believe that this is an XLC bug, but I suspect that it is undefined behavior / implementation-defined behavior.

    I suspect that this is tripping over AIX/XLC null behavior. AIX specifically and intentionally maps the first page of memory at address 0 to allow the compiler to speculate through NULL pointers. The compiler probably is speculating in this case and the second element is not defined.

    There is some option to disable this speculation in XLC.

    ----------


    Python tracker <report@bugs.python.org>
    <https://bugs.python.org/issue41215\>


    @pablogsal
    Copy link
    Member

    I don't believe that this is an XLC bug, but I suspect that it is undefined behavior / implementation-defined behavior.

    I was looking at the C99 standard but could not find anything that makes this undefined. Do you know what this construct is contradicting the standard on?

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 6, 2020

    Note: - two different systems, different HW, different OS levels.

    xlc-v11, master : commit deb0162 (HEAD
    -> master, upstream/master, upstream/HEAD)

    Segmentation fault in _PyEval_EvalFrameDefault at line 941 in file
    "../git/py39-3.10/Include/object.h" ($t1)
    "object.h" has only 659 lines
    (dbx) where
    _PyEval_EvalFrameDefault(tstate = 0x300af594, f = 0x00000017, throwflag
    = 15), line 941 in "object.h"
    _PyEval_EvalCode(tstate = 0x1001c454, _co = 0x30092520, globals =
    0x2ff20190, locals = 0x10324213, args = 0x100b2798, argcount = 44,
    kwnames = 0x2ff201b0, kwargs = 0x2228228f, kwcount = 0, kwstep = 2, defs
    = (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil),
    qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(co = 0x00000003, globals = 0x2ff20270, locals
    = 0x2ff20220, args = 0x2004426c, argcount = 806222336, kwnames = (nil),
    kwargs = 0x2ff20220, kwcount = 0, kwstep = 2, defs = (nil), defcount =
    0, kwdefs = (nil), closure = (nil), name = (nil), qualname = (nil)),
    line 4416 in "ceval.c"
    PyEval_EvalCodeEx(co = 0x10110c74, globals = 0x20095072, locals =
    (nil), args = 0x300af598, argcount = 806024596, kws = 0x200950aa,
    kwcount = 537481208, defs = 0x300bcf10, defcount = 0, kwdefs = (nil),
    closure = (nil)), line 4415 in "ceval.c"
    builtin___build_class
    (self = 0x100b8bdc, args = (nil), nargs =
    804389664, kwnames = 0x2004426c), line 222 in "bltinmodule.c"
    cfunction_vectorcall_FASTCALL_KEYWORDS(func = 0x20060d88, args =
    0x30046448, nargsf = 805553488, kwnames = 0x3004abb8), line 459 in
    "methodobject.c"
    _PyEval_EvalFrameDefault(tstate = 0x000001ff, f = 0x200012d0, throwflag
    = 804390000), line 628 in "abstract.h"
    _PyEval_EvalCode(tstate = 0x100d4eb4, _co = 0x3003f440, globals =
    0x300b2ca8, locals = 0x300b516c, args = 0x300b5168, argcount =
    805586012, kwnames = 0x30044450, kwargs = 0x30001028, kwcount = 0,
    kwstep = 2, defs = (nil), defcount = 0, kwdefs = (nil), closure = (nil),
    name = (nil), qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(_co = 0x3004abd8, globals = 0x300ac910, locals
    = 0x2ff205b0, args = 0x2004426c, argcount = 269191840, kwnames =
    0x2ff2060c, kwargs = 0xffffffff, kwcount = 0, kwstep = 2, defs = (nil),
    defcount = 0, kwdefs = (nil), closure = (nil), name = (nil), qualname =
    (nil)), line 4416 in "ceval.c"
    PyEval_EvalCodeEx(_co = 0x10090ab0, globals = 0x00000004, locals =
    0x30062be8, args = (nil), argcount = 805624984, kws = 0x20060d88,
    kwcount = 804390432, defs = 0x00000004, defcount = 0, kwdefs = (nil),
    closure = (nil)), line 4415 in "ceval.c"
    PyEval_EvalCode(co = 0x103a1254, globals = 0x103a153e, locals =
    0x300d1a48), line 857 in "ceval.c"
    builtin_exec_impl(module = 0x300b8ec8, source = 0x300671d8, globals =
    0x2002af08, locals = 0x300af170), line 1035 in "bltinmodule.c"
    builtin_exec(module = 0x30059f6c, args = 0x30050d20, nargs = 804390720),
    line 371 in "bltinmodule.c.h"
    cfunction_vectorcall_FASTCALL(func = 0x101c1120, args = 0x3006906c,
    nargsf = 805736544, kwnames = 0x2004426c), line 443 in "methodobject.c"
    PyVectorcall_Call(callable = 0xd0129a34, tuple = 0x3008c028, kwargs =
    0x2ff207f0), line 249 in "call.c"
    _PyObject_Call(tstate = 0x100b259c, callable = 0x30027ce2, args =
    0x2ff20850, kwargs = 0x0000000c), line 265 in "call.c"
    do_call_core(tstate = (nil), func = (nil), callargs = 0x3003c550, kwdict
    = 0x3004abb8), line 5142 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0xffffffff, f = 0x300b2268, throwflag
    = 805759592), line 3603 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x3005e9d8, _co = 0x30062290, globals = (nil),
    locals = 0x20026000, args = 0x300ac690, argcount = 805331176, kwnames =
    0x2ff20a60, kwargs = 0x422822cf, kwcount = 0, kwstep = 1, defs = (nil),
    defcount = 0, kwdefs = (nil), closure = (nil), name = 0x300197c8,
    qualname = 0x300197c8), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x3005dbac, stack = (nil), nargsf =
    805553488, kwnames = 0x30040960), line 417 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x10075ac4, f = 0x30090e10, throwflag
    = 804391856), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x300a4568, co = 0x3004a1b0, args =
    0x2000af50, nargs = 1, globals = 0x3004a688), line 40 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = (nil), f = 0x00000001, throwflag =
    804392192), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x3009116c, co = 0x30031176, args =
    0x30031160, nargs = 805622640, globals = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = 0x10075ac4, f = 0x20060d88, throwflag
    = 804392528), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x00000094, co = 0x000000ab, args =
    0x3003c550, nargs = 805702704, globals = 0x3004abd8), line 40 in
    "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = (nil), f = (nil), throwflag =
    804393056), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x3004ab90, co = 0x3004a7c8, args =
    0x2ff21020, nargs = 537150060, globals = 0x10073f98), line 40 in
    "pycore_ceval.h"
    object_vacall(tstate = 0x2005ee98, base = 0x20060d88, callable =
    0x2ff21080, vargs = warning: Unable to access address 0x482822cf from core
    (invalid char ptr (0x482822cf))), line 58 in "abstract.h"
    _PyObject_CallMethodIdObjArgs(obj = (nil), name = 0x20026118, ... =
    0x300a9de0, 0x3003c5c8, 0x0, 0x3003ade8, 0x3003ad28, 0x3003ad48), line
    901 in "call.c"
    import_find_and_load(tstate = 0x3003c5e8, abs_name = 0x300a9de0), line
    1765 in "import.c"
    unnamed block in PyImport_ImportModuleLevelObject(name = 0x300074a0,
    globals = 0x300b41c0, locals = (nil), fromlist = 0x103918f0, level =
    805307360), line 1885 in "import.c"
    PyImport_ImportModuleLevelObject(name = 0x300074a0, globals =
    0x300b41c0, locals = (nil), fromlist = 0x103918f0, level = 805307360),
    line 1885 in "import.c"
    import_name(tstate = 0x20060d88, f = 0x30046448, name = 0x3003c550,
    fromlist = 0x3004abb8, level = 0x3004abd8), line 5234 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0x000001ff, f = 0x200012d0, throwflag
    = 804393824), line 3120 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x100d4eb4, _co = 0x3003f440, globals =
    0x3008e908, locals = 0x30046f2c, args = 0x30046f28, argcount =
    805586012, kwnames = 0x30044450, kwargs = 0x30001028, kwcount = 0,
    kwstep = 2, defs = (nil), defcount = 0, kwdefs = (nil), closure = (nil),
    name = (nil), qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(co = 0x3004abd8, globals = 0x30090d48, locals
    = 0x2ff214a0, args = 0x2004426c, argcount = 269191840, kwnames =
    0x2002e470, kwargs = 0xffffffff, kwcount = 0, kwstep = 2, defs = (nil),
    defcount = 0, kwdefs = (nil), closure = (nil), name = (nil), qualname =
    (nil)), line 4416 in "ceval.c"
    PyEval_EvalCodeEx(co = 0x10090ab0, globals = 0x00000004, locals =
    0x30062be8, args = (nil), argcount = 805624984, kws = 0x20060d88,
    kwcount = 804394256, defs = 0x00000004, defcount = 0, kwdefs = (nil),
    closure = (nil)), line 4415 in "ceval.c"
    PyEval_EvalCode(co = 0x103a1254, globals = 0x103a153e, locals =
    0x300b41c0), line 857 in "ceval.c"
    builtin_exec_impl(module = 0x300b2288, source = 0x300671d8, globals =
    0x2002af08, locals = 0x300af170), line 1035 in "bltinmodule.c"
    builtin_exec(module = 0x30059f6c, args = 0x30050d20, nargs = 804394544),
    line 371 in "bltinmodule.c.h"
    cfunction_vectorcall_FASTCALL(func = 0x101c1120, args = 0x3006906c,
    nargsf = 805736544, kwnames = 0x2004426c), line 443 in "methodobject.c"
    PyVectorcall_Call(callable = 0xd0129a34, tuple = 0x3008c028, kwargs =
    0x2ff216e0), line 249 in "call.c"
    _PyObject_Call(tstate = 0x100b259c, callable = 0x30027ce2, args =
    0x2ff21740, kwargs = 0x0000000c), line 265 in "call.c"
    do_call_core(tstate = (nil), func = (nil), callargs = 0x3003c550, kwdict
    = 0x3004abb8), line 5142 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0xffffffff, f = 0x3008e188, throwflag
    = 805758120), line 3603 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x3005e9d8, _co = 0x30062290, globals = (nil),
    locals = 0x20026000, args = 0x30090d20, argcount = 805331176, kwnames =
    0x2ff21950, kwargs = 0x422822cf, kwcount = 0, kwstep = 1, defs = (nil),
    defcount = 0, kwdefs = (nil), closure = (nil), name = 0x300197c8,
    qualname = 0x300197c8), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x3005d8bc, stack = (nil), nargsf =
    805553488, kwnames = 0x30040960), line 417 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x10075ac4, f = 0x30088a00, throwflag
    = 804395680), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x30087520, co = 0x3004a1b0, args =
    0x2000af50, nargs = 1, globals = 0x3004a688), line 40 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = (nil), f = 0x00000001, throwflag =
    804396016), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x3004289c, co = 0x30031176, args =
    0x30031160, nargs = 805622640, globals = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = 0x10075ac4, f = 0x20060d88, throwflag
    = 804396352), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x00000094, co = 0x000000ab, args =
    0x3003c550, nargs = 0, globals = 0x3004abd8), line 40 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = 0x102e59dc, f = (nil), throwflag =
    804396880), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x3004ab90, co = 0x3004a7c8, args =
    0x2ff21f10, nargs = 537150060, globals = 0x10073f98), line 40 in
    "pycore_ceval.h"
    object_vacall(tstate = 0x2005ee98, base = 0x20060d88, callable =
    0x2ff21f70, vargs = warning: Unable to access address 0x482822cf from core
    (invalid char ptr (0x482822cf))), line 58 in "abstract.h"
    _PyObject_CallMethodIdObjArgs(obj = (nil), name = 0x20026118, ... =
    0x3008d520, 0x3003c5c8, 0x0, 0x3003ade8, 0x3003ad28, 0x3003ad48), line
    901 in "call.c"
    import_find_and_load(tstate = 0x2003e4a0, abs_name = (nil)), line 1765
    in "import.c"
    unnamed block in PyImport_ImportModuleLevelObject(name = 0x30085e10,
    globals = (nil), locals = 0x103a18c0, fromlist = 0x20037780, level =
    804397264), line 1885 in "import.c"
    PyImport_ImportModuleLevelObject(name = 0x30085e10, globals = (nil),
    locals = 0x103a18c0, fromlist = 0x20037780, level = 804397264), line
    1885 in "import.c"
    builtin___import
    (self = 0x100bead4, args = 0x00000010, kwds =
    0x2ff22140), line 280 in "bltinmodule.c"
    cfunction_call(func = 0x20060d88, args = 0x3003c528, kwargs = (nil)),
    line 537 in "methodobject.c"
    _PyObject_MakeTpCall(tstate = (nil), callable = 0x2ff2227c, args =
    0x2ff22220, nargs = 673718991, keywords = 0x100bc874), line 197 in "call.c"
    _PyObject_CallFunctionVa(tstate = 0xa23d56d8, callable = (nil), format =
    warning: Unable to access address 0xdeadbeef from core
    (invalid char ptr (0xdeadbeef)), va = (nil), is_size_t = 0), line 65592
    in "abstract.h"
    PyObject_CallFunction(callable = 0x3003c5c8, format = "OOOOi", ... =
    0x3008d520, 0x30085e60, 0x30085e60, 0x3006afe8, 0x0, 0x0), line 583 in
    "call.c"
    PyImport_Import(module_name = 0x2ff22460), line 2086 in "import.c"
    PyImport_ImportModule(name = "\200A"), line 1482 in "import.c"
    PyImport_ImportModuleNoBlock(name = "`"), line 1500 in "import.c"
    _PyCodecRegistry_Init(), line 1547 in "codecs.c"
    _PyCodec_Forget(encoding = warning: Unable to access address 0xa23d56d8
    from core
    (invalid char ptr (0xa23d56d8))), line 128 in "codecs.c"
    init_stdio_encoding(tstate = 0x2ff22534), line 15996 in "unicodeobject.c"
    init_fs_encoding(tstate = 0x20008148), line 16110 in "unicodeobject.c"
    _PyUnicode_InitEncodings(tstate = 0x200010f0), line 16126 in
    "unicodeobject.c"
    init_interp_main(tstate = 0x00000001), line 1016 in "pylifecycle.c"
    pyinit_main(tstate = 0x200010f0), line 1107 in "pylifecycle.c"
    Py_InitializeFromConfig(config = (nil)), line 1151 in "pylifecycle.c"
    pymain_init(args = 0xf066a338), line 66 in "main.c"
    pymain_main(args = 0x00000001), line 694 in "main.c"
    Py_BytesMain(argc = -559038737, argv = 0xdeadbeef), line 727 in "main.c"
    python.main(argc = 0, argv = (nil)), line 15 in "python.c"
    (dbx)

    +++++++++++++ xlc-v13 +++++++++++++

    Looks about the same: master : commit
    deb0162

    aixtools@gcc119:[/home/aixtools/python/cpython]dbx ./python core
    Type 'help' for help.
    [using memory image in core]
    reading symbolic information ...

    Segmentation fault in _PyEval_EvalFrameDefault at line 1125 in file
    "Include/object.h" ($t1)
    "object.h" has only 659 lines
    (dbx) where
    _PyEval_EvalFrameDefault(tstate = 0x100f6370, f = (nil), throwflag =
    537443004), line 1125 in "object.h"
    _PyEval_EvalCode(tstate = 0x1001eb04, _co = 0x30039ae8, globals =
    0x2ff1ffc0, locals = 0x20044858, args = 0x1001ede4, argcount =
    806047904, kwnames = 0x2ff1ffa0, kwargs = 0x103b0233, kwcount = 0,
    kwstep = 2, defs = (nil), defcount = 0, kwdefs = (nil), closure = (nil),
    name = (nil), qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(co = 0x1013e6b8, globals = 0x300ae5a0, locals
    = 0x300bcec8, args = 0x20044858, argcount = 536872576, kwnames = (nil),
    kwargs = 0x2ff20030, kwcount = -2077998513, kwstep = 2, defs = (nil),
    defcount = 0, kwdefs = (nil), closure = (nil), name = (nil), qualname =
    (nil)), line 4397 in "ceval.c"
    PyEval_EvalCodeEx(co = 0x101332d0, globals = 0x2000d9a8, locals =
    0x300ae598, args = 0x2009d4ba, argcount = 537515016, kws = 0x30083e68,
    kwcount = 805435232, defs = 0x300bcec8, defcount = 0, kwdefs = (nil),
    closure = (nil)), line 4415 in "ceval.c"
    builtin___build_class
    (self = 0x100bab9c, args = 0x3003c550, nargs =
    804389168, kwnames = 0x20044858), line 222 in "bltinmodule.c"
    cfunction_vectorcall_FASTCALL_KEYWORDS(func = 0x100fbdb4, args =
    0x300d0538, nargsf = 804389264, kwnames = 0x20044858), line 459 in
    "methodobject.c"
    _PyEval_EvalFrameDefault(tstate = 0x30016988, f = 0x200673d8, throwflag
    = 805399252), line 812 in "abstract.h"
    _PyEval_EvalCode(tstate = 0x00000004, _co = 0x200654a4, globals =
    0x00000043, locals = 0x00000001, args = (nil), argcount = 537293784,
    kwnames = 0x300b716c, kwargs = 0x3004447c, kwcount = 0, kwstep = 2, defs
    = (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil),
    qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(_co = 0x200654ac, globals = 0x300dce38, locals
    = 0x300abd20, args = 0x300b1ca8, argcount = 806169160, kwnames =
    0x300abd20, kwargs = 0x2ff203d0, kwcount = 804390176, kwstep = 2, defs =
    (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil),
    qualname = (nil)), line 4397 in "ceval.c"
    PyEval_EvalCodeEx(_co = 0x100abe24, globals = 0x200654a4, locals =
    0x300ae190, args = 0x10407c00, argcount = 806019444, kws = 0x200673d8,
    kwcount = 804389952, defs = (nil), defcount = 0, kwdefs = (nil), closure
    = (nil)), line 4415 in "ceval.c"
    PyEval_EvalCode(co = 0x101fb228, globals = 0x10417960, locals =
    0x300d2a48), line 857 in "ceval.c"
    IPRA.$builtin_exec_impl(module = 0x1008cd6c, source = 0x30046448,
    globals = 0x2ff204d0, locals = 0x20044858), line 1035 in "bltinmodule.c"
    builtin_exec(module = 0x30059f7c, args = (nil), nargs = 805536424), line
    371 in "bltinmodule.c.h"
    cfunction_vectorcall_FASTCALL(func = 0x200003c8, args = 0x300b8e60,
    nargsf = 804390272, kwnames = 0x200673d8), line 424 in "methodobject.c"
    PyVectorcall_Call(callable = 0x100f94b4, tuple = 0x20006888, kwargs =
    0x2ff20600), line 249 in "call.c"
    _PyObject_Call(tstate = 0x300b7028, callable = 0x200673d8, args =
    0x2ff20640, kwargs = 0x10407c00), line 265 in "call.c"
    do_call_core(tstate = (nil), func = (nil), callargs = 0x2ff206a0, kwdict
    = 0x3004abb8), line 5130 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0x30027cb0, f = 0x30063aa8, throwflag
    = 805628416), line 3603 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x300462e8, _co = 0x200673d8, globals =
    0x2ff20840, locals = 0x48242242, args = 0x1008ddd0, argcount =
    805896992, kwnames = 0x2ff20840, kwargs = 0x20044858, kwcount = 0,
    kwstep = 1, defs = (nil), defcount = 0, kwdefs = (nil), closure = (nil),
    name = 0x300197c8, qualname = 0x300197c8), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x100b2d30, stack = 0x200654a4, nargsf =
    804391088, kwnames = 0x3000c254), line 398 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x3004a098, f = 0x30090320, throwflag
    = 804391328), line 812 in "abstract.h"
    unnamed block in IPRA.$function_code_fastcall(tstate = 0x1008bc64, co =
    0x200673d8, args = 0x2ff20a00, nargs = 537151576, globals = 0x1008ddd0),
    line 40 in "pycore_ceval.h"
    IPRA.$function_code_fastcall(tstate = 0x1008bc64, co = 0x200673d8, args
    = 0x2ff20a00, nargs = 537151576, globals = 0x1008ddd0), line 40 in
    "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x10141878, stack = 0x3004a1b0, nargsf =
    804391520, kwnames = 0x10407c00), line 366 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x200324d0, f = 0x30056c88, throwflag
    = 805698224), line 812 in "abstract.h"
    unnamed block in IPRA.$function_code_fastcall(tstate = 0x100b6a14, co =
    0x200654a4, args = 0x2ff20bc0, nargs = 537151576, globals = 0x3005f958),
    line 40 in "pycore_ceval.h"
    IPRA.$function_code_fastcall(tstate = 0x100b6a14, co = 0x200654a4, args
    = 0x2ff20bc0, nargs = 537151576, globals = 0x3005f958), line 40 in
    "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x200654ac, stack = 0x200654a4, nargsf =
    805904756, kwnames = 0x3003116e), line 366 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x100b4834, f = 0x30035b40, throwflag
    = 804392240), line 812 in "abstract.h"
    unnamed block in IPRA.$function_code_fastcall(tstate = 0x100b6a14, co =
    0x200673d8, args = 0x2ff20d80, nargs = 537151576, globals = 0x1008ddd0),
    line 40 in "pycore_ceval.h"
    IPRA.$function_code_fastcall(tstate = 0x100b6a14, co = 0x200673d8, args
    = 0x2ff20d80, nargs = 537151576, globals = 0x1008ddd0), line 40 in
    "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0xd0584b0c, stack = 0x200673d8, nargsf =
    537285796, kwnames = 0xf02ff01c), line 366 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x10085584, f = 0x300a9da0, throwflag
    = 805547336), line 812 in "abstract.h"
    unnamed block in IPRA.$function_code_fastcall(tstate = (nil), co =
    (nil), args = 0x2ff20f40, nargs = 805508802, globals = 0x10058d4c), line
    40 in "pycore_ceval.h"
    IPRA.$function_code_fastcall(tstate = (nil), co = (nil), args =
    0x2ff20f40, nargs = 805508802, globals = 0x10058d4c), line 40 in
    "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x3004a7c8, stack = 0x3004ab90, nargsf =
    804392896, kwnames = (nil)), line 366 in "call.c"
    IPRA.$object_vacall(tstate = 0x100a8ee8, base = 0x30035ac8, callable =
    0x2ff21030, vargs = "j^Aj^B|^Ak^Er2|"), line 58 in "abstract.h"
    _PyObject_CallMethodIdObjArgs(obj = 0x300a9da0, name = 0x2000d9f0, ... =
    0x300a9da0, 0x3003c5c8, 0x0, 0x3003ae08, 0x3003ad48, 0x3003ad68), line
    901 in "call.c"
    IPRA.$import_find_and_load(tstate = 0x300b3028, abs_name = 0x200673d8),
    line 1765 in "import.c"
    PyImport_ImportModuleLevelObject(name = 0x00000002, globals =
    0x200654a4, locals = 0x2ff21160, fromlist = 0x00000001, level =
    269199964), line 1866 in "import.c"
    IPRA.$import_name(tstate = 0x100fbdb4, f = 0x300b2ad8, name =
    0x2ff211c0, fromlist = 0x20044858, level = 0x100c57c8), line 5234 in
    "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0x30016988, f = 0x200673d8, throwflag
    = 805399252), line 3120 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x00000004, _co = 0x200654a4, globals =
    0x00000043, locals = 0x00000001, args = (nil), argcount = 537293784,
    kwnames = 0x30046f2c, kwargs = 0x3004447c, kwcount = 0, kwstep = 2, defs
    = (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil),
    qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(co = 0x200654ac, globals = 0x30090208, locals
    = 0x30090190, args = 0x3008e8c8, argcount = 806027712, kwnames =
    0x30090190, kwargs = 0x2ff21400, kwcount = 804394320, kwstep = 2, defs =
    (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil),
    qualname = (nil)), line 4397 in "ceval.c"
    PyEval_EvalCodeEx(co = 0x100abe24, globals = 0x200654a4, locals =
    (nil), args = 0x10407c00, argcount = 536914064, kws = 0x200673d8,
    kwcount = 804394096, defs = (nil), defcount = 0, kwdefs = (nil), closure
    = (nil)), line 4415 in "ceval.c"
    PyEval_EvalCode(co = 0x101fb228, globals = 0x10417960, locals =
    0x300b01c0), line 857 in "ceval.c"
    IPRA.$builtin_exec_impl(module = 0x1008cd6c, source = 0x30046448,
    globals = 0x2ff21500, locals = 0x20044858), line 1035 in "bltinmodule.c"
    builtin_exec(module = 0x2006fcd8, args = 0x30068028, nargs = 805740328),
    line 371 in "bltinmodule.c.h"
    cfunction_vectorcall_FASTCALL(func = 0x200003c8, args = 0x300b1220,
    nargsf = 804394416, kwnames = 0x200673d8), line 424 in "methodobject.c"
    PyVectorcall_Call(callable = 0x100f94b4, tuple = 0x20006888, kwargs =
    0x2ff21630), line 249 in "call.c"
    _PyObject_Call(tstate = 0x30046de8, callable = 0x200673d8, args =
    0x2ff21670, kwargs = 0x10407c00), line 265 in "call.c"
    do_call_core(tstate = (nil), func = (nil), callargs = 0x2ff216d0, kwdict
    = 0x3004abb8), line 5130 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0x30027cb0, f = 0x30063aa8, throwflag
    = 805628416), line 3603 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x30046c88, _co = 0x200673d8, globals =
    0x2ff21870, locals = 0x48242242, args = 0x1008ddd0, argcount =
    805896512, kwnames = 0x2ff21870, kwargs = 0x20044858, kwcount = 0,
    kwstep = 1, defs = (nil), defcount = 0, kwdefs = (nil), closure = (nil),
    name = 0x300197c8, qualname = 0x300197c8), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x100b2d30, stack = 0x200654a4, nargsf =
    805685444, kwnames = 0x3000c254), line 398 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x3004a098, f = 0x30090140, throwflag
    = 804395472), line 812 in "abstract.h"
    unnamed block in IPRA.$function_code_fastcall(tstate = 0x1008bc64, co =
    0x200673d8, args = 0x2ff21a30, nargs = 537151576, globals = 0x1008ddd0),
    line 40 in "pycore_ceval.h"
    IPRA.$function_code_fastcall(tstate = 0x1008bc64, co = 0x200673d8, args
    = 0x2ff21a30, nargs = 537151576, globals = 0x1008ddd0), line 40 in
    "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x10141878, stack = 0x3004a1b0, nargsf =
    804395664, kwnames = 0x10407c00), line 366 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x200324d0, f = 0x30056c88, throwflag
    = 805696656), line 812 in "abstract.h"
    unnamed block in IPRA.$function_code_fastcall(tstate = 0x100b6a14, co =
    0x200654a4, args = 0x2ff21bf0, nargs = 537151576, globals = 0x3005f338),
    line 40 in "pycore_ceval.h"
    IPRA.$function_code_fastcall(tstate = 0x100b6a14, co = 0x200654a4, args
    = 0x2ff21bf0, nargs = 537151576, globals = 0x3005f338), line 40 in
    "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x200654ac, stack = 0x200654a4, nargsf =
    805578916, kwnames = 0x3003116e), line 366 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x100b4834, f = 0x30035b40, throwflag
    = 804396384), line 812 in "abstract.h"
    unnamed block in IPRA.$function_code_fastcall(tstate = 0x100b6a14, co =
    0x200673d8, args = 0x2ff21db0, nargs = 537151576, globals = 0x1008ddd0),
    line 40 in "pycore_ceval.h"
    IPRA.$function_code_fastcall(tstate = 0x100b6a14, co = 0x200673d8, args
    = 0x2ff21db0, nargs = 537151576, globals = 0x1008ddd0), line 40 in
    "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x30040788, stack = 0x30067f40, nargsf =
    804396592, kwnames = 0x2ff21f68), line 366 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x10085584, f = 0x3008d930, throwflag
    = 805547336), line 812 in "abstract.h"
    unnamed block in IPRA.$function_code_fastcall(tstate = 0x10396408, co =
    0x10351cc8, args = 0x2ff21f70, nargs = -559038737, globals =
    0x10058d4c), line 40 in "pycore_ceval.h"
    IPRA.$function_code_fastcall(tstate = 0x10396408, co = 0x10351cc8, args
    = 0x2ff21f70, nargs = -559038737, globals = 0x10058d4c), line 40 in
    "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x3004a7c8, stack = 0x3004ab90, nargsf =
    804397040, kwnames = (nil)), line 366 in "call.c"
    IPRA.$object_vacall(tstate = 0x100a8ee8, base = 0x30035ac8, callable =
    0x2ff22060, vargs = ""), line 58 in "abstract.h"
    _PyObject_CallMethodIdObjArgs(obj = 0x3008d930, name = 0x2000d9f0, ... =
    0x3008d930, 0x3003c5c8, 0x0, 0x3003ae08, 0x3003ad48, 0x3003ad68), line
    901 in "call.c"
    IPRA.$import_find_and_load(tstate = 0x300872a8, abs_name = 0x3003c5c8),
    line 1765 in "import.c"
    PyImport_ImportModuleLevelObject(name = 0x100b3b8c, globals =
    0x30087258, locals = 0x2ff22180, fromlist = 0x20037f68, level =
    804397424), line 1866 in "import.c"
    builtin___import
    (self = 0x100c0e34, args = 0xdeadbeef, kwds =
    0x3003c528), line 280 in "bltinmodule.c"
    cfunction_call(func = 0x103a3ee8, args = 0x200673d8, kwargs = (nil)),
    line 556 in "methodobject.c"
    _PyObject_MakeTpCall(tstate = 0x1009c318, callable = 0x3003c528, args =
    (nil), nargs = 537151576, keywords = 0x1008cd6c), line 191 in "call.c"
    IPRA.$_PyObject_CallFunctionVa(tstate = 0x00000006, callable =
    0x2ff22b98, format =
    "/\362,Z/\362,e/\362,p/\362,\177/\362,\223/\362,\244/\362,\306/\362-R/\362-c/\362-v/\362-\207/\362-\225/\362-\263/\362-\314/\362-\347/\362-\365/\362.^F/\362.^P/\362.^^/\362.3/\362.G/\362.j/\362.\236/\362.\251/\362.\305/\362.\347/\362.\357/\362.\376",
    va = "0^F\177\2300^F\177\2000^H\33100", is_size_t = -559038737), line
    65592 in "abstract.h"
    PyObject_CallFunction(callable = 0x103a5bf8, format = "OOOOi", ... =
    0x3008d930, 0x300872a8, 0x300872a8, 0x3006bf88, 0x0, 0x0), line 564 in
    "call.c"
    PyImport_Import(module_name = 0x10132904), line 2086 in "import.c"
    PyImport_ImportModule(name = ""), line 1482 in "import.c"
    _PyCodecRegistry_Init(), line 1547 in "codecs.c"
    _PyCodec_Forget(encoding = warning: Unable to access address 0x460d2abe
    from core
    (invalid char ptr (0x460d2abe))), line 128 in "codecs.c"
    init_stdio_encoding(tstate = 0x00000008), line 15996 in "unicodeobject.c"
    init_fs_encoding(tstate = 0x2ff22600), line 16110 in "unicodeobject.c"
    _PyUnicode_InitEncodings(tstate = (nil)), line 16126 in "unicodeobject.c"
    IPRA.$init_interp_main(tstate = 0x00000001), line 1016 in "pylifecycle.c"
    pyinit_main(tstate = (nil)), line 1107 in "pylifecycle.c"
    Py_InitializeFromConfig(config = 0xf0301cd4), line 1151 in "pylifecycle.c"
    IPRA.$pymain_init(args = 0x2ff22aa0), line 66 in "main.c"
    pymain_main(args = 0x00000006), line 694 in "main.c"
    Py_BytesMain(argc = -559038737, argv = 0xdeadbeef), line 727 in "main.c"
    python.main(argc = 0, argv = (nil)), line 15 in "python.c"
    (dbx)

    On 06/07/2020 18:57, Pablo Galindo Salgado wrote:

    Pablo Galindo Salgado <pablogsal@gmail.com> added the comment:

    > I don't believe that this is an XLC bug, but I suspect that it is undefined behavior / implementation-defined behavior.
    I was looking at the C99 standard but could not find anything that makes this undefined. Do you know what this construct is contradicting the standard on?

    ----------


    Python tracker <report@bugs.python.org>
    <https://bugs.python.org/issue41215\>


    @DavidEdelsohn
    Copy link
    Mannequin

    DavidEdelsohn mannequin commented Jul 6, 2020

    Maybe XLC was being overly aggressive with speculation and it now is fixed. I can't tell if Michael's earlier comment meant that it no longer crashes with XLC v16.

    @pablogsal
    Copy link
    Member

    Well, in any case, I will submit a patch today to the parser generator to substitute the NULL for single-element arrays which seems to work.

    Michael, could you confirm that this patch works for you:

    diff --git a/Parser/pegen/parse.c b/Parser/pegen/parse.c
    index 9d3ac575df..e5511bf815 100644
    --- a/Parser/pegen/parse.c
    +++ b/Parser/pegen/parse.c
    @@ -1,6 +1,6 @@
    -// @generated by pegen.py from ./Grammar/python.gram
    -#include "pegen.h"
    
    +#include "pegen.h"
    +// @generated by pegen.py from ./Grammar/python.gram
     #if defined(Py_DEBUG) && defined(Py_BUILD_CORE)
     extern int Py_DebugFlag;
     #define D(x) if (Py_DebugFlag) x;
    @@ -9,8 +9,8 @@ extern int Py_DebugFlag;
     #endif
     static const int n_keyword_lists = 15;
     static KeywordToken *reserved_keywords[] = {
    -    NULL,
    -    NULL,
    +    (KeywordToken[]) {{NULL, -1}},
    +    (KeywordToken[]) {{NULL, -1}},
         (KeywordToken[]) {
             {"if", 510},
             {"in", 518},
    @@ -65,11 +65,11 @@ static KeywordToken *reserved_keywords[] = {
             {"nonlocal", 509},
             {NULL, -1},
         },
    -    NULL,
    -    NULL,
    -    NULL,
    -    NULL,
    -    NULL,
    +    (KeywordToken[]) {{NULL, -1}},
    +    (KeywordToken[]) {{NULL, -1}},
    +    (KeywordToken[]) {{NULL, -1}},
    +    (KeywordToken[]) {{NULL, -1}},
    +    (KeywordToken[]) {{NULL, -1}},
         (KeywordToken[]) {
             {"__peg_parser__", 531},
             {NULL, -1},
    @@ -24735,7 +24735,6 @@ _PyPegen_parse(Parser *p)
         // Initialize keywords
         p->keywords = reserved_keywords;
         p->n_keyword_lists = n_keyword_lists;
    -
         // Run parser
         void *result = NULL;
         if (p->start_rule == Py_file_input) {

    @lysnikolaou
    Copy link
    Contributor

    Pablo, I can do that as well, if you don't have the time.

    @pablogsal
    Copy link
    Member

    Pablo, I can do that as well, if you don't have the time.

    Thanks! I had the PR ready, just needed some time to push it :)

    @miss-islington
    Copy link
    Contributor

    New changeset 54f115d by Pablo Galindo in branch '3.9':
    [3.9] bpo-41215: Don't use NULL by default in the PEG parser keyword list (GH-21355) (GH-21356)
    54f115d

    @miss-islington
    Copy link
    Contributor

    New changeset 1ac0cbc by Pablo Galindo in branch 'master':
    bpo-41215: Don't use NULL by default in the PEG parser keyword list (GH-21355)
    1ac0cbc

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 6, 2020

    I also tested xlC v16, and then it just hung, for hours - while all of you were being more productive.

    I’ll kickoff my bot again, and see how it goes.

    Sent from my iPhone

    On 6 Jul 2020, at 21:31, miss-islington <report@bugs.python.org> wrote:

    
    miss-islington <mariatta.wijaya+miss-islington@gmail.com> added the comment:

    New changeset 1ac0cbc by Pablo Galindo in branch 'master':
    bpo-41215: Don't use NULL by default in the PEG parser keyword list (GH-21355)
    1ac0cbc

    ----------


    Python tracker <report@bugs.python.org>
    <https://bugs.python.org/issue41215\>


    @pablogsal
    Copy link
    Member

    Michael, could you check the latest master and 3.9 HEAD? If you don;t see the problem anymore, we can close this issue :)

    @lysnikolaou
    Copy link
    Contributor

    Pablo, on second thought, should we maybe change the assertion to assert(name_len > 0)?

    @pablogsal
    Copy link
    Member

    Pablo, on second thought, should we maybe change the assertion to assert(name_len > 0)?

    Yup, although not sure how that can happen (but I agree that's the point of assertions *wink*) Can you prepare a PR?

    @lysnikolaou
    Copy link
    Contributor

    Can you prepare a PR?

    Done.

    @lysnikolaou
    Copy link
    Contributor

    New changeset 782f44b by Lysandros Nikolaou in branch 'master':
    bpo-41215: Make assertion in the new parser more strict (GH-21364)
    782f44b

    @miss-islington
    Copy link
    Contributor

    New changeset edeaf61 by Miss Islington (bot) in branch '3.9':
    bpo-41215: Make assertion in the new parser more strict (GH-21364)
    edeaf61

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 7, 2020

    I saw the mails last night and restarted my bot - it still fails.
    Checking manually for master, 3.9, 3.8 and 3.7 branches. Will let you
    know asap.

    Yes - expecting 3.8 and 3.7 to build, but want to be sure.

    On 06/07/2020 23:34, Pablo Galindo Salgado wrote:

    Pablo Galindo Salgado <pablogsal@gmail.com> added the comment:

    Michael, could you check the latest master and 3.9 HEAD? If you don;t see the problem anymore, we can close this issue :)

    ----------


    Python tracker <report@bugs.python.org>
    <https://bugs.python.org/issue41215\>


    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 7, 2020

    On 07/07/2020 11:12, Michael Felt wrote:

    Michael Felt <aixtools@felt.demon.nl> added the comment:

    I saw the mails last night and restarted my bot - it still fails.
    Checking manually for master, 3.9, 3.8 and 3.7 branches. Will let you
    3.7, 3.8 and 3.9 built, master does not. Will provide more info on
    master later.
    know asap.

    Yes - expecting 3.8 and 3.7 to build, but want to be sure.

    On 06/07/2020 23:34, Pablo Galindo Salgado wrote:
    > Pablo Galindo Salgado <pablogsal@gmail.com> added the comment:
    >
    > Michael, could you check the latest master and 3.9 HEAD? If you don;t see the problem anymore, we can close this issue :)
    >
    > ----------
    >
    > _______________________________________
    > Python tracker <report@bugs.python.org>
    > <https://bugs.python.org/issue41215\>
    > _______________________________________
    >
    ----------


    Python tracker <report@bugs.python.org>
    <https://bugs.python.org/issue41215\>


    @pablogsal
    Copy link
    Member

    Master has to be something else then....

    @aixtools
    Copy link
    Contributor Author

    aixtools commented Jul 7, 2020

    Here is the stack trace - still during initialization: And in "ceval.c,
    but dbx does not like how the 'h files are being used: line 941 and 659
    lines don't match :(

    (dbx) list
    "object.h" has only 659 lines

    Segmentation fault in _PyEval_EvalFrameDefault at line 941 in file
    "../git/py39-3.10/Include/object.h" ($t1)
    "object.h" has only 659 lines
    (dbx) where
    _PyEval_EvalFrameDefault(tstate = 0x3009c9d0, f = 0x00000017, throwflag
    = 15), line 941 in "object.h"
    _PyEval_EvalCode(tstate = 0x1001c454, _co = 0x3009c250, globals =
    0x2ff20260, locals = 0x10324233, args = 0x100b2798, argcount = 44,
    kwnames = 0x2ff20280, kwargs = 0x2228228f, kwcount = 0, kwstep = 2, defs
    = (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil),
    qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(co = 0x00000003, globals = 0x2ff20340, locals
    = 0x2ff202f0, args = 0x2004429c, argcount = 805945904, kwnames = (nil),
    kwargs = 0x2ff202f0, kwcount = 0, kwstep = 2, defs = (nil), defcount =
    0, kwdefs = (nil), closure = (nil), name = (nil), qualname = (nil)),
    line 4416 in "ceval.c"
    PyEval_EvalCodeEx(co = 0x10110c74, globals = 0x200817a2, locals =
    (nil), args = 0x30091598, argcount = 805901716, kws = 0x200817da,
    kwcount = 537401128, defs = 0x30078f58, defcount = 0, kwdefs = (nil),
    closure = (nil)), line 4415 in "ceval.c"
    builtin___build_class
    (self = 0x100b8bdc, args = (nil), nargs =
    804389872, kwnames = 0x2004429c), line 222 in "bltinmodule.c"
    cfunction_vectorcall_FASTCALL_KEYWORDS(func = 0x100d5e54, args = (nil),
    nargsf = 805553488, kwnames = 0x3004658c), line 459 in "methodobject.c"
    _PyEval_EvalFrameDefault(tstate = 0x300912d8, f = 0x30050c8c, throwflag
    = 805485032), line 628 in "abstract.h"
    _PyEval_EvalCode(tstate = 0x10110c74, _co = 0x3004abb8, globals =
    0x30095fa8, locals = 0x3009d16c, args = 0x3009d168, argcount =
    805586012, kwnames = 0x30044450, kwargs = 0x30001028, kwcount = 0,
    kwstep = 2, defs = (nil), defcount = 0, kwdefs = (nil), closure = (nil),
    name = (nil), qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(_co = 0x3004abd8, globals = 0x30092258, locals
    = 0x2ff20680, args = 0x2004429c, argcount = 269191840, kwnames =
    0x300550e0, kwargs = 0x2ff20680, kwcount = 1109926476, kwstep = 2, defs
    = (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil),
    qualname = (nil)), line 4416 in "ceval.c"
    PyEval_EvalCodeEx(_co = 0x10090ab0, globals = (nil), locals =
    0xf0653ea8, args = 0xf0653ea8, argcount = 0, kws = 0x20082720, kwcount =
    804390704, defs = 0x2228228f, defcount = 0, kwdefs = (nil), closure =
    (nil)), line 4415 in "ceval.c"
    PyEval_EvalCode(co = 0x103a1274, globals = 0x103a155e, locals =
    0x30099978), line 857 in "ceval.c"
    builtin_exec_impl(module = 0x300912c4, source = 0x30050cb8, globals =
    0x20060a78, locals = 0x00000002), line 1035 in "bltinmodule.c"
    builtin_exec(module = 0x100d58b4, args = 0x30050cb8, nargs = 0), line
    371 in "bltinmodule.c.h"
    cfunction_vectorcall_FASTCALL(func = 0xffffffff, args = 0x30050b80,
    nargsf = 804391008, kwnames = 0x2004429c), line 443 in "methodobject.c"
    PyVectorcall_Call(callable = 0x1001e5cc, tuple = 0x20060a78, kwargs =
    0x2ff208c0), line 249 in "call.c"
    _PyObject_Call(tstate = 0x100b259c, callable = 0x30027ce2, args =
    0x2ff20920, kwargs = 0x2004429c), line 265 in "call.c"
    do_call_core(tstate = 0x00000002, func = 0x20026bc0, callargs =
    0x2ff20990, kwdict = 0x3004abb8), line 5142 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0xffffffff, f = 0x3004a070, throwflag
    = 804391536), line 3603 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x3005e9b0, _co = 0x30062290, globals = (nil),
    locals = 0x20026020, args = 0x300922f8, argcount = 805331176, kwnames =
    0x2ff20b30, kwargs = 0x422822cf, kwcount = 0, kwstep = 1, defs = (nil),
    defcount = 0, kwdefs = (nil), closure = (nil), name = 0x300197c8,
    qualname = 0x300197c8), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x3005dbac, stack = (nil), nargsf =
    805553488, kwnames = 0x30040960), line 417 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x10075ac4, f = 0x300921b8, throwflag
    = 804392064), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x30087538, co = 0x3004a1b0, args =
    0x2000af70, nargs = 1, globals = 0x3004a688), line 40 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = (nil), f = 0x00000001, throwflag =
    804392400), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x30042fcc, co = 0x30031176, args =
    0x30031160, nargs = 805622640, globals = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = 0x10075ac4, f = 0x20060a78, throwflag
    = 804392736), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x000000e0, co = 0x0000009c, args =
    0x3003c550, nargs = -528718917, globals = 0x3004abd8), line 40 in
    "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = (nil), f = (nil), throwflag =
    804393264), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x3004ab90, co = 0x3004a7c8, args =
    0x2ff210f0, nargs = 537150108, globals = 0x10073f98), line 40 in
    "pycore_ceval.h"
    object_vacall(tstate = 0x2005ec18, base = 0x20060a78, callable =
    0x2ff21150, vargs = warning: Unable to access address 0x482822cf from core
    (invalid char ptr (0x482822cf))), line 58 in "abstract.h"
    _PyObject_CallMethodIdObjArgs(obj = (nil), name = 0x20026138, ... =
    0x3008e920, 0x3003c5c8, 0x0, 0x3003ade8, 0x3003ad28, 0x3003ad48), line
    901 in "call.c"
    import_find_and_load(tstate = 0x3003c5e8, abs_name = 0x3008e920), line
    1765 in "import.c"
    unnamed block in PyImport_ImportModuleLevelObject(name = 0x100b7374,
    globals = 0x300930f0, locals = (nil), fromlist = 0x10391910, level =
    805307360), line 1885 in "import.c"
    PyImport_ImportModuleLevelObject(name = 0x100b7374, globals =
    0x300930f0, locals = (nil), fromlist = 0x10391910, level = 805307360),
    line 1885 in "import.c"
    import_name(tstate = 0x100d5e54, f = (nil), name = 0x3003c550, fromlist
    = 0x3004658c, level = 0x3004abd8), line 5234 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0x300912d8, f = 0x30050c8c, throwflag
    = 805485032), line 3120 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x30091190, _co = 0x3004abb8, globals =
    0x3008ea28, locals = 0x3004642c, args = 0x30046428, argcount =
    805586012, kwnames = 0x30044450, kwargs = 0x30001028, kwcount = 0,
    kwstep = 2, defs = (nil), defcount = 0, kwdefs = (nil), closure = (nil),
    name = (nil), qualname = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalCodeWithName(co = 0x3004abd8, globals = 0x30090d48, locals
    = 0x2ff21570, args = 0x2004429c, argcount = 269191840, kwnames =
    0x300550e0, kwargs = 0x2ff21570, kwcount = -2111298996, kwstep = 2, defs
    = (nil), defcount = 0, kwdefs = (nil), closure = (nil), name = (nil),
    qualname = (nil)), line 4416 in "ceval.c"
    PyEval_EvalCodeEx(co = 0x10090ab0, globals = (nil), locals =
    0xf0653ea8, args = 0xf0653ea8, argcount = 0, kws = 0x20082720, kwcount =
    804394528, defs = 0x222822cf, defcount = 0, kwdefs = (nil), closure =
    (nil)), line 4415 in "ceval.c"
    PyEval_EvalCode(co = 0x103a1274, globals = 0x103a155e, locals =
    0x300930f0), line 857 in "ceval.c"
    builtin_exec_impl(module = 0x300912c4, source = 0x30050cb8, globals =
    0x20060a78, locals = 0x00000002), line 1035 in "bltinmodule.c"
    builtin_exec(module = 0x100d58b4, args = 0x30050cb8, nargs = 0), line
    371 in "bltinmodule.c.h"
    cfunction_vectorcall_FASTCALL(func = 0xffffffff, args = 0x30050b80,
    nargsf = 804394832, kwnames = 0x2004429c), line 443 in "methodobject.c"
    PyVectorcall_Call(callable = 0x2ff21870, tuple = 0x30003870, kwargs =
    0x2ff217d0), line 249 in "call.c"
    _PyObject_Call(tstate = 0x100b259c, callable = 0x30027ce2, args =
    0x2ff21810, kwargs = 0x0000000c), line 265 in "call.c"
    do_call_core(tstate = 0x00000002, func = 0x20026bc0, callargs =
    0x2ff21880, kwdict = 0x3004abb8), line 5142 in "ceval.c"
    _PyEval_EvalFrameDefault(tstate = 0xffffffff, f = 0x3004a070, throwflag
    = 804395360), line 3603 in "ceval.c"
    _PyEval_EvalCode(tstate = 0x3005e9b0, _co = 0x30062290, globals = (nil),
    locals = 0x20026020, args = 0x30090d20, argcount = 805331176, kwnames =
    0x2ff21a20, kwargs = 0x422822cc, kwcount = 0, kwstep = 1, defs = (nil),
    defcount = 0, kwdefs = (nil), closure = (nil), name = 0x300197c8,
    qualname = 0x300197c8), line 40 in "pycore_ceval.h"
    _PyFunction_Vectorcall(func = 0x3005d8bc, stack = (nil), nargsf =
    805553488, kwnames = 0x30040960), line 417 in "call.c"
    _PyEval_EvalFrameDefault(tstate = 0x10075ac4, f = 0x300889d8, throwflag
    = 804395888), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x30087478, co = 0x3004a1b0, args =
    0x2000af70, nargs = 1, globals = 0x3004a688), line 40 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = (nil), f = 0x00000001, throwflag =
    804396224), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x3004289c, co = 0x30031176, args =
    0x30031160, nargs = 805622640, globals = (nil)), line 40 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = 0x10075ac4, f = 0x20060a78, throwflag
    = 804396560), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x000000e0, co = 0x0000009c, args =
    0x3003c550, nargs = 0, globals = 0x3004abd8), line 40 in "pycore_ceval.h"
    _PyEval_EvalFrameDefault(tstate = 0x102e59fc, f = (nil), throwflag =
    804397088), line 628 in "abstract.h"
    function_code_fastcall(tstate = 0x3004ab90, co = 0x3004a7c8, args =
    0x2ff21fe0, nargs = 537150108, globals = 0x10073f98), line 40 in
    "pycore_ceval.h"
    object_vacall(tstate = 0x2005ec18, base = 0x20060a78, callable =
    0x2ff22040, vargs = warning: Unable to access address 0x482822cf from core
    (invalid char ptr (0x482822cf))), line 58 in "abstract.h"
    _PyObject_CallMethodIdObjArgs(obj = (nil), name = 0x20026138, ... =
    0x3008d4f8, 0x3003c5c8, 0x0, 0x3003ade8, 0x3003ad28, 0x3003ad48), line
    901 in "call.c"
    import_find_and_load(tstate = 0x2003e4d0, abs_name = (nil)), line 1765
    in "import.c"
    unnamed block in PyImport_ImportModuleLevelObject(name = 0x30085de8,
    globals = (nil), locals = 0x103a18e0, fromlist = 0x200377b0, level =
    804397472), line 1885 in "import.c"
    PyImport_ImportModuleLevelObject(name = 0x30085de8, globals = (nil),
    locals = 0x103a18e0, fromlist = 0x200377b0, level = 804397472), line
    1885 in "import.c"
    builtin___import
    (self = 0x100bead4, args = 0x00000010, kwds =
    0x2ff22210), line 280 in "bltinmodule.c"
    cfunction_call(func = 0x20060a78, args = 0x3003c528, kwargs = (nil)),
    line 537 in "methodobject.c"
    _PyObject_MakeTpCall(tstate = (nil), callable = 0x2ff2234c, args =
    0x2ff222f0, nargs = 673718991, keywords = 0x100bc874), line 197 in "call.c"
    _PyObject_CallFunctionVa(tstate = 0xeda68055, callable = (nil), format =
    warning: Unable to access address 0xdeadbeef from core
    (invalid char ptr (0xdeadbeef)), va = (nil), is_size_t = 0), line 65592
    in "abstract.h"
    PyObject_CallFunction(callable = 0x3003c5c8, format = "OOOOi", ... =
    0x3008d4f8, 0x30085e38, 0x30085e38, 0x3006af68, 0x0, 0x0), line 583 in
    "call.c"
    PyImport_Import(module_name = 0x2ff22530), line 2086 in "import.c"
    PyImport_ImportModule(name = "\200A"), line 1482 in "import.c"
    PyImport_ImportModuleNoBlock(name = "`"), line 1500 in "import.c"
    _PyCodecRegistry_Init(), line 1547 in "codecs.c"
    _PyCodec_Forget(encoding = warning: Unable to access address 0xeda68055
    from core
    (invalid char ptr (0xeda68055))), line 128 in "codecs.c"
    init_stdio_encoding(tstate = 0x2ff22604), line 15996 in "unicodeobject.c"
    init_fs_encoding(tstate = 0x20008168), line 16110 in "unicodeobject.c"
    _PyUnicode_InitEncodings(tstate = 0x20001110), line 16126 in
    "unicodeobject.c"
    init_interp_main(tstate = 0x00000001), line 1016 in "pylifecycle.c"
    pyinit_main(tstate = 0x20001110), line 1107 in "pylifecycle.c"
    Py_InitializeFromConfig(config = (nil)), line 1151 in "pylifecycle.c"
    pymain_init(args = 0xf066a338), line 66 in "main.c"
    pymain_main(args = 0x00000001), line 694 in "main.c"
    Py_BytesMain(argc = -559038737, argv = 0xdeadbeef), line 727 in "main.c"
    python.main(argc = 0, argv = (nil)), line 15 in "python.c"
    (dbx)

    On 07/07/2020 12:45, Pablo Galindo Salgado wrote:

    Pablo Galindo Salgado <pablogsal@gmail.com> added the comment:

    Master has to be something else then....

    ----------


    Python tracker <report@bugs.python.org>
    <https://bugs.python.org/issue41215\>


    @pablogsal
    Copy link
    Member

    Yeah, this looks like something else. I am closing this issue then

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.9 only security fixes 3.10 only security fixes build The build process and cross-build
    Projects
    None yet
    Development

    No branches or pull requests

    4 participants