This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Use of Python Imaging Library causes Python to crash at exit


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]