Comment 23 for bug 1365646

Revision history for this message
Barry Warsaw (barry) wrote :

More fun: I've verified that when this .crash file gets written, the si-dbus process does *not* exit. That seems crazy right? Here's what I think is happening. PyErr_Print() calls PyErr_PrintEx(1), and the latter does sys.excepthook processing. There are several places within dbus-python that calls PyErr_Print(). I haven't gdb'd the process but my guess is that the "exception-in-@method" case causes a PyErr_Print() but clears, <gasp> ignores, or otherwise arranges for the exception to not propagate to the Python main loop or otherwise cause the process to exit. Since apport hooks into sys.excepthook to write the .crash file, that's how you get the crash without exiting the si-dbus process.

How to test the darn thing?