[Stackless] Error on stackless trunk (2.6a0) compiling with VS2005

Carlos Eduardo de Paula carlosedp at gmail.com
Wed Sep 5 23:44:25 CEST 2007


Richard,

I found out that you updated/merged the Stackless trunk to the last
Python trunk. I tried to compile it using VS2005 express since
Kristjan fixed the PCBuild8 project.

When I compiled it with "Release" solution, the call to python.exe
crashes. I ran it under gdb and got the following trace:

----------------------------------------------------------
cpaula at DSTAPIS232536
/c/Carlos/Python/Stackless/Stackless-trunk/PCbuild8/win32release
$ gdb python.exe
GNU gdb 6.5.50.20060706-cvs (cygwin-special)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-cygwin"...(no debugging symbols found)

(gdb) run
Starting program:
/c/Carlos/Python/Stackless/Stackless-trunk/PCbuild8/win32release/python.exe
Loaded symbols for /c/WINDOWS/system32/ntdll.dll
Loaded symbols for /c/WINDOWS/system32/kernel32.dll
Loaded symbols for
/c/Carlos/Python/Stackless/Stackless-trunk/PCbuild8/win32release/python26.dll
Loaded symbols for /c/WINDOWS/system32/user32.dll
Loaded symbols for /c/WINDOWS/system32/gdi32.dll
Loaded symbols for /c/WINDOWS/system32/advapi32.dll
Loaded symbols for /c/WINDOWS/system32/rpcrt4.dll
Loaded symbols for /c/WINDOWS/system32/shell32.dll
Loaded symbols for /c/WINDOWS/system32/msvcrt.dll
Loaded symbols for /c/WINDOWS/system32/shlwapi.dll
Loaded symbols for
/c/WINDOWS/WinSxS/x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700/msvcr80.dll

Program received signal SIGSEGV, Segmentation fault.
0x1005470c in python26!PyFunction_New ()
   from /c/Carlos/Python/Stackless/Stackless-trunk/PCbuild8/win32release/python26.dll
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x1005470c in python26!PyFunction_New ()
   from /c/Carlos/Python/Stackless/Stackless-trunk/PCbuild8/win32release/python26.dll

(gdb) bt
#0  0x1005470c in python26!PyFunction_New ()
   from /c/Carlos/Python/Stackless/Stackless-trunk/PCbuild8/win32release/python26.dll
#1  0x1000e263 in python26!PyEval_EvalFrame_value ()
   from /c/Carlos/Python/Stackless/Stackless-trunk/PCbuild8/win32release/python26.dll
#2  0x1000bf2a in python26!PyEval_EvalFrameEx_slp ()
   from /c/Carlos/Python/Stackless/Stackless-trunk/PCbuild8/win32release/python26.dll
#3  0x100fe7e9 in slp_run_tasklet ()
   from /c/Carlos/Python/Stackless/Stackless-trunk/PCbuild8/win32release/python26.dll
#4  0x00a44530 in ?? ()
#5  0x00a82d40 in ?? ()
#6  0x00000000 in ?? ()

(gdb) q
The program is running.  Exit anyway? (y or n) y

----------------------------------------------------------

Then I compiled using the automatically converted PCBuild directory
using "Release" solution. On this case, the interpreter ran fine.
Stackless and Python tests were OK.

When i compiled the PCBuild8 in "Debug" solution, the interpreter ran.
but the Python regression tests stops on test_marshal saying nothing
about why it ended.
Running it in verbose mode, it stops exactly on this test:

test_loads_recursion (test.test_marshal.BugsTestCase) ...

The original python from "PCBuild8" compiled in "Debug" mode fails at
the same point.

Here are the stackless unittests:

----------------------------------------------------------
Stackless Unittests:
----------------------------------------------------------

C:\Carlos\Python\Stackless\Stackless-trunk\Stackless\unittests>..\..\PCbuild8\win32debug\python_d.exe
runAll.py
.....C:\Carlos\Python\Stackless\Stackless-trunk\lib\pickle.py:1168:
DeprecationWarning: object.__ini
t__() takes no parameters
  value = func(*args)
...\test_pickle.py:152: DeprecationWarning: object.__init__() takes no
parameters
  ip = pickle.loads(pi)
......\test_pickle.py:263: DeprecationWarning: object.__init__() takes
no parameters
  pickle.loads(s)
.......\test_pickle.py:233: DeprecationWarning: object.__init__()
takes no parameters
  pickle.loads(pickle.dumps(recurse))
..............\test_watchdog.py:128: DeprecationWarning:
object.__init__() takes no parameters
  stackless.tasklet.__init__(self, func)
.....
----------------------------------------------------------------------
Ran 36 tests in 43.766s

OK
....................................
----------------------------------------------------------------------
Ran 36 tests in 33.292s

OK
[18084 refs]


Just to make sure, I compiled the official Python trunk tree in either
Release and Debug solutions and both ran fine.

If I can do anything to help debugging this just drop a line.

Regards,
Carlos


-- 
-------------------------------------------------------------------
Visit Stackless Examples Project
http://code.google.com/p/stacklessexamples/
Stackless Python - www.stackless.com
-------------------------------------------------------------------




More information about the Stackless mailing list