I've been setting up graphing classes and as I begin to increase my
object hierarchy, I'm finding that python is acting funny. I seem to
get errors like:
Fatal Python error: PyThreadState_Get: no current thread
Aborted
However, if I add a function that does absolutely nothing or
add a bit of code or take away some, then it seems to run just
fine. Weird. Here's the extra long stacktrace if it helps. The problem
seems to be in garbage collection within wxPython...
-- Mike
#0 0x4008e9f1 in __kill () from /lib/libc.so.6
#1 0x4002cdbe in pthread_kill (thread=1024, signo=6) at signals.c:65
#2 0x4002d28d in raise (sig=6) at signals.c:232
#3 0x4008fe31 in abort () at ../sysdeps/generic/abort.c:88
#4 0x806ca21 in Py_FatalError () at Python/pythonrun.c:1235
#5 0x806ae30 in PyThreadState_Get () at Python/pystate.c:213
#6 0x80626df in PyErr_Occurred () at Python/errors.c:78
#7 0x80705ce in _PyGC_Insert (op=0x819bedc) at ./Modules/gcmodule.c:504
#8 0x80923c7 in PyTuple_New (size=2) at Objects/tupleobject.c:87
#9 0x401edc9e in wxSize_asTuple (self=0x82a5560) at src/gtk/misc.cpp:1305
#10 0x401edd56 in _wrap_wxSize_asTuple (self=0x0, args=0x842d9fc, kwargs=0x84374d4) at src/gtk/misc.cpp:1328
#11 0x8058b53 in call_cfunction (func=0x8143b48, arg=0x842d9fc, kw=0x84374d4) at Python/ceval.c:2849
#12 0x8058a96 in call_object (func=0x8143b48, arg=0x842d9fc, kw=0x84374d4) at Python/ceval.c:2820
#13 0x805897d in PyEval_CallObjectWithKeywords (func=0x8143b48, arg=0x842d9fc, kw=0x84374d4) at Python/ceval.c:2753
#14 0x809a182 in builtin_apply (self=0x0, args=0x83e9a4c) at Python/bltinmodule.c:90
#15 0x8058b9a in call_cfunction (func=0x80c8880, arg=0x83e9a4c, kw=0x0) at Python/ceval.c:2858
#16 0x8057639 in eval_code2 (co=0x81d7e80, globals=0x81fbbac, locals=0x0, args=0x8423d78, argcount=1, kws=0x8423d7c, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:1960
#17 0x8058f54 in fast_function (func=0x81fcb94, pp_stack=0xbfffe074, n=1, na=1, nk=0) at Python/ceval.c:3035
#18 0x80576e6 in eval_code2 (co=0x81d9328, globals=0x81fbbac, locals=0x0, args=0x83e9b60, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:1984
#19 0x8058e59 in call_eval_code2 (func=0x81fd954, arg=0x83e9b54, kw=0x0) at Python/ceval.c:2979
#20 0x8058a82 in call_object (func=0x81fd954, arg=0x83e9b54, kw=0x0) at Python/ceval.c:2818
#21 0x8058d1d in call_method (func=0x81fd954, arg=0x840348c, kw=0x0) at Python/ceval.c:2936
#22 0x8058a6e in call_object (func=0x8429df4, arg=0x840348c, kw=0x0) at Python/ceval.c:2816
#23 0x805897d in PyEval_CallObjectWithKeywords (func=0x8429df4, arg=0x840348c, kw=0x0) at Python/ceval.c:2753
#24 0x807d6cc in instance_item (inst=0x84375cc, i=0) at Objects/classobject.c:983
#25 0x807aa6c in PySequence_GetItem (s=0x84375cc, i=0) at Objects/abstract.c:995
#26 0x805843e in unpack_sequence (v=0x84375cc, argcnt=2, sp=0x841c6dc) at Python/ceval.c:2509
#27 0x8056bab in eval_code2 (co=0x81b8ca8, globals=0x80d3484, locals=0x0, args=0x841d12c, argcount=2, kws=0x841d134, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:1576
#28 0x8058f54 in fast_function (func=0x81e30b4, pp_stack=0xbfffe3e4, n=2, na=2, nk=0) at Python/ceval.c:3035
#29 0x80576e6 in eval_code2 (co=0x81bc870, globals=0x80d3484, locals=0x0, args=0x83e9b20, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:1984
#30 0x8058e59 in call_eval_code2 (func=0x8400164, arg=0x83e9b14, kw=0x0) at Python/ceval.c:2979
#31 0x8058a82 in call_object (func=0x8400164, arg=0x83e9b14, kw=0x0) at Python/ceval.c:2818
#32 0x8058d1d in call_method (func=0x8400164, arg=0x83e9b14, kw=0x0) at Python/ceval.c:2936
#33 0x8058a6e in call_object (func=0x81f78ac, arg=0x83e9b14, kw=0x0) at Python/ceval.c:2816
#34 0x80591fb in do_call (func=0x81f78ac, pp_stack=0xbfffe5b4, na=1, nk=0) at Python/ceval.c:3136
#35 0x80576ff in eval_code2 (co=0x81acf20, globals=0x80d3484, locals=0x0, args=0x8352b08, argcount=1, kws=0x8352b0c, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:1987
#36 0x8058f54 in fast_function (func=0x83e731c, pp_stack=0xbfffe6c4, n=1, na=1, nk=0) at Python/ceval.c:3035
#37 0x80576e6 in eval_code2 (co=0x81b2d10, globals=0x80d3484, locals=0x0, args=0x841fa98, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:1984
#38 0x8058e59 in call_eval_code2 (func=0x81f65d4, arg=0x841fa8c, kw=0x0) at Python/ceval.c:2979
#39 0x8058a82 in call_object (func=0x81f65d4, arg=0x841fa8c, kw=0x0) at Python/ceval.c:2818
#40 0x8058d1d in call_method (func=0x81f65d4, arg=0x841fa8c, kw=0x0) at Python/ceval.c:2936
#41 0x8058a6e in call_object (func=0x80f8254, arg=0x841fa8c, kw=0x0) at Python/ceval.c:2816
#42 0x80591fb in do_call (func=0x80f8254, pp_stack=0xbfffe894, na=2, nk=0) at Python/ceval.c:3136
#43 0x80576ff in eval_code2 (co=0x81b6488, globals=0x80d3484, locals=0x0, args=0x83e9b88, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:1987
#44 0x8058e59 in call_eval_code2 (func=0x81e3274, arg=0x83e9b7c, kw=0x0) at Python/ceval.c:2979
#45 0x8058a82 in call_object (func=0x81e3274, arg=0x83e9b7c, kw=0x0) at Python/ceval.c:2818
#46 0x8058d1d in call_method (func=0x81e3274, arg=0x841badc, kw=0x0) at Python/ceval.c:2936
#47 0x8058a6e in call_object (func=0x8424c3c, arg=0x841badc, kw=0x0) at Python/ceval.c:2816
#48 0x805897d in PyEval_CallObjectWithKeywords (func=0x8424c3c, arg=0x841badc, kw=0x0) at Python/ceval.c:2753
#49 0x401b4738 in wxPyCallback::EventThunker (this=0x8424da0, event=@0xbfffeab0) at src/helpers.cpp:586
#50 0x404eb975 in wxEvtHandler::SearchDynamicEventTable () from /usr/local/lib/libwx_gtk-2.3.so
#51 0x404eb4bd in wxEvtHandler::ProcessEvent () from /usr/local/lib/libwx_gtk-2.3.so
#52 0x404ca2ad in wxWindow::DoSetSize () from /usr/local/lib/libwx_gtk-2.3.so
#53 0x40535a80 in wxSizerItem::SetDimension () from /usr/local/lib/libwx_gtk-2.3.so
#54 0x40536b06 in wxGridSizer::SetItemBounds () from /usr/local/lib/libwx_gtk-2.3.so
#55 0x40536f92 in wxFlexGridSizer::RecalcSizes () from /usr/local/lib/libwx_gtk-2.3.so
#56 0x40536455 in wxSizer::SetDimension () from /usr/local/lib/libwx_gtk-2.3.so
#57 0x4055186a in wxWindowBase::Layout () from /usr/local/lib/libwx_gtk-2.3.so
#58 0x40542b7f in wxTopLevelWindowBase::OnSize () from /usr/local/lib/libwx_gtk-2.3.so
#59 0x404eb6b2 in wxEvtHandler::SearchEventTable () from /usr/local/lib/libwx_gtk-2.3.so
#60 0x404eb531 in wxEvtHandler::ProcessEvent () from /usr/local/lib/libwx_gtk-2.3.so
#61 0x404a8b7b in wxFrame::GtkOnSize () from /usr/local/lib/libwx_gtk-2.3.so
#62 0x404c1fd8 in wxTopLevelWindowGTK::OnInternalIdle () from /usr/local/lib/libwx_gtk-2.3.so
#63 0x404a8c68 in wxFrame::OnInternalIdle () from /usr/local/lib/libwx_gtk-2.3.so
#64 0x40491eeb in wxApp::SendIdleEvents () from /usr/local/lib/libwx_gtk-2.3.so
#65 0x40491e61 in wxApp::SendIdleEvents () from /usr/local/lib/libwx_gtk-2.3.so
#66 0x40491e13 in wxApp::OnIdle () from /usr/local/lib/libwx_gtk-2.3.so
#67 0x404eb6b2 in wxEvtHandler::SearchEventTable () from /usr/local/lib/libwx_gtk-2.3.so
#68 0x404eb531 in wxEvtHandler::ProcessEvent () from /usr/local/lib/libwx_gtk-2.3.so
#69 0x40491da9 in wxApp::ProcessIdle () from /usr/local/lib/libwx_gtk-2.3.so
#70 0x40491817 in wxapp_idle_callback () from /usr/local/lib/libwx_gtk-2.3.so
#71 0x407ca32a in g_timeout_add () from /opt/gnome/lib/libglib-1.2.so.0
#72 0x407c9308 in g_get_current_time () from /opt/gnome/lib/libglib-1.2.so.0
#73 0x407c9913 in g_get_current_time () from /opt/gnome/lib/libglib-1.2.so.0
#74 0x407c9aac in g_main_run () from /opt/gnome/lib/libglib-1.2.so.0
#75 0x406e97e7 in gtk_main () from /opt/gnome/lib/libgtk-1.2.so.0
#76 0x40491f68 in wxApp::MainLoop () from /usr/local/lib/libwx_gtk-2.3.so
#77 0x401b3b7b in wxPyApp::MainLoop (this=0x8416ff0) at src/helpers.cpp:107
#78 0x401b96e2 in _wrap_wxPyApp_MainLoop (self=0x0, args=0x841cb24, kwargs=0x842a224) at src/gtk/wx.cpp:1332
#79 0x8058b53 in call_cfunction (func=0x81b6398, arg=0x841cb24, kw=0x842a224) at Python/ceval.c:2849
#80 0x8058a96 in call_object (func=0x81b6398, arg=0x841cb24, kw=0x842a224) at Python/ceval.c:2820
#81 0x805897d in PyEval_CallObjectWithKeywords (func=0x81b6398, arg=0x841cb24, kw=0x842a224) at Python/ceval.c:2753
#82 0x809a182 in builtin_apply (self=0x0, args=0x84032ac) at Python/bltinmodule.c:90
#83 0x8058b9a in call_cfunction (func=0x80c8880, arg=0x84032ac, kw=0x0) at Python/ceval.c:2858
#84 0x8057639 in eval_code2 (co=0x819e488, globals=0x8201d94, locals=0x0, args=0x82fb858, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:1960
#85 0x8058e59 in call_eval_code2 (func=0x83e5b3c, arg=0x82fb84c, kw=0x0) at Python/ceval.c:2979
#86 0x8058a82 in call_object (func=0x83e5b3c, arg=0x82fb84c, kw=0x0) at Python/ceval.c:2818
#87 0x8058d1d in call_method (func=0x83e5b3c, arg=0x82fb84c, kw=0x0) at Python/ceval.c:2936
#88 0x8058a6e in call_object (func=0x80d1bb4, arg=0x82fb84c, kw=0x0) at Python/ceval.c:2816
#89 0x80591fb in do_call (func=0x80d1bb4, pp_stack=0xbffff634, na=1, nk=0) at Python/ceval.c:3136
#90 0x80576ff in eval_code2 (co=0x81f5240, globals=0x8201d94, locals=0x0, args=0x80d4e8c, argcount=1, kws=0x80d4e90, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:1987
#91 0x8058f54 in fast_function (func=0x82faa84, pp_stack=0xbffff744, n=1, na=1, nk=0) at Python/ceval.c:3035
#92 0x80576e6 in eval_code2 (co=0x81ace18, globals=0x80d3484, locals=0x0, args=0x80cc654, argcount=1, kws=0x80cc658, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:1984
#93 0x8058f54 in fast_function (func=0x8202bd4, pp_stack=0xbffff854, n=1, na=1, nk=0) at Python/ceval.c:3035
#94 0x80576e6 in eval_code2 (co=0x81ba710, globals=0x80d3484, locals=0x80d3484, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:1984
#95 0x8054d79 in PyEval_EvalCode (co=0x81ba710, globals=0x80d3484, locals=0x80d3484) at Python/ceval.c:341
#96 0x806c623 in run_node (n=0x80d6e40, filename=0xbffffbbb "graph_tools.py", globals=0x80d3484, locals=0x80d3484, flags=0xbffff9f8)
at Python/pythonrun.c:1049
#97 0x806c5da in run_err_node (n=0x80d6e40, filename=0xbffffbbb "graph_tools.py", globals=0x80d3484, locals=0x80d3484, flags=0xbffff9f8)
---Type <return> to continue, or q <return> to quit---
at Python/pythonrun.c:1036
#98 0x806c5ae in PyRun_FileExFlags (fp=0x80c8300, filename=0xbffffbbb "graph_tools.py", start=257, globals=0x80d3484, locals=0x80d3484, closeit=1,
flags=0xbffff9f8) at Python/pythonrun.c:1027
#99 0x806b9c1 in PyRun_SimpleFileExFlags (fp=0x80c8300, filename=0xbffffbbb "graph_tools.py", closeit=1, flags=0xbffff9f8) at Python/pythonrun.c:666
#100 0x806b50f in PyRun_AnyFileExFlags (fp=0x80c8300, filename=0xbffffbbb "graph_tools.py", closeit=1, flags=0xbffff9f8) at Python/pythonrun.c:480
#101 0x8051e50 in Py_Main (argc=2, argv=0xbffffa84) at Modules/main.c:320
#102 0x8051908 in main (argc=2, argv=0xbffffa84) at Modules/python.c:10
#103 0x4007f2eb in __libc_start_main (main=0x80518f4 <main>, argc=2, ubp_av=0xbffffa84, init=0x8050da4 <_init>, fini=0x809e89c <_fini>,
rtld_fini=0x4000c130 <_dl_fini>, stack_end=0xbffffa7c) at ../sysdeps/generic/libc-start.c:129
···
--
Michael Gilfix
mgilfix@eecs.tufts.edu
For my gpg public key:
http://www.eecs.tufts.edu/~mgilfix/contact.html