Bug 9716 - Crash in _dbus_connection_last_unref
Summary: Crash in _dbus_connection_last_unref
Status: RESOLVED NOTOURBUG
Alias: None
Product: dbus
Classification: Unclassified
Component: core (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: high critical
Assignee: Havoc Pennington
QA Contact: John (J5) Palmieri
URL: http://bugzilla.gnome.org/show_bug.cg...
Whiteboard:
Keywords: NEEDINFO
Depends on:
Blocks:
 
Reported: 2007-01-19 14:11 UTC by Reinout van Schouwen
Modified: 2011-02-28 07:17 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Reinout van Schouwen 2007-01-19 14:11:26 UTC
A bug with several duplicates forwarded from Epiphany, see
http://bugzilla.gnome.org/show_bug.cgi?id=339941.

Backtrace was generated from '/opt/gnome/bin/epiphany'

Using host libthread_db library "/lib/tls/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1229674272 (LWP 25360)]
0xb6f041fe in __waitpid_nocancel () from /lib/tls/libpthread.so.0
#0  0xb6f041fe in __waitpid_nocancel () from /lib/tls/libpthread.so.0
#1  0xb7e1b8a5 in libgnomeui_segv_handle (signum=-512) at gnome-ui-init.c:792
#2  <signal handler called>
#3  0xb6d147c7 in raise () from /lib/tls/libc.so.6
#4  0xb6d1606b in abort () from /lib/tls/libc.so.6
#5  0xb7a24c15 in _dbus_abort () at dbus-sysdeps.c:89
#6  0xb7a0f157 in _dbus_real_assert (condition=0, 
    condition_text=0x6 <Address 0x6 out of bounds>, 
    file=0x6 <Address 0x6 out of bounds>, line=6, 
    func=0x6 <Address 0x6 out of bounds>) at dbus-internals.c:477
#7  0xb79de9c0 in _dbus_connection_last_unref (connection=0x819c610)
    at dbus-connection.c:1798
#8  0xb7eb6fa0 in dbus_g_connection_unref (gconnection=0x819c614)
    at dbus-glib.c:80
#9  0x08076dc5 in ephy_dbus_disconnect_bus (bus=0x819c614) at ephy-dbus.c:310
#10 0x080774ce in ephy_dbus_finalize (object=0x8157b90) at ephy-dbus.c:340
#11 0xb6ec2fe3 in IA__g_object_unref (_object=0x8157b90) at gobject.c:1762
#12 0x08077904 in _ephy_dbus_release () at ephy-dbus.c:579
#13 0x080767f1 in main (argc=3, argv=0xbf937f34) at ephy-main.c:735

Thread 1 (Thread -1229674272 (LWP 25360)):
#0  0xb6f041fe in __waitpid_nocancel () from /lib/tls/libpthread.so.0
No symbol table info available.
#1  0xb7e1b8a5 in libgnomeui_segv_handle (signum=-512) at gnome-ui-init.c:792
        estatus = -1214083134
        in_segv = 1
        sa = {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, 
  sa_mask = {__val = {3080925506, 3080874242, 3080927427, 3080777999, 
      135906104, 135906064, 14, 3080951784, 135907940, 135906104, 3214108680, 
      135915064, 135906832, 3080951784, 3214108696, 3080777999, 1, 
      3080923536, 3080923519, 375, 3080923252, 0, 3080923519, 3080742463, 
      3080951784, 3080951784, 3214108744, 3080777999, 11259375, 3080880352, 
      1, 1002}}, sa_flags = -1214086944, sa_restorer = 0}
        pid = 0
#2  <signal handler called>
No symbol table info available.
#3  0xb6d147c7 in raise () from /lib/tls/libc.so.6
No symbol table info available.
#4  0xb6d1606b in abort () from /lib/tls/libc.so.6
No symbol table info available.
#5  0xb7a24c15 in _dbus_abort () at dbus-sysdeps.c:89
        s = 0x0
#6  0xb7a0f157 in _dbus_real_assert (condition=0, 
    condition_text=0x6 <Address 0x6 out of bounds>, 
    file=0x6 <Address 0x6 out of bounds>, line=6, 
    func=0x6 <Address 0x6 out of bounds>) at dbus-internals.c:477
No locals.
#7  0xb79de9c0 in _dbus_connection_last_unref (connection=0x819c610)
    at dbus-connection.c:1798
        link = <value optimized out>
        __FUNCTION__ = "_dbus_connection_last_unref"
#8  0xb7eb6fa0 in dbus_g_connection_unref (gconnection=0x819c614)
    at dbus-glib.c:80
No locals.
#9  0x08076dc5 in ephy_dbus_disconnect_bus (bus=0x819c614) at ephy-dbus.c:310
No locals.
#10 0x080774ce in ephy_dbus_finalize (object=0x8157b90) at ephy-dbus.c:340
        dbus = (EphyDbus *) 0x8157b90
#11 0xb6ec2fe3 in IA__g_object_unref (_object=0x8157b90) at gobject.c:1762
        object = (GObject *) 0x8157b90
        __PRETTY_FUNCTION__ = "IA__g_object_unref"
#12 0x08077904 in _ephy_dbus_release () at ephy-dbus.c:579
        __PRETTY_FUNCTION__ = "_ephy_dbus_release"
#13 0x080767f1 in main (argc=3, argv=0xbf937f34) at ephy-main.c:735
        option_context = <value optimized out>
        option_group = <value optimized out>
        proxy = (DBusGProxy *) 0x8197e90
        error = (GError *) 0x0
        user_time = 37360535
        env = <value optimized out>
        enable_pango = <value optimized out>
#0  0xb6f041fe in __waitpid_nocancel () from /lib/tls/libpthread.so.0
Comment 1 Reinout van Schouwen 2007-01-19 14:11:56 UTC
critical
Comment 2 Christian Persch (GNOME) 2007-01-19 14:16:07 UTC
There are two failed assertions that appear in those bug reports on b.g.o:

#8  0xb737eaf0 in _dbus_real_assert (condition=0, 
    condition_text=0xb73925e0 "!_dbus_transport_get_is_connected
(connection->transport)", file=0xb7391799 "dbus-connection.c", line=1797, 
    func=0xb7392587 "_dbus_connection_last_unref") at dbus-internals.c:477
#9  0xb7351d2b in _dbus_connection_last_unref (connection=0x8209950)

and:

#8  0x45c429e7 in _dbus_real_assert (condition=0, 
    condition_text=0x45c53198 "connection->server_guid == NULL", 
    file=0x45c529d8 "dbus-connection.c", line=1798, 
    func=0x45c54c0d "_dbus_connection_last_unref") at dbus-internals.c:477
#9  0x45c1d8f0 in _dbus_connection_last_unref (connection=0x81fff88
Comment 3 Havoc Pennington 2007-01-19 14:23:26 UTC
with latest dbus and correct use of the dbus API (see API docs on 
dbus_connection_unref / dbus_connection_open / dbus_bus_get) I don't think 
this is a dbus issue.

With older dbus this could be triggered by correct application code, but I 
don't think so anymore.

In any case, will need to know the dbus version and see the epiphany code.
Comment 4 Christian Persch (GNOME) 2007-01-31 05:16:12 UTC
The code in question is here: http://svn.gnome.org/viewcvs/epiphany/trunk/src/ephy-dbus.c?rev=6862&view=markup

It's using dbus_g_bus_get/dbus_g_connection_unref; we don't close the connection anymore.
Comment 5 Havoc Pennington 2007-01-31 06:22:14 UTC
The trace has "ephy_dbus_disconnect_bus" which I don't see in the current code?

Any news on the dbus version this happens with?
Comment 6 Simon McVittie 2011-02-28 07:17:31 UTC
Before this commit, Epiphany was closing shared bus connections, which isn't allowed. libdbus diagnoses this as a programming error with a fatal-by-default warning.

2006-10-18  Wouter Bolsterlee  <wbolster {at} gnome.org>

	* src/ephy-dbus.c: (ephy_dbus_shutdown):
	Don't try to close shared dbus connections. This avoids
	dbus warnings on quit. Fixes bug 358007.

Since r6651, it's been correct.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.