Python-3.2 (SVN) bug [was syntax question]

Mark Dickinson dickinsm at gmail.com
Mon Oct 12 10:09:22 EDT 2009


On Oct 12, 7:55 am, Helmut Jarausch <jarau... at igpm.rwth-aachen.de>
wrote:
> I wrote
> I'm trying to build the recent Python-3.2a (SVN).
> It fails in
> Lib/tokenize.py  (line 87)
[...]
> with: TypeError: group() argument after ** must be a mapping, not tuple

I believe I've found the source of this problem:  the --with-tsc
configure option enables some buggy inline assembly:  see the
READ_TIMESTAMP macro in Python/ceval.c.  This uses the constraint
"A" for the output of the x86 'rdtsc' instruction;  for x86 that's
fine, but for x86_64 it apparently refers to the 'rax' register,
which is wrong:  rdtsc loads its result into the edx and eax
registers.  So the edx register ends up being clobbered without
gcc knowing about it, and all hell breaks loose as a result.

So it is a Python bug, not a compiler bug.  I've updated the
bug report, and the bug should be fixed soonish.

Thanks for reporting this, and for whittling the failure down
to the --with-tsc configure option!

Mark



More information about the Python-list mailing list