On Sat, Jan 10, 2009 at 01:58:37PM +0200, George Ciobanu wrote: > Is there a plan to move a newer version of python, such as 2.6? > > Has anyone tried to incorporate it so far? Yes, I started to package Python 2.6.1 and 3.0 before the holidays. Unfortunately, I ran into problems with Python 2.6.1 during the testing phase. When I executed the regression test, every threading related test caused python.exe to core dump. FWIW, the threading related tests for Python 2.5.2 or 3.0 do not core dump under the same Cygwin 1.5.25 installation. See attached for the cygcheck output. I built a debug-able Cygwin DLL (from the cygwin-1.5.25-15 source tarball) and Python executable, so I could try to debug the problem. The following is a sample gdb session: $ gdb python.exe ... (gdb) run Lib/test/regrtest.py -l test_asynchat Starting program: /tmp/Python-2.6.1.threading/python.exe Lib/test/regrtest.py -l test_asynchat [New thread 2232.0xdc0] [New thread 2232.0x45c] test_asynchat [New thread 2232.0xc64] [New thread 2232.0xf68] [New thread 2232.0xe54] Program received signal SIGSEGV, Segmentation fault. [Switching to thread 2232.0xc64] 0x00666b16 in ?? () (gdb) bt #0 0x00666b16 in ?? () #1 0x18c00023 in ?? () #2 0x61077b13 in pthread_testcancel () at ../../../../winsup/cygwin/pthread.cc:139 #3 0x610b45e2 in semaphore::wait (sem=0x71e540) at ../../../../winsup/cygwin/thread.cc:3157 #4 0x61093558 in _sigfe () at ../../../../winsup/cygwin/cygerrno.h:31 #5 0x7c96e0f0 in ntdll!RtlpNtMakeTemporaryKey () from /mnt/c/WINDOWS/system32/ntdll.dll #6 0x6ba9e927 in cygcrypto-0!ERR_set_implementation () from /usr/bin/cygcrypto-0.9.8.dll #7 0x00000001 in ?? () #8 0x6bb1b98d in x509_dir_lookup () from /usr/bin/cygcrypto-0.9.8.dll #9 0x000001a3 in ?? () #10 0x18c0ca18 in ?? () #11 0x188d0000 in ?? () #12 0x18c0caa0 in ?? () #13 0x6ba9ebf8 in cygcrypto-0!ERR_set_implementation () from /usr/bin/cygcrypto-0.9.8.dll #14 0x00724288 in ?? () #15 0x00000000 in ?? () (gdb) f 2 #2 0x61077b13 in pthread_testcancel () at ../../../../winsup/cygwin/pthread.cc:139 139 pthread::self ()->testcancel (); Current language: auto; currently c++ (gdb) list 134 } 135 136 void 137 pthread_testcancel () 138 { 139 pthread::self ()->testcancel (); 140 } 141 142 void 143 _pthread_cleanup_push (__pthread_cleanup_handler *handler) My WAG is that Cygwin is SEGV-ing in the following (from winsup/cygwin/thread.cc): pthread * pthread::self () { pthread *thread = get_tls_self_pointer (); if (!thread) { thread = pthread_null::get_null_pthread (); set_tls_self_pointer (thread); } return thread; } Unfortunately, I'm not sure how to debug this further. Any help will be greatly appreciated. Thanks, Jason -- PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers Fingerprint: 7A73 1405 7F2B E669 C19D 8784 1AFD E4CC ECF4 8EF6