How to enable Tracebacks?
simon.mcvittie at collabora.co.uk
Thu Jan 18 03:51:11 PST 2007
-----BEGIN PGP SIGNED MESSAGE-----
On Thu, 18 Jan 2007 at 16:00:46 +1100, Curtis Maloney wrote:
> Oops, meant to reply-to-all in my reply to Havoc.
I've sent this to the list on the assumption that you still meant to
> Wanted to point out the bigger problem that cost me a couple of days
> debugging -
> Python exceptions on signal handlers are being silently discarded.
> I assumed they'd spit out to a console or cause some sort of rucus, and
> since they didn't (and my confidence wasn't high in the libs building
> properly on Solaris) I blamed the libs...
Sadly, yes. This is a limitation of the way we run asynchronous
functions (the GLib main loop). Fixing this is somewhat awkward.
I suppose we could process the exceptions in _dbus_bindings and just
print them to stderr, but if used with a main loop that *does* propagate
exceptions, that's counter-productive... perhaps each main loop plugin
could have a boolean flag meaning "I discard exceptions, deal with them
yourself" and _dbus_bindings could behave accordingly?
I'll see what I can do in a future release. There will probably be one
at some point titled "The 'main loops' release" where I rethink the
main-loop model - I've put in enough API for 0.80 that I ought to be
able to do that without breaking compatibility any more.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: OpenPGP key: http://www.pseudorandom.co.uk/2003/contact/ or pgp.net
-----END PGP SIGNATURE-----
More information about the dbus