If I call functions from PyShell (2.9.4.1 GTK) that print to stdout, I will inevitably hit a segfault and my application will hang. Top of the stack is always the same. Here’s a full stacktrace.
================================================= STACK TRACE =============================================
Program terminated with signal 11, Segmentation fault.
#0 0x00007fac76eb9dd7 in Editor::LayoutLine(int, Surface*, ViewStyle&, LineLayout*, int) () from /disk01/lib/libwx_gtk2u_stc-2.9.so.4
(gdb) bt
#0 0x00007fac76eb9dd7 in Editor::LayoutLine(int, Surface*, ViewStyle&, LineLayout*, int) () from /disk01/lib/libwx_gtk2u_stc-2.9.so.4
#1 0x00007fac76ec434a in Editor::LocationFromPosition(SelectionPosition) () from /disk01/lib/libwx_gtk2u_stc-2.9.so.4
#2 0x00007fac76ec8429 in Editor::EnsureCaretVisible(bool, bool, bool) () from /disk01/lib/libwx_gtk2u_stc-2.9.so.4
#3 0x00007fac76ecaa37 in Editor::WndProc(unsigned int, unsigned long, long) () from /disk01/lib/libwx_gtk2u_stc-2.9.so.4
#4 0x00007fac76ea9074 in ScintillaWX::WndProc(unsigned int, unsigned long, long) () from /disk01/lib/libwx_gtk2u_stc-2.9.so.4
#5 0x00007fac772067a1 in _wrap_StyledTextCtrl_EnsureCaretVisible (args=) at src/gtk/stc_wrap.cpp:10457
#6 0x00007fac87be3c0e in ext_do_call (nk=110286736, na=, flags=, pp_stack=0x7fff04323ce8, func=0x26edc20) at Python/ceval.c:4331
#7 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2705
#8 0x00007fac87be570e in PyEval_EvalCodeEx (co=0x2665530, globals=, locals=, args=, argcount=1, kws=0x386e780, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:3253
#9 0x00007fac87be3b40 in fast_function (nk=, na=1, n=, pp_stack=0x7fff04323ee8, func=0x26fbc08) at Python/ceval.c:4117
#10 call_function (oparg=, pp_stack=0x7fff04323ee8) at Python/ceval.c:4042
#11 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2666
#12 0x00007fac87be4d15 in fast_function (nk=, na=, n=, pp_stack=0x7fff04324038, func=0x310ad70) at Python/ceval.c:4107
#13 call_function (oparg=, pp_stack=0x7fff04324038) at Python/ceval.c:4042
#14 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2666
#15 0x00007fac87be570e in PyEval_EvalCodeEx (co=0x30d45b0, globals=, locals=, args=, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
at Python/ceval.c:3253
#16 0x00007fac87b64181 in function_call (func=0x310b488, arg=0x554fe18, kw=0x0) at Objects/funcobject.c:526
#17 0x00007fac87b35103 in PyObject_Call (func=0x310b488, arg=, kw=) at Objects/abstract.c:2529
#18 0x00007fac87b4779f in instancemethod_call (func=0x310b488, arg=0x554fe18, kw=0x0) at Objects/classobject.c:2578
#19 0x00007fac87b35103 in PyObject_Call (func=0x35dfa00, arg=, kw=) at Objects/abstract.c:2529
#20 0x00007fac87bdd4b3 in PyEval_CallObjectWithKeywords (func=0x35dfa00, arg=0x5e5a8d0, kw=) at Python/ceval.c:3890
#21 0x00007fac87b5c894 in PyFile_WriteObject (v=, f=, flags=) at Objects/fileobject.c:2536
#22 0x00007fac87b5caca in PyFile_WriteString (s=, f=0x35e13b0) at Objects/fileobject.c:2574
#23 0x00007fac87c0b612 in sys_displayhook (self=, o=0x7fac87e80c90 <_Py_TrueStruct>) at Python/sysmodule.c:118
#24 0x00007fac87b35103 in PyObject_Call (func=0x7fac87ad6d88, arg=, kw=) at Objects/abstract.c:2529
#25 0x00007fac87bdd4b3 in PyEval_CallObjectWithKeywords (func=0x7fac87ad6d88, arg=0x4255b10, kw=) at Python/ceval.c:3890
#26 0x00007fac87be2c37 in PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:1739
#27 0x00007fac87be570e in PyEval_EvalCodeEx (co=0x50309b0, globals=, locals=, args=, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
at Python/ceval.c:3253
#28 0x00007fac87be5822 in PyEval_EvalCode (co=, globals=, locals=) at Python/ceval.c:667
#29 0x00007fac87be40d6 in exec_statement (locals=0x10b7160, globals=0x10b7160, prog=, f=0x38937e0) at Python/ceval.c:4718
#30 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:1880
#31 0x00007fac87be570e in PyEval_EvalCodeEx (co=0x3062bb0, globals=, locals=, args=, argcount=2, kws=0x3872e20, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:3253
#32 0x00007fac87be3b40 in fast_function (nk=, na=2, n=, pp_stack=0x7fff04324b18, func=0x3099488) at Python/ceval.c:4117
#33 call_function (oparg=, pp_stack=0x7fff04324b18) at Python/ceval.c:4042
#34 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2666
#35 0x00007fac87be570e in PyEval_EvalCodeEx (co=0x3062b30, globals=, locals=, args=, argcount=2, kws=0x0, kwcount=0, defs=0x3067ba8, defcount=2,
closure=0x0) at Python/ceval.c:3253
#36 0x00007fac87b64181 in function_call (func=0x3099410, arg=0x556a5a8, kw=0x0) at Objects/funcobject.c:526
#37 0x00007fac87b35103 in PyObject_Call (func=0x3099410, arg=, kw=) at Objects/abstract.c:2529
#38 0x00007fac87b4779f in instancemethod_call (func=0x3099410, arg=0x556a5a8, kw=0x0) at Objects/classobject.c:2578
#39 0x00007fac87b35103 in PyObject_Call (func=0x50586e0, arg=, kw=) at Objects/abstract.c:2529
#40 0x00007fac87be3282 in do_call (nk=, na=, pp_stack=0x7fff04325088, func=0x50586e0) at Python/ceval.c:4239
#41 call_function (oparg=, pp_stack=0x7fff04325088) at Python/ceval.c:4044
#42 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2666
#43 0x00007fac87be4d15 in fast_function (nk=, na=, n=, pp_stack=0x7fff043251d8, func=0x30a0758) at Python/ceval.c:4107
#44 call_function (oparg=, pp_stack=0x7fff043251d8) at Python/ceval.c:4042
#45 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2666
#46 0x00007fac87be570e in PyEval_EvalCodeEx (co=0x3062430, globals=, locals=, args=, argcount=2, kws=0x386fed8, kwcount=0, defs=0x309a928, defcount=1,
closure=0x0) at Python/ceval.c:3253
#47 0x00007fac87be3b40 in fast_function (nk=, na=2, n=, pp_stack=0x7fff043253d8, func=0x30a06e0) at Python/ceval.c:4117
#48 call_function (oparg=, pp_stack=0x7fff043253d8) at Python/ceval.c:4042
#49 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2666
#50 0x00007fac87be570e in PyEval_EvalCodeEx (co=0x30cfcb0, globals=, locals=, args=, argcount=2, kws=0x41f5608, kwcount=0, defs=0x30fffe8, defcount=1,
closure=0x0) at Python/ceval.c:3253
#51 0x00007fac87be3b40 in fast_function (nk=, na=2, n=, pp_stack=0x7fff043255d8, func=0x310ac80) at Python/ceval.c:4117
#52 call_function (oparg=, pp_stack=0x7fff043255d8) at Python/ceval.c:4042
#53 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2666
#54 0x00007fac87be4d15 in fast_function (nk=, na=, n=, pp_stack=0x7fff04325728, func=0x310aaa0) at Python/ceval.c:4107
#55 call_function (oparg=, pp_stack=0x7fff04325728) at Python/ceval.c:4042
#56 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2666
#57 0x00007fac87be570e in PyEval_EvalCodeEx (co=0x30cf530, globals=, locals=, args=, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
at Python/ceval.c:3253
#58 0x00007fac87b64181 in function_call (func=0x310a668, arg=0x7fac5bc04ef0, kw=0x0) at Objects/funcobject.c:526
#59 0x00007fac87b35103 in PyObject_Call (func=0x310a668, arg=, kw=) at Objects/abstract.c:2529
#60 0x00007fac87b4779f in instancemethod_call (func=0x310a668, arg=0x7fac5bc04ef0, kw=0x0) at Objects/classobject.c:2578
#61 0x00007fac87b35103 in PyObject_Call (func=0x35dfb40, arg=, kw=) at Objects/abstract.c:2529
#62 0x00007fac87bdd4b3 in PyEval_CallObjectWithKeywords (func=0x35dfb40, arg=0x7fac5bc0b190, kw=) at Python/ceval.c:3890
#63 0x00007fac80456e0e in wxPyCallback::EventThunker (this=, event=…) at src/helpers.cpp:1788
#64 0x00007fac7eb9489c in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /disk01/lib/libwx_baseu-2.9.so.4
#65 0x00007fac7eb951b6 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () from /disk01/lib/libwx_baseu-2.9.so.4
#66 0x00007fac7eb95bd8 in wxEvtHandler::TryHereOnly(wxEvent&) () from /disk01/lib/libwx_baseu-2.9.so.4
#67 0x00007fac7eb95f83 in wxEvtHandler::ProcessEventLocally(wxEvent&) () from /disk01/lib/libwx_baseu-2.9.so.4
#68 0x00007fac7eb95fe5 in wxEvtHandler::ProcessEvent(wxEvent&) () from /disk01/lib/libwx_baseu-2.9.so.4
#69 0x00007fac7eb953db in wxEvtHandler::SafelyProcessEvent(wxEvent&) () from /disk01/lib/libwx_baseu-2.9.so.4
#70 0x00007fac7f4fc330 in gtk_window_key_press_callback () from /disk01/lib/libwx_gtk2u_core-2.9.so.4
#71 0x0000003af4753f33 in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#72 0x00007fac7e478492 in g_closure_invoke (closure=0x3855110, return_value=0x7fff04326240, n_param_values=2, param_values=0x7fff043262b0, invocation_hint=) at gclosure.c:777
#73 0x00007fac7e48d831 in signal_emit_unlocked_R (node=, detail=0, instance=0x37bc450, emission_return=0x7fff04326450, instance_and_params=0x7fff043262b0) at gsignal.c:3551
#74 0x00007fac7e48eb57 in g_signal_emit_valist (instance=, signal_id=, detail=0, var_args=) at gsignal.c:3310
#75 0x00007fac7e48f2d3 in g_signal_emit (instance=, signal_id=, detail=) at gsignal.c:3356
#76 0x0000003af4876a9f in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#77 0x0000003af488bbf4 in gtk_window_propagate_key_event () from /usr/lib64/libgtk-x11-2.0.so.0
#78 0x0000003af489116b in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#79 0x0000003af4753f33 in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#80 0x00007fac7e478492 in g_closure_invoke (closure=0x3555750, return_value=0x7fff04326810, n_param_values=2, param_values=0x7fff04326880, invocation_hint=) at gclosure.c:777
#81 0x00007fac7e48ddd2 in signal_emit_unlocked_R (node=, detail=0, instance=0x353a6e0, emission_return=0x7fff04326a20, instance_and_params=0x7fff04326880) at gsignal.c:3589
#82 0x00007fac7e48eb57 in g_signal_emit_valist (instance=, signal_id=, detail=0, var_args=) at gsignal.c:3310
#83 0x00007fac7e48f2d3 in g_signal_emit (instance=, signal_id=, detail=) at gsignal.c:3356
#84 0x0000003af4876a9f in ?? () from /usr/lib64/libgtk-x11-2.0.so.0
#85 0x0000003af474ada5 in gtk_propagate_event () from /usr/lib64/libgtk-x11-2.0.so.0
#86 0x0000003af474be1c in gtk_main_do_event () from /usr/lib64/libgtk-x11-2.0.so.0
#87 0x0000003af565ffdc in ?? () from /usr/lib64/libgdk-x11-2.0.so.0
#88 0x00007fac7dd88373 in g_main_dispatch (context=0x3506a30) at gmain.c:2715
#89 g_main_context_dispatch (context=0x3506a30) at gmain.c:3219
#90 0x00007fac7dd89e38 in g_main_context_iterate (context=0x3506a30, block=1, dispatch=1, self=) at gmain.c:3290
#91 0x00007fac7dd8af55 in g_main_loop_run (loop=0x37f8a70) at gmain.c:3484
#92 0x0000003af474c307 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0
#93 0x00007fac7f4db99a in wxGUIEventLoop::Run() () from /disk01/lib/libwx_gtk2u_core-2.9.so.4
#94 0x00007fac7ea74b33 in wxAppConsoleBase::MainLoop() () from /disk01/lib/libwx_baseu-2.9.so.4
#95 0x00007fac804530b7 in wxPyApp::MainLoop (this=0x34bb770) at src/helpers.cpp:215
#96 0x00007fac804de358 in _wrap_PyApp_MainLoop (args=) at src/gtk/_core_wrap.cpp:34291
#97 0x00007fac87be3c0e in ext_do_call (nk=56486544, na=, flags=, pp_stack=0x7fff04326f88, func=0x13fb878) at Python/ceval.c:4331
#98 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2705
#99 0x00007fac87be570e in PyEval_EvalCodeEx (co=0x12b9f30, globals=, locals=, args=, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0)
at Python/ceval.c:3253
#100 0x00007fac87b64181 in function_call (func=0x1562c08, arg=0x2011e50, kw=0x0) at Objects/funcobject.c:526
#101 0x00007fac87b35103 in PyObject_Call (func=0x1562c08, arg=, kw=) at Objects/abstract.c:2529
#102 0x00007fac87b4779f in instancemethod_call (func=0x1562c08, arg=0x2011e50, kw=0x0) at Objects/classobject.c:2578
#103 0x00007fac87b35103 in PyObject_Call (func=0x2be6cd0, arg=, kw=) at Objects/abstract.c:2529
#104 0x00007fac87be3282 in do_call (nk=, na=, pp_stack=0x7fff043274f8, func=0x2be6cd0) at Python/ceval.c:4239
#105 call_function (oparg=, pp_stack=0x7fff043274f8) at Python/ceval.c:4044
#106 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2666
#107 0x00007fac87be4d15 in fast_function (nk=, na=, n=, pp_stack=0x7fff04327648, func=0x1566050) at Python/ceval.c:4107
#108 call_function (oparg=, pp_stack=0x7fff04327648) at Python/ceval.c:4042
#109 PyEval_EvalFrameEx (f=, throwflag=) at Python/ceval.c:2666
#110 0x00007fac87be570e in PyEval_EvalCodeEx (co=0x7fac87a2d6b0, globals=, locals=, args=, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0,
closure=0x0) at Python/ceval.c:3253
#111 0x00007fac87be5822 in PyEval_EvalCode (co=, globals=, locals=) at Python/ceval.c:667
#112 0x00007fac87c055b0 in run_mod (arena=0x111a9a0, flags=0x7fff04327950, locals=0x10b7160, globals=0x10b7160, filename=, mod=0x114f3b8) at Python/pythonrun.c:1353
#113 PyRun_FileExFlags (fp=0x113d340, filename=, start=, globals=0x10b7160, locals=0x10b7160, closeit=1, flags=0x7fff04327950) at Python/pythonrun.c:1339
#114 0x00007fac87c0577c in PyRun_SimpleFileExFlags (fp=0x113d340, filename=0x7fff04328647 “/disk01/data/davidsj2/dev_run_product/dist/python/goes/ast/app/ui/gui/main.py”, closeit=1,
flags=0x7fff04327950) at Python/pythonrun.c:943
#115 0x00007fac87c19a7e in Py_Main (argc=, argv=) at Modules/main.c:639
#116 0x0000003aec61ecdd in __libc_start_main () from /lib64/libc.so.6
#117 0x0000000000400649 in _start ()