[Bug 915626] Re: usb-creator-gtk crashed with SIGSEGV in _dbus_watch_invalidate
Chris Wulff
crwulff at gmail.com
Mon Dec 2 01:20:27 UTC 2013
It looks to me like this is a failure due to not initializing multi-
threading in dbus. Two threads appear to be closing the connection at
once and thus the second thread crashes since there is no locking. The
attached patch appears to fix the problem for me at least.
** Patch added: "fix_dbus_crash.patch"
https://bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/915626/+attachment/3921007/+files/fix_dbus_crash.patch
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to udisks in Ubuntu.
https://bugs.launchpad.net/bugs/915626
Title:
usb-creator-gtk crashed with SIGSEGV in _dbus_watch_invalidate
Status in “dbus” package in Ubuntu:
Confirmed
Status in “udisks” package in Ubuntu:
Confirmed
Status in “usb-creator” package in Ubuntu:
Triaged
Status in “dbus” source package in Quantal:
Confirmed
Status in “udisks” source package in Quantal:
Confirmed
Status in “usb-creator” source package in Quantal:
Won't Fix
Bug description:
To reproduce:
Fairly reliably reproducible with ubuntu-12.10-desktop-i386.iso or raring-desktop-i386.iso and choosing persitence on a 12.10/raring amd64 system.
Traceback:
Program received signal SIGSEGV, Segmentation fault.
_dbus_watch_invalidate (watch=0x0) at ../../dbus/dbus-watch.c:171
171 ../../dbus/dbus-watch.c: No such file or directory.
#0 _dbus_watch_invalidate (watch=0x0) at ../../dbus/dbus-watch.c:171
No locals.
#1 0x00007ffff5dec93d in free_watches (transport=transport at entry=0xf12590) at ../../dbus/dbus-transport-socket.c:83
socket_transport = 0xf12590
#2 0x00007ffff5dec9a9 in socket_disconnect (transport=0xf12590) at ../../dbus/dbus-transport-socket.c:987
socket_transport = 0xf12590
#3 0x00007ffff5debd67 in _dbus_transport_disconnect (transport=0xf12590) at ../../dbus/dbus-transport.c:509
No locals.
#4 _dbus_transport_disconnect (transport=0xf12590) at ../../dbus/dbus-transport.c:500
No locals.
#5 0x00007ffff5dec595 in _dbus_transport_queue_messages (transport=0xf12590) at ../../dbus/dbus-transport.c:1165
status = <optimised out>
#6 0x00007ffff5dd48e4 in _dbus_connection_get_dispatch_status_unlocked (connection=0xf152b0) at ../../dbus/dbus-connection.c:4211
No locals.
It seems to be that NULL is passed to _dbus_watch_invalidate. And that
function does not assert it's input. In the past this caused to crash
tomboy (bug #1043887), evalution-data-server (bug #852342) and
possible other software (e.g.
https://bugzilla.redhat.com/show_bug.cgi?id=553601 ).
I'd like to open dbus bug and fix that function in dbus to be more
resilient.
Attaching full gdb tracelog: https://bugs.launchpad.net/ubuntu/+source
/usb-creator/+bug/915626/+attachment/3480179/+files/gdb-dbus.txt
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/915626/+subscriptions
More information about the foundations-bugs
mailing list