classification
Title: AIX: build fails for xlc/xlC since new PEG parser
Type: compile error Stage: resolved
Components: Build Versions: Python 3.10, Python 3.9
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: David.Edelsohn, Michael.Felt, lys.nikolaou, miss-islington, pablogsal, skrah
Priority: normal Keywords: patch

Created on 2020-07-05 11:31 by Michael.Felt, last changed 2020-07-07 17:07 by pablogsal. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 21355 merged pablogsal, 2020-07-06 18:35
PR 21356 merged pablogsal, 2020-07-06 18:47
PR 21364 merged lys.nikolaou, 2020-07-06 22:23
PR 21367 merged miss-islington, 2020-07-06 22:42
Messages (37)
msg373027 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-05 11:31
As the bots were both running - based on gcc - this was not noticed immediately.

issue40334 implements PEP 617, the new PEG parser for CPython.

Using bisect I located:

commit c5fc15685202cda73f7c3f5c6f299b0945f58508 (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 a25f3c4c8f7d4878918ce1d3d67db40ae255ccc6 (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 458004bf7914f96b20bb76bc3584718cf83f652e
Previous HEAD position was a25f3c4c8f bpo-40334: Fix builds outside the source directory and regenerate autoconf files (GH-19667)
HEAD is now at 458004bf79 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 a25f3c4c8f bpo-40334: Fix builds outside the source directory and regenerate autoconf files (GH-19667)
msg373030 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-05 13:40
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)
msg373031 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-05 14:42
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: 20030d40, 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!
msg373038 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-05 18:27
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?
msg373039 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-05 18:34
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.
msg373053 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-05 23:33
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?
msg373070 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-06 06:50
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>
> _______________________________________
>
msg373090 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-06 10:41
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"
msg373091 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-06 10:47
If I check out commit c5fc15685202cda73f7c3f5c6f299b0945f58508 I get a crash, but not on master or 3.9 HEAD. So whatever error happens with XLC in the PEG parser c5fc15685202cda73f7c3f5c6f299b0945f58508 seems that is already solved.

Could you confirm that you get a a different crash (different backtrace) in master, Michael?
msg373097 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-06 11:43
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},
    },
};
msg373098 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-06 11:48
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?)
msg373112 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-06 12:37
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
msg373121 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-06 14:30
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>
> _______________________________________
>
msg373123 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-06 14:35
> 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
msg373134 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-06 15:54
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>
> _______________________________________
>
msg373136 - (view) Author: David Edelsohn (David.Edelsohn) * Date: 2020-07-06 16:13
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.
msg373137 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-06 16:30
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>
> _______________________________________
>
msg373143 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-06 16:57
> 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?
msg373144 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-06 17:03
Note: - two different systems, different HW, different OS levels.

xlc-v11, master : commit deb016224cc506503fb05e821a60158c83918ed4 (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
deb016224cc506503fb05e821a60158c83918ed4

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>
> _______________________________________
>
msg373146 - (view) Author: David Edelsohn (David.Edelsohn) * Date: 2020-07-06 17:10
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.
msg373148 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-06 17:13
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) {
msg373149 - (view) Author: Lysandros Nikolaou (lys.nikolaou) * (Python committer) Date: 2020-07-06 17:16
Pablo, I can do that as well, if you don't have the time.
msg373154 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-06 18:35
> 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 :)
msg373160 - (view) Author: miss-islington (miss-islington) Date: 2020-07-06 19:30
New changeset 54f115dd533653c43b3c5541bf5936b22e484474 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)
https://github.com/python/cpython/commit/54f115dd533653c43b3c5541bf5936b22e484474
msg373161 - (view) Author: miss-islington (miss-islington) Date: 2020-07-06 19:31
New changeset 1ac0cbca369f16f9191833dd54536482fb141a98 by Pablo Galindo in branch 'master':
bpo-41215: Don't use NULL by default in the PEG parser keyword list (GH-21355)
https://github.com/python/cpython/commit/1ac0cbca369f16f9191833dd54536482fb141a98
msg373173 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-06 21:04
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 1ac0cbca369f16f9191833dd54536482fb141a98 by Pablo Galindo in branch 'master':
> bpo-41215: Don't use NULL by default in the PEG parser keyword list (GH-21355)
> https://github.com/python/cpython/commit/1ac0cbca369f16f9191833dd54536482fb141a98
> 
> 
> ----------
> 
> _______________________________________
> Python tracker <report@bugs.python.org>
> <https://bugs.python.org/issue41215>
> _______________________________________
>
msg373178 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-06 21:34
Michael, could you check the latest master and 3.9 HEAD? If you don;t see the problem anymore, we can close this issue :)
msg373179 - (view) Author: Lysandros Nikolaou (lys.nikolaou) * (Python committer) Date: 2020-07-06 21:38
Pablo, on second thought, should we maybe change the assertion to `assert(name_len > 0)`?
msg373182 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-06 21:48
> 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?
msg373188 - (view) Author: Lysandros Nikolaou (lys.nikolaou) * (Python committer) Date: 2020-07-06 22:26
> Can you prepare a PR?

Done.
msg373191 - (view) Author: Lysandros Nikolaou (lys.nikolaou) * (Python committer) Date: 2020-07-06 22:42
New changeset 782f44b8fb07ec33cee148b2b6b4cf53024fe0cd by Lysandros Nikolaou in branch 'master':
bpo-41215: Make assertion in the new parser more strict (GH-21364)
https://github.com/python/cpython/commit/782f44b8fb07ec33cee148b2b6b4cf53024fe0cd
msg373195 - (view) Author: miss-islington (miss-islington) Date: 2020-07-06 23:35
New changeset edeaf61b6827ab3a8673aff1fb7717917f08f003 by Miss Islington (bot) in branch '3.9':
bpo-41215: Make assertion in the new parser more strict (GH-21364)
https://github.com/python/cpython/commit/edeaf61b6827ab3a8673aff1fb7717917f08f003
msg373211 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-07 09:12
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>
> _______________________________________
>
msg373215 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-07 10:12
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>
> _______________________________________
>
msg373217 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-07 10:45
Master has to be something else then....
msg373223 - (view) Author: Michael Felt (Michael.Felt) * Date: 2020-07-07 12:22
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>
> _______________________________________
>
msg373232 - (view) Author: Pablo Galindo Salgado (pablogsal) * (Python committer) Date: 2020-07-07 17:07
Yeah, this looks like something else. I am closing this issue then
History
Date User Action Args
2020-07-07 17:07:00pablogsalsetstatus: open -> closed
resolution: fixed
messages: + msg373232

stage: patch review -> resolved
2020-07-07 12:22:38Michael.Feltsetmessages: + msg373223
2020-07-07 10:45:45pablogsalsetmessages: + msg373217
2020-07-07 10:12:15Michael.Feltsetmessages: + msg373215
2020-07-07 09:12:14Michael.Feltsetmessages: + msg373211
2020-07-06 23:35:13miss-islingtonsetmessages: + msg373195
2020-07-06 22:42:34miss-islingtonsetpull_requests: + pull_request20512
2020-07-06 22:42:30lys.nikolaousetmessages: + msg373191
2020-07-06 22:26:27lys.nikolaousetmessages: + msg373188
2020-07-06 22:23:13lys.nikolaousetpull_requests: + pull_request20509
2020-07-06 21:48:17pablogsalsetmessages: + msg373182
2020-07-06 21:38:41lys.nikolaousetmessages: + msg373179
2020-07-06 21:34:38pablogsalsetmessages: + msg373178
2020-07-06 21:04:49Michael.Feltsetmessages: + msg373173
2020-07-06 19:31:19miss-islingtonsetmessages: + msg373161
2020-07-06 19:30:03miss-islingtonsetnosy: + miss-islington
messages: + msg373160
2020-07-06 18:47:05pablogsalsetpull_requests: + pull_request20502
2020-07-06 18:35:31pablogsalsetkeywords: + patch
stage: patch review
pull_requests: + pull_request20501
2020-07-06 18:35:22pablogsalsetmessages: + msg373154
2020-07-06 17:16:38lys.nikolaousetmessages: + msg373149
2020-07-06 17:13:55pablogsalsetmessages: + msg373148
2020-07-06 17:10:40David.Edelsohnsetmessages: + msg373146
2020-07-06 17:03:43Michael.Feltsetmessages: + msg373144
2020-07-06 16:57:17pablogsalsetmessages: + msg373143
2020-07-06 16:30:40Michael.Feltsetmessages: + msg373137
2020-07-06 16:13:30David.Edelsohnsetmessages: + msg373136
2020-07-06 15:54:23Michael.Feltsetmessages: + msg373134
2020-07-06 14:35:36pablogsalsetmessages: + msg373123
2020-07-06 14:30:15Michael.Feltsetmessages: + msg373121
2020-07-06 12:37:20pablogsalsetmessages: + msg373112
2020-07-06 12:34:00pablogsalsetmessages: - msg373107
2020-07-06 12:05:29pablogsalsetmessages: + msg373107
2020-07-06 11:48:12pablogsalsetmessages: + msg373098
2020-07-06 11:43:29pablogsalsetmessages: + msg373097
2020-07-06 10:47:33pablogsalsetmessages: + msg373091
2020-07-06 10:41:40pablogsalsetmessages: + msg373090
2020-07-06 06:50:18Michael.Feltsetmessages: + msg373070
2020-07-05 23:33:55Michael.Feltsetmessages: + msg373053
2020-07-05 18:34:37pablogsalsetmessages: + msg373039
2020-07-05 18:27:50pablogsalsetmessages: + msg373038
2020-07-05 18:25:50pablogsalsetnosy: + lys.nikolaou
2020-07-05 14:42:30Michael.Feltsetmessages: + msg373031
2020-07-05 13:40:04Michael.Feltsetmessages: + msg373030
2020-07-05 11:32:57skrahsetnosy: + skrah
2020-07-05 11:31:23Michael.Feltcreate