[Python-Dev] AST branch update

jepler@unpythonic.net jepler at unpythonic.net
Fri Oct 14 00:08:41 CEST 2005


I'm excited to see work continuing (resuming?) on the AST tree.

I don't know how many machines you've been able to test the AST branch on.  I
have a linux/amd64 machine handy and I've tried to run the test suite with a
fresh copy of the ast-branch.

test_trace segfaults consistently, even when run alone.   You didn't give me the
impression that the failure was a segfault, so I'll include more information
about it below.

With '-x test_trace -x test_codecencodings_kr', I get through the testsuite run.
Compared to a build of HEAD, also from today, I get additional failures in
	test_genexps test_grp test_pwd test_symtable
and additional unexpected skips of:
	test_email test_email_codecs

The 'pwd' and 'grp' failures look like they're due to a change not merged from
HEAD.

I'm not sure what to make of the 'genexps' failure.  Is it just a harmless
output difference?  I didn't see you mention that in your message.

Here is some of the relevant-looking output:
    $ ./python -E -tt ./Lib/test/regrtest.py
    [...]
    **********************************************************************
    File "/usr/src/python-ast/Lib/test/test_genexps.py", line ?, in test.test_genexps.__test__.doctests
    Failed example:
	(y for y in (1,2)) = 10
    Expected:
	Traceback (most recent call last):
	   ...
	SyntaxError: assign to generator expression not possible
    Got:
	Traceback (most recent call last):
	  File "/usr/src/python-ast/Lib/doctest.py", line 1243, in __run
	    compileflags, 1) in test.globs
	  File "<doctest test.test_genexps.__test__.doctests[38]>", line 1
	 SyntaxError: assignment to generator expression not possible (<doctest test.test_genexps.__test__.doctests[38]>, line 1)
    **********************************************************************
    File "/usr/src/python-ast/Lib/test/test_genexps.py", line ?, in test.test_genexps.__test__.doctests
    Failed example:
	(y for y in (1,2)) += 10
    Expected:
	Traceback (most recent call last):
	   ...
	SyntaxError: augmented assign to tuple literal or generator expression not possible
    Got:
	Traceback (most recent call last):
	  File "/usr/src/python-ast/Lib/doctest.py", line 1243, in __run
	    compileflags, 1) in test.globs
	  File "<doctest test.test_genexps.__test__.doctests[39]>", line 1
	 SyntaxError: augmented assignment to generator expression not possible (<doctest test.test_genexps.__test__.doctests[39]>, line 1)
    **********************************************************************
    [...]
    test test_grp failed -- Traceback (most recent call last):
      File "/usr/src/python-ast/Lib/test/test_grp.py", line 29, in test_values
	e2 = grp.getgrgid(e.gr_gid)
    OverflowError: signed integer is greater than maximum
    [...]
    test test_pwd failed -- Traceback (most recent call last):
      File "/usr/src/python-ast/Lib/test/test_pwd.py", line 42, in test_values
	self.assert_(pwd.getpwuid(e.pw_uid) in entriesbyuid[e.pw_uid])
    OverflowError: signed integer is greater than maximum

The segfault in test_trace looks like this:
    $ gdb ./python
    (gdb) source Misc/gdbinit
    (gdb) run Lib/test/test_trace.py
    [...]
    test_10_no_jump_to_except_1 (__main__.JumpTestCase) ... FAIL

    Program received signal SIGSEGV, Segmentation fault.
    [Switching to Thread 46912496260768 (LWP 11945)]
    PyEval_EvalFrame (f=0x652c30) at Python/ceval.c:1994
    [1967			case COMPARE_OP:)
    1994				Py_DECREF(v);
    (gdb) print oparg
    $1 = 10             [PyCmp_EXC_MATCH?]
    (gdb) pyo v
    NULL
    $2 = void
    #0  PyEval_EvalFrame (f=0x652c30) at Python/ceval.c:1994
    #1  0x0000000000475800 in PyEval_EvalFrame (f=0x697390) at Python/ceval.c:3618
    #2  0x0000000000475800 in PyEval_EvalFrame (f=0x694f10) at Python/ceval.c:3618
    #3  0x0000000000475800 in PyEval_EvalFrame (f=0x649fa0) at Python/ceval.c:3618
    [...]
    #50 0x00000000004113bb in Py_Main (argc=Variable "argc" is not available.) at Modules/main.c:484
    (gdb) pystack
    Lib/test/test_trace.py (447): no_jump_to_except_2
    Lib/test/test_trace.py (447): run_test
    Lib/test/test_trace.py (557): test_11_no_jump_to_except_2
    /usr/src/python-ast/Lib/unittest.py (581): run
    /usr/src/python-ast/Lib/unittest.py (280): __call__
    /usr/src/python-ast/Lib/unittest.py (420): run
    /usr/src/python-ast/Lib/unittest.py (427): __call__
    /usr/src/python-ast/Lib/unittest.py (420): run
    /usr/src/python-ast/Lib/unittest.py (427): __call__
    /usr/src/python-ast/Lib/unittest.py (692): run
    /usr/src/python-ast/Lib/test/test_support.py (692): run_suite
    /usr/src/python-ast/Lib/test/test_support.py (278): run_unittest
    Lib/test/test_trace.py (600): test_main
    Lib/test/test_trace.py (600): <module>
I'm not sure what other information from gdb to furnish.

Jeff
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.python.org/pipermail/python-dev/attachments/20051013/b025eac6/attachment.pgp


More information about the Python-Dev mailing list