Python can crash on exit with "Aborted (core dumped)" if I do "from PIL
import Image". The crash used to happen always with just that line.
After I reinstalled Cygwin, the crashes went away, but now they're back,
requiring a bit more code:
from ctypes import cdll, c_char_p, c_void_p, c_int, c_uint, c_byte
from PIL import Image
I am using cygwin-1.7.33-1, python-2.7.8-1, libffi6-3.0.13-1 and
python-imaging-2.6.1-1.
This crash is similar to: https://cygwin.com/ml/cygwin/2014-11/msg00505.html
Whenever I looked at these crashes in gdb, the abort() was called in at
"gcc_assert (ob);" just before the return from
__deregister_frame_info_bases(). That was called from
__gcc_deregister_frame() in cygffi-6.dll. In other words, it happened
while unloading the ffi library. It seems all Python code gets to run
before the crash, including destructors, so this is not a serious
problem. Here is a backtrace:
#0 0x0022db58 in ?? ()
#1 0x76d5c3d3 in WaitForSingleObjectEx ()
from /cygdrive/c/Windows/system32/kernel32.dll
#2 0x76d5c382 in WaitForSingleObject ()
from /cygdrive/c/Windows/system32/kernel32.dll
#3 0x610df6a6 in sig_send(_pinfo*, siginfo_t&, _cygtls*)@12 (
p=p@entry=0x60fd0000, si=..., tls=tls@entry=0x0)
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/sigproc.cc:679
#4 0x610dcbac in _pinfo::kill(siginfo_t&)@8 (this=0x60fd0000, si=...)
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/signal.cc:252
#5 0x610dd076 in kill0 (pid=pid@entry=6112, si=...)
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/signal.cc:303
#6 0x610dd242 in kill (sig=sig@entry=6, pid=6112)
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/signal.cc:312
#7 raise (sig=sig@entry=6)
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/signal.cc:288
#8 0x610dd4e3 in abort ()
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/signal.cc:375
#9 0x6f7a34c1 in __deregister_frame_info_bases (
begin=0x6f8e6000 <__EH_FRAME_BEGIN__>)
at /usr/src/debug/gcc-4.8.3-4/libgcc/unwind-dw2-fde.c:216
#10 0x6f8e10e2 in __gcc_deregister_frame () from /usr/bin/cygffi-6.dll
#11 0x61026d17 in run_dtors (this=<optimized out>)
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/dll_init.cc:80
#12 run_dtors (this=<optimized out>)
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/dll_init.h:72
#13 dll_global_dtors ()
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/dll_init.cc:52
#14 0x6116466a in __call_exitprocs (code=code@entry=0, d=d@entry=0x0)
at
/usr/src/debug/cygwin-1.7.33-1/newlib/libc/stdlib/__call_atexit.c:118
#15 0x6113b1b8 in exit (code=0)
at /usr/src/debug/cygwin-1.7.33-1/newlib/libc/stdlib/exit.c:66
#16 0x61006d49 in cygwin_exit (n=0)
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/dcrt0.cc:1298
#17 0x610082e6 in cygwin_exit_return ()
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/dcrt0.cc:1040
#18 0x61006044 in _cygtls::call2(unsigned long (*)(void*, void*), void*,
void*)@16 (this=<optimized out>, func=func@entry=0x610073e0
<dll_crt0_1(void*)>,
arg=arg@entry=0x0, buf=buf@entry=0x22cd84)
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/cygtls.cc:100
#19 0x610061b6 in _cygtls::call (
func=func@entry=0x610073e0 <dll_crt0_1(void*)>, arg=arg@entry=0x0)
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/cygtls.cc:30
#20 0x61007164 in _dll_crt0@0 ()
at /usr/src/debug/cygwin-1.7.33-1/winsup/cygwin/dcrt0.cc:1097
#21 0x004011e2 in ?? ()
#22 0x00401015 in ?? ()
#23 0x76d5ee1c in KERNEL32!BaseThreadInitThunk ()
from /cygdrive/c/Windows/system32/kernel32.dll
#24 0x771137eb in ntdll!RtlInitializeExceptionChain ()
from /cygdrive/c/Windows/SYSTEM32/ntdll.dll
#25 0x771137be in ntdll!RtlInitializeExceptionChain ()
from /cygdrive/c/Windows/SYSTEM32/ntdll.dll
#26 0x00000000 in ?? ()
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple