Hi there,

when using py-xml together with py-wxpython, I get a reproductible bus error whenever I try to use sax or minidom (both relying on expat). Invoking the parsers crashes the application with a bus error. The workaround I found is to import xml.parsers.pyexpat before importing wx - but this is a workaround, not a bug fix.

I'm not sure how to debug this. When run in gdb I only get

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x00244479 in PyString_FromString (str=0x0) at Objects/ stringobject.c:106
106             size = strlen(str);

This is the backtrace:

(gdb) backtrace
#0 0x00244479 in PyString_FromString (str=0x0) at Objects/ stringobject.c:106 #1 0x002a3678 in PyModule_AddStringConstant (m=0x65f19b0, name=0x1af188d0 "XML_ERROR_UNBOUND_PREFIX", value=0x0) at Python/ modsupport.c:589
#2  0x1af10ea3 in initpyexpat () at extensions/pyexpat.c:1977
#3 0x0029f49a in _PyImport_LoadDynamicModule (name=0xbfff9a27 "xml.parsers.pyexpat", pathname=0xbfff9587 "/opt/local/lib/ python2.4/site-packages/_xmlplus/parsers/pyexpat.so", fp=0xa000be50) at ./Python/importdl.c:53 #4 0x0029d491 in load_module (name=0xbfff9a27 "xml.parsers.pyexpat", fp=0x1b, buf=0xbfff9587 "/opt/local/lib/ python2.4/site-packages/_xmlplus/parsers/pyexpat.so", type=3, loader=0x0) at Python/import.c:1689 #5 0x0029dc8f in import_submodule (mod=0x65f1810, subname=0xbfff9a33 "pyexpat", fullname=0xbfff9a27 "xml.parsers.pyexpat") at Python/import.c:2276 #6 0x0029dec1 in load_next (mod=0x65f1810, altmod=0x2e0160, p_name=0xbfff9a33, buf=0xbfff9a27 "xml.parsers.pyexpat", p_buflen=0xbfff9e28) at Python/import.c:2096 #7 0x0029e375 in PyImport_ImportModuleEx (name=0x65f18d4 "pyexpat", globals=0x65ef9c0, locals=0x65ef9c0, fromlist=0x65f18b0) at Python/import.c:1931 #8 0x002714c3 in builtin___import__ (self=0x0, args=0x65f0e10) at Python/bltinmodule.c:45 #9 0x0020d87f in PyObject_Call (func=0x10260, arg=0x65f0e10, kw=0x0) at Objects/abstract.c:1795 #10 0x0027944a in PyEval_CallObjectWithKeywords (func=0x10260, arg=0x65f0e10, kw=0x0) at Python/ceval.c:3435 #11 0x0027c015 in PyEval_EvalFrame (f=0x1850410) at Python/ceval.c: 2020 #12 0x00280665 in PyEval_EvalCodeEx (co=0x3e74d60, globals=0x65ef9c0, locals=0x65ef9c0, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2741 #13 0x002808a5 in PyEval_EvalCode (co=0x3e74d60, globals=0x65ef9c0, locals=0x65ef9c0) at Python/ceval.c:484 #14 0x0029c8db in PyImport_ExecCodeModuleEx (name=0xbfffab97 "xml.parsers.expat", co=0x3e74d60, pathname=0xbfffa29f "/opt/local/ lib/python2.4/site-packages/_xmlplus/parsers/expat.pyc") at Python/ import.c:636 #15 0x0029cc9f in load_source_module (name=0xbfffab97 "xml.parsers.expat", pathname=0xbfffa29f "/opt/local/lib/python2.4/ site-packages/_xmlplus/parsers/expat.pyc", fp=0xa000bdf8) at Python/ import.c:915 #16 0x0029dc8f in import_submodule (mod=0x65f1810, subname=0x3e857f4 "expat", fullname=0xbfffab97 "xml.parsers.expat") at Python/import.c:2276 #17 0x0029e222 in ensure_fromlist (mod=0x65f1810, fromlist=0x3e85f70, buf=0xbfffab97 "xml.parsers.expat", buflen=11, recursive=0) at Python/import.c:2187 #18 0x0029e66d in PyImport_ImportModuleEx (name=0x65f291c "xml.parsers", globals=0x65ef660, locals=0x65ef660, fromlist=0x3e85f70) at Python/import.c:1958 #19 0x002714c3 in builtin___import__ (self=0x0, args=0x65f0d20) at Python/bltinmodule.c:45 #20 0x0020d87f in PyObject_Call (func=0x10260, arg=0x65f0d20, kw=0x0) at Objects/abstract.c:1795 #21 0x0027944a in PyEval_CallObjectWithKeywords (func=0x10260, arg=0x65f0d20, kw=0x0) at Python/ceval.c:3435 #22 0x0027c015 in PyEval_EvalFrame (f=0x18fc210) at Python/ceval.c: 2020 #23 0x00280665 in PyEval_EvalCodeEx (co=0x3e74ba0, globals=0x65ef660, locals=0x65ef660, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2741 #24 0x002808a5 in PyEval_EvalCode (co=0x3e74ba0, globals=0x65ef660, locals=0x65ef660) at Python/ceval.c:484 #25 0x0029c8db in PyImport_ExecCodeModuleEx (name=0xbfffbd07 "xml.dom.expatbuilder", co=0x3e74ba0, pathname=0xbfffb40f "/opt/ local/lib/python2.4/site-packages/_xmlplus/dom/expatbuilder.pyc") at Python/import.c:636 #26 0x0029cc9f in load_source_module (name=0xbfffbd07 "xml.dom.expatbuilder", pathname=0xbfffb40f "/opt/local/lib/ python2.4/site-packages/_xmlplus/dom/expatbuilder.pyc", fp=0xa000bda0) at Python/import.c:915 #27 0x0029dc8f in import_submodule (mod=0x66690, subname=0x119e3cc "expatbuilder", fullname=0xbfffbd07 "xml.dom.expatbuilder") at Python/import.c:2276 #28 0x0029e222 in ensure_fromlist (mod=0x66690, fromlist=0x119c550, buf=0xbfffbd07 "xml.dom.expatbuilder", buflen=7, recursive=0) at Python/import.c:2187 #29 0x0029e66d in PyImport_ImportModuleEx (name=0x667d4 "xml.dom", globals=0x7cf540, locals=0x2e0160, fromlist=0x119c550) at Python/ import.c:1958 #30 0x002714c3 in builtin___import__ (self=0x0, args=0x519c0) at Python/bltinmodule.c:45 #31 0x0020d87f in PyObject_Call (func=0x10260, arg=0x519c0, kw=0x0) at Objects/abstract.c:1795 #32 0x0027944a in PyEval_CallObjectWithKeywords (func=0x10260, arg=0x519c0, kw=0x0) at Python/ceval.c:3435 #33 0x0027c015 in PyEval_EvalFrame (f=0x18d4210) at Python/ceval.c: 2020 #34 0x00280665 in PyEval_EvalCodeEx (co=0x119f620, globals=0x7cf540, locals=0x0, args=0x18ecda0, argcount=1, kws=0x18ecda4, kwcount=0, defs=0x7d86a4, defcount=2, closure=0x0) at Python/ceval.c:2741 #35 0x0027e49f in PyEval_EvalFrame (f=0x18ecc10) at Python/ceval.c: 3661 #36 0x0027ebaa in PyEval_EvalFrame (f=0x196d410) at Python/ceval.c: 3651 #37 0x00280665 in PyEval_EvalCodeEx (co=0x55720, globals=0x21a50, locals=0x0, args=0x18ca96c, argcount=3, kws=0x18ca978, kwcount=0, defs=0x2ddb49c, defcount=1, closure=0x0) at Python/ceval.c:2741 #38 0x0027e49f in PyEval_EvalFrame (f=0x18ca810) at Python/ceval.c: 3661 #39 0x00280665 in PyEval_EvalCodeEx (co=0x556a0, globals=0x21a50, locals=0x0, args=0x385d03c, argcount=2, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2741 #40 0x00228063 in function_call (func=0x394b8b0, arg=0x385d030, kw=0x0) at Objects/funcobject.c:548 #41 0x0020d87f in PyObject_Call (func=0x394b8b0, arg=0x385d030, kw=0x0) at Objects/abstract.c:1795 #42 0x00215667 in instancemethod_call (func=0x3e878c8, arg=0x3e85970, kw=0x0) at Objects/classobject.c:2532 #43 0x0020d87f in PyObject_Call (func=0x3e878c8, arg=0x3e85970, kw=0x0) at Objects/abstract.c:1795 #44 0x0027944a in PyEval_CallObjectWithKeywords (func=0x3e878c8, arg=0x3e85970, kw=0x0) at Python/ceval.c:3435 #45 0x03ea1c80 in wxPyCallback::EventThunker (this=0x1a65600, [EMAIL PROTECTED]) at src/helpers.cpp:1473
#46 0x0449f020 in wxEvtHandler::ProcessEventIfMatches ()
#47 0x0449f0c0 in wxEvtHandler::SearchDynamicEventTable ()
#48 0x0449f61f in wxEvtHandler::ProcessEvent ()
#49 0x045cdb61 in wxWindowBase::TryParent ()
#50 0x0449f5f1 in wxEvtHandler::ProcessEvent ()
#51 0x045cdb61 in wxWindowBase::TryParent ()
#52 0x0449f5f1 in wxEvtHandler::ProcessEvent ()
#53 0x044cd76b in wxControl::ProcessCommand ()
#54 0x044c8c24 in wxButton::MacControlHit ()
#55 0x045247cb in wxMacWindowControlEventHandler ()
#56 0x04525075 in wxMacWindowEventHandler ()
#57 0x92dec537 in DispatchEventToHandlers ()
#58 0x92debbdc in SendEventToEventTargetInternal ()
#59 0x92df2fbc in SendEventToEventTarget ()
#60 0x92ea66a5 in SendControlHit ()
#61 0x92ea6596 in HIView::NotifyControlHit ()
#62 0x92eafe38 in HIView::ClickInternal ()
#63 0x92e8b045 in HIView::ClickSelf ()
#64 0x92e10652 in HIView::EventHandler ()
#65 0x92dec537 in DispatchEventToHandlers ()
#66 0x92debbdc in SendEventToEventTargetInternal ()
#67 0x92df2fbc in SendEventToEventTarget ()
#68 0x92e8ad6f in HIView::Click ()
#69 0x92e8abab in HandleClickAsHIView ()
#70 0x92e8a531 in HandleWindowClick ()
#71 0x92e89fde in HandleMouseEvent ()
#72 0x92e32488 in StandardWindowEventHandler ()
#73 0x92dec537 in DispatchEventToHandlers ()
#74 0x92debbdc in SendEventToEventTargetInternal ()
#75 0x92df2fbc in SendEventToEventTarget ()
#76 0x92df344f in ToolboxEventDispatcherHandler ()
#77 0x92dec8ee in DispatchEventToHandlers ()
#78 0x92debbdc in SendEventToEventTargetInternal ()
#79 0x92df2fbc in SendEventToEventTarget ()
#80 0x044bf30c in wxApp::MacHandleOneEvent ()
#81 0x044bf3c8 in wxApp::MacDoOneEvent ()
#82 0x044d731c in wxEventLoop::Dispatch ()
#83 0x0457cd4b in wxEventLoopManual::Run ()
#84 0x04556d24 in wxAppBase::MainLoop ()
#85 0x03e99fd4 in wxPyApp::MainLoop (this=0x6ee690) at src/ helpers.cpp:156 #86 0x03edf8ee in _wrap_PyApp_MainLoop (args=0x3197f70) at src/mac/ _core_wrap.cpp:30474 #87 0x0020d87f in PyObject_Call (func=0x4e9a210, arg=0x3e85810, kw=0x3df3300) at Objects/abstract.c:1795 #88 0x0027e69c in PyEval_EvalFrame (f=0x1912810) at Python/ceval.c: 3845 #89 0x00280665 in PyEval_EvalCodeEx (co=0x3e25b60, globals=0x3e73420, locals=0x0, args=0x3e856fc, argcount=1, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2741 #90 0x00228063 in function_call (func=0x4ebcb30, arg=0x3e856f0, kw=0x0) at Objects/funcobject.c:548 #91 0x0020d87f in PyObject_Call (func=0x4ebcb30, arg=0x3e856f0, kw=0x0) at Objects/abstract.c:1795 #92 0x00215667 in instancemethod_call (func=0x5c5b350, arg=0x3e856f0, kw=0x0) at Objects/classobject.c:2532 #93 0x0020d87f in PyObject_Call (func=0x5c5b350, arg=0x3e856f0, kw=0x0) at Objects/abstract.c:1795 #94 0x0027e397 in PyEval_EvalFrame (f=0x1863e10) at Python/ceval.c: 3776
#95 0x0027ebaa in PyEval_EvalFrame (f=0x6082b0) at Python/ceval.c:3651
#96 0x00280665 in PyEval_EvalCodeEx (co=0x558a0, globals=0x21a50, locals=0x21a50, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2741 #97 0x002808a5 in PyEval_EvalCode (co=0x558a0, globals=0x21a50, locals=0x21a50) at Python/ceval.c:484 #98 0x002a74da in PyRun_FileEx (fp=0xa000bda0, filename=0x51a24 "adaptation_server.py", start=257, globals=0x21a50, locals=0x21a50, closeit=1) at Python/pythonrun.c:1285 #99 0x00272053 in builtin_execfile (self=0x0, args=0x2c490) at Python/bltinmodule.c:631 #100 0x0027faca in PyEval_EvalFrame (f=0x608a70) at Python/ceval.c: 3568 #101 0x00280665 in PyEval_EvalCodeEx (co=0x4f5a0, globals=0x21a50, locals=0x21a50, args=0x0, argcount=0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at Python/ceval.c:2741 #102 0x002808a5 in PyEval_EvalCode (co=0x4f5a0, globals=0x21a50, locals=0x21a50) at Python/ceval.c:484 #103 0x002a723a in PyRun_InteractiveOneFlags (fp=0xa0001be0, filename=0x2d1564 "<stdin>", flags=0xbffff778) at Python/ pythonrun.c:1285 #104 0x002a7355 in PyRun_InteractiveLoopFlags (fp=0xa0001be0, filename=0x2d1564 "<stdin>", flags=0xbffff778) at Python/ pythonrun.c:704 #105 0x002a8097 in PyRun_AnyFileExFlags (fp=0xa0001be0, filename=0x2d1564 "<stdin>", closeit=0, flags=0xbffff778) at Python/ pythonrun.c:667 #106 0x002b13ec in Py_Main (argc=0, argv=0xbffff804) at Modules/ main.c:493
#107 0x00001fae in ?? ()
#108 0x00001ed5 in ?? ()

Can someone comment on this? What could I do to narrow the bug?

python24 @2.4.4_1+darwin_8 (active)
py-wxpython @2.8.4.0_0 (active)
libxml2 @2.6.28_1 (active)
expat @2.0.1_0 (active)
wxWidgets @2.8.4_2+darwin_8 (active)

I'm running macports 1.5 on an intel MacBook.

TIA, Mark

--
Mark Asbach
Institut für Nachrichtentechnik, RWTH Aachen University
http://www.ient.rwth-aachen.de/cms/team/m_asbach

_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo/macports-users

Reply via email to