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]

RE: Python stackdump on "succesful" exit after import of python-requests


Still whittling away at this issue. I installed a few more debug libraries, and the traceback now looks like:

(gdb) r generator.py libvirt /usr/share/libvirt/api/libvirt-api.xml
Starting program: /usr/bin/python generator.py libvirt /usr/share/libvirt/api/libvirt-api.xml
[New Thread 6688.0x730]
[New Thread 6688.0x1d44]
[New Thread 6688.0x1c68]
[New Thread 6688.0x12d8]
Found 406 functions in /usr/share/libvirt/api/libvirt-api.xml
Found 0 functions in libvirt-override-api.xml
Generated 338 wrapper functions
Done!

Program received signal SIGABRT, Aborted.
0x66b73de4 in Py_Exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1780
1780        exit(sts);
(gdb) bt
#0  0x66b73de4 in Py_Exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1780
#1  0x76e8e091 in WaitForSingleObjectEx () from /cygdrive/c/WINDOWS/SYSTEM32/KERNELBASE.dll
#2  0x76e8dff2 in WaitForSingleObject () from /cygdrive/c/WINDOWS/SYSTEM32/KERNELBASE.dll
#3  0x610f2730 in sig_send(_pinfo*, siginfo_t&, _cygtls*)@12 (p=p@entry=0x60fd0000, si=..., tls=tls@entry=0x0)
    at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/sigproc.cc:716
#4  0x610ef4cc in _pinfo::kill(siginfo_t&)@8 (this=0x60fd0000, si=...) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:252
#5  0x610ef9d8 in kill0 (pid=pid@entry=6688, si=...) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:303
#6  0x610efbb2 in kill (sig=sig@entry=6, pid=6688) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:312
#7  raise (sig=sig@entry=6) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:288
#8  0x610efe79 in abort () at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:375
#9  0x6deb43c1 in __deregister_frame_info_bases (begin=0x6e200000 <__EH_FRAME_BEGIN__>) at /usr/src/debug/gcc-4.9.3-1/libgcc/unwind-dw2-fde.c:216
#10 0x6e1e10e2 in __gcc_deregister_frame () from /usr/bin/cygexpat-1.dll
#11 0x61028bb7 in per_module::run_dtors (this=0x6130d658) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dll_init.cc:81
#12 dll::run_dtors (this=0x6130d650) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dll_init.h:72
#13 dll_global_dtors () at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dll_init.cc:53
#14 0x6118d64d in __call_exitprocs (code=code@entry=0, d=d@entry=0x0) at /usr/src/debug/cygwin-2.4.1-1/newlib/libc/stdlib/__call_atexit.c:118
#15 0x6114ae88 in exit (code=0) at /usr/src/debug/cygwin-2.4.1-1/newlib/libc/stdlib/exit.c:66
#16 0x61006e79 in cygwin_exit (n=0) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dcrt0.cc:1337
#17 0x610ebf85 in _sigfe () at sigfe.s:38
#18 0x66b73de4 in Py_Exit (sts=sts@entry=0) at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1780
#19 0x66ba5281 in handle_system_exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1152
#20 0x66b7413e in handle_system_exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1193
#21 PyErr_PrintEx (set_sys_last_vars=set_sys_last_vars@entry=1) at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1162
#22 0x66b74bc7 in PyErr_Print () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1065
#23 PyRun_SimpleFileExFlags (fp=<optimized out>, filename=0x60cc5c "generator.py", closeit=1, flags=0x60cb5c)
    at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:953
#24 0x66b8ae9e in Py_Main (argc=argc@entry=4, argv=argv@entry=0x60cc1c) at /usr/src/debug/python-2.7.10-1/Modules/main.c:640
#25 0x00401750 in main (argc=4, argv=0x60cc1c) at /usr/src/debug/python-2.7.10-1/Modules/python.c:23

Having pored over this traceback 100 times now, the current questions I'm trying to figure out, and I'd like some help with:

1. #20 of the traceback shows "0x66b7413e in handle_system_exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1193" doesn't make sense since line 1193 of pythonrun.c is not anywhere near "handle_system_exit()". Line 1152 on #19 IS in handle_system_exit(). Does this mean the traceback is no good?

2. #10 of the traceback shows "#10 0x6e1e10e2 in __gcc_deregister_frame () from /usr/bin/cygexpat-1.dll" - I cannot for the life of me figure out how I get debug symbols for this?

Thanks,

Maarten Jacobs

----------------------------------------
> From: maarten256@hotmail.com
> To: cygwin@cygwin.com
> CC: robert.martens@bell.ca
> Subject: RE: Python stackdump on "succesful" exit after import of python-requests
> Date: Mon, 1 Feb 2016 00:36:02 -0500
>
> I installed the debug version of gcc and the traceback became a little more readable:
>
> (gdb) bt
> #0 0x66b73de4 in Py_Exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1780
> #1 0x76e8e091 in WaitForSingleObjectEx () from /cygdrive/c/WINDOWS/SYSTEM32/KERNELBASE.dll
> #2 0x76e8dff2 in WaitForSingleObject () from /cygdrive/c/WINDOWS/SYSTEM32/KERNELBASE.dll
> #3 0x610f2730 in sig_send(_pinfo*, siginfo_t&, _cygtls*)@12 (p=p@entry=0x60fd0000, si=..., tls=tls@entry=0x0) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/sigproc.cc:716
> #4 0x610ef4cc in _pinfo::kill(siginfo_t&)@8 (this=0x60fd0000, si=...) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:252
> #5 0x610ef9d8 in kill0 (pid=pid@entry=4080, si=...) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:303
> #6 0x610efbb2 in kill (sig=sig@entry=6, pid=4080) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:312
> #7 raise (sig=sig@entry=6) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:288
> #8 0x610efe79 in abort () at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:375
> #9 0x6deb43c1 in __deregister_frame_info_bases (begin=0x6e200000) at /usr/src/debug/gcc-4.9.3-1/libgcc/unwind-dw2-fde.c:216
> #10 0x6e1e10e2 in ?? () from /usr/bin/cygexpat-1.dll
> #11 0x61028bb7 in per_module::run_dtors (this=0x6130d6c0) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dll_init.cc:81
> #12 dll::run_dtors (this=0x6130d6b8) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dll_init.h:72
> #13 dll_global_dtors () at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dll_init.cc:53
> #14 0x6118d64d in __call_exitprocs (code=code@entry=0, d=d@entry=0x0) at /usr/src/debug/cygwin-2.4.1-1/newlib/libc/stdlib/__call_atexit.c:118
> #15 0x6114ae88 in exit (code=0) at /usr/src/debug/cygwin-2.4.1-1/newlib/libc/stdlib/exit.c:66
> #16 0x61006e79 in cygwin_exit (n=0) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dcrt0.cc:1337
> #17 0x610ebf85 in _sigfe () at sigfe.s:38
> #18 0x66b73de4 in Py_Exit (sts=sts@entry=0) at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1780
> #19 0x66ba5281 in handle_system_exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1152
> #20 0x66b7413e in handle_system_exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1193
> #21 PyErr_PrintEx (set_sys_last_vars=set_sys_last_vars@entry=1) at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1162
> #22 0x66b74bc7 in PyErr_Print () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1065
> #23 PyRun_SimpleFileExFlags (fp=<optimized out>, filename=0x60cc5c "generator.py", closeit=1, flags=0x60cb5c) at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:953
> #24 0x66b8ae9e in Py_Main (argc=argc@entry=4, argv=argv@entry=0x60cc1c) at /usr/src/debug/python-2.7.10-1/Modules/main.c:640
> #25 0x00401750 in main (argc=4, argv=0x60cc1c) at /usr/src/debug/python-2.7.10-1/Modules/python.c:23
> (gdb) up 9
> #9 0x6deb43c1 in __deregister_frame_info_bases (begin=0x6e200000) at /usr/src/debug/gcc-4.9.3-1/libgcc/unwind-dw2-fde.c:216
> 216 gcc_assert (ob);
> (gdb)
>
> So looks like the problem occurs on an "assert". I need to dig further into this - but that's for tomorrow / later this week.
>
> Thanks,
>
> Maarten Jacobs
>
> ----------------------------------------
>> From: maarten256@hotmail.com
>> To: cygwin@cygwin.com
>> CC: robert.martens@bell.ca
>> Subject: RE: Python stackdump on "succesful" exit after import of python-requests
>> Date: Sun, 31 Jan 2016 23:55:14 -0500
>>
>> I realized that for me, the "work-around" to use python3 was not practical, so I am back to analyzing this problem... And not making much progress. Some help/assistance would be appreciated!
>>
>> I got the following traceback:
>>
>> (gdb) r generator.py libvirt /usr/share/libvirt/api/libvirt-api.xml
>> Starting program: /usr/bin/python generator.py libvirt /usr/share/libvirt/api/libvirt-api.xml
>> [New Thread 7028.0xb4]
>> [New Thread 7028.0x1998]
>> [New Thread 7028.0x1070]
>> [New Thread 7028.0x15d8]
>> [New Thread 7028.0x1d38]
>>
>> Found 406 functions in /usr/share/libvirt/api/libvirt-api.xml
>> Found 0 functions in libvirt-override-api.xml
>> Generated 338 wrapper functions
>>
>> Program received signal SIGABRT, Aborted.
>> 0x66b73de4 in Py_Exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1780
>> 1780 exit(sts);
>> (gdb) bt
>> #0 0x66b73de4 in Py_Exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1780
>> #1 0x76e8e091 in WaitForSingleObjectEx () from /cygdrive/c/WINDOWS/SYSTEM32/KERNELBASE.dll
>> #2 0x76e8dff2 in WaitForSingleObject () from /cygdrive/c/WINDOWS/SYSTEM32/KERNELBASE.dll
>> #3 0x610f2730 in sig_send(_pinfo*, siginfo_t&, _cygtls*)@12 (p=p@entry=0x60fd0000, si=..., tls=tls@entry=0x0) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/sigproc.cc:716
>> #4 0x610ef4cc in _pinfo::kill(siginfo_t&)@8 (this=0x60fd0000, si=...) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:252
>> #5 0x610ef9d8 in kill0 (pid=pid@entry=7028, si=...) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:303
>> #6 0x610efbb2 in kill (sig=sig@entry=6, pid=7028) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:312
>> #7 raise (sig=sig@entry=6) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:288
>> #8 0x610efe79 in abort () at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/signal.cc:375
>> #9 0x6deb43c1 in cyggcc_s-1!.deregister_frame_info_bases () from /usr/bin/cyggcc_s-1.dll
>> #10 0x6e1e10e2 in ?? () from /usr/bin/cygexpat-1.dll
>> #11 0x61028bb7 in per_module::run_dtors (this=0x6130d980) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dll_init.cc:81
>> #12 dll::run_dtors (this=0x6130d978) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dll_init.h:72
>> #13 dll_global_dtors () at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dll_init.cc:53
>> #14 0x6118d64d in __call_exitprocs (code=code@entry=0, d=d@entry=0x0) at /usr/src/debug/cygwin-2.4.1-1/newlib/libc/stdlib/__call_atexit.c:118
>> #15 0x6114ae88 in exit (code=0) at /usr/src/debug/cygwin-2.4.1-1/newlib/libc/stdlib/exit.c:66
>> #16 0x61006e79 in cygwin_exit (n=0) at /usr/src/debug/cygwin-2.4.1-1/winsup/cygwin/dcrt0.cc:1337
>> #17 0x610ebf85 in _sigfe () at sigfe.s:38
>> #18 0x66b73de4 in Py_Exit (sts=sts@entry=0) at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1780
>> #19 0x66ba5281 in handle_system_exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1152
>> #20 0x66b7413e in handle_system_exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1193
>> #21 PyErr_PrintEx (set_sys_last_vars=set_sys_last_vars@entry=1) at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1162
>> #22 0x66b74bc7 in PyErr_Print () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1065
>> #23 PyRun_SimpleFileExFlags (fp=<optimized out>, filename=0x60cc5c "generator.py", closeit=1, flags=0x60cb5c) at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:953
>> #24 0x66b8ae9e in Py_Main (argc=argc@entry=4, argv=argv@entry=0x60cc1c) at /usr/src/debug/python-2.7.10-1/Modules/main.c:640
>> #25 0x00401750 in main (argc=4, argv=0x60cc1c) at /usr/src/debug/python-2.7.10-1/Modules/python.c:23
>>
>> I'm used to looking at tracebacks from C++ executables, so most of this feels familiar.
>>
>> It would appear that deregister_frame_info_bases () (on #9) causes the abort to happen. As far as I have been able to figure out, all of this happens while the instance of Python is being shut down.
>>
>> This is also not a new problem, as this was apparently already reported in November of 2014:
>>
>> http://readlist.com/lists/cygwin.com/cygwin/15/75280.html
>>
>> Unfortunately that thread does not go any further than what is also apparent from my traceback.
>>
>> Does anybody have suggestions on how to further debug this issue?
>>
>> Thanks,
>>
>> Maarten Jacobs
>>
>>> From: maarten256@hotmail.com
>>> To: robert.martens@bell.ca; cygwin@cygwin.com
>>> Subject: RE: Python stackdump on "succesful" exit after import of python-requests
>>> Date: Sat, 30 Jan 2016 18:21:45 -0500
>>>
>>> Interesting - I had the same issue earlier this week; I worked around it by using python3 instead, which didn't cause the same issue. (I figured it was just me not doing something right).
>>>
>>> Obviously that doesn't explain the behavior but I didn't have time to further investigate the issue with python 2.7.
>>>
>>> I ran into the issue when I was trying to build libvirt-python on Cygwin.
>>>
>>> I'd be curious to know what the real root cause for this abort is.
>>>
>>> Thanks,
>>>
>>> Maarten Jacobs
>>>
>>> ----------------------------------------
>>> From: robert.martens@bell.ca
>>> To: cygwin@cygwin.com
>>> Subject: Python stackdump on "succesful" exit after import of python-requests
>>> Date: Fri, 29 Jan 2016 21:38:54 +0000
>>>
>>>
>>> Hello,
>>> I am having a strange issue with Python 2.7 on cygwin.
>>> Whenever a script of mine imports 'requests' (python-requests installed via cygwin installer), after it closes I get an "Aborted" message and a stack dump.
>>>
>>> This consistently causes the issue:
>>> $ python
>>> Python 2.7.10 (default, Jun 1 2015, 18:17:45)
>>> [GCC 4.9.2] on cygwin
>>> Type "help", "copyright", "credits" or "license" for more information.
>>>>>> import requests
>>>>>> exit()
>>> Aborted (core dumped)
>>>
>>> And here is the stackdump
>>> $ cat python2.7.exe.stackdump
>>> Stack trace:
>>> Frame Function Args
>>> 0028C868 61033A23 (00000244, 0000EA60, 000000A4, 0028C8D8)
>>> 0028C998 610F27E2 (000000C8, 000000CC, 000000B8, 6111295F)
>>>
>>> This is what gdb says:
>>> (gdb) r
>>> Starting program: /usr/bin/python
>>> [New Thread 8744.0x1ca0]
>>> [New Thread 8744.0x24f4]
>>> [New Thread 8744.0x192c]
>>> [New Thread 8744.0x11f0]
>>> Python 2.7.10 (default, Jun 1 2015, 18:17:45)
>>> [GCC 4.9.2] on cygwin
>>> Type "help", "copyright", "credits" or "license" for more information.
>>>>>> import requests
>>> [New Thread 8744.0x2380]
>>>>>> quit()
>>>
>>> Program received signal SIGABRT, Aborted.
>>> 0x65c63de4 in Py_Exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1780
>>> 1780 exit(sts);
>>> (gdb) bt
>>> #0 0x65c63de4 in Py_Exit () at /usr/src/debug/python-2.7.10-1/Python/pythonrun.c:1780
>>> #1 0x770ff8d1 in ntdll!ZwWaitForSingleObject () from /cygdrive/c/Windows/SysWOW64/ntdll.dll
>>> #2 0x765014b9 in WaitForSingleObjectEx () from /cygdrive/c/Windows/syswow64/KERNELBASE.dll
>>> #3 0x000002f8 in ?? ()
>>> #4 0x00000000 in ?? ()
>>> (gdb) continue
>>> Continuing.
>>> [New Thread 8744.0x25c4]
>>> 3 [main] python2.7 8744 cygwin_exception::open_stackdumpfile: Dumping stack trace to python2.7.exe.stackdump
>>> [Thread 8744.0x24f4 exited with code 34304]
>>> [Thread 8744.0x25c4 exited with code 34304]
>>> [Thread 8744.0x2380 exited with code 34304]
>>> [Thread 8744.0x192c exited with code 34304]
>>> [Inferior 1 (process 8744) exited with code 0103000]
>>>
>>> Any ideas?
>>>
>>> Thanks,
>>> Robert Martens
>>> ADMS
>>>
>>>
>>> --
>>> 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
>>>
>>> --
>>> 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
>>>
>>
>> --
>> 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
>>
>
> --
> 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
>
 		 	   		  
--
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]