Bug 232691

Summary: libnm_glib does not call dbus_connection_close() on its private connection
Product: [Fedora] Fedora Reporter: sangu <sangu.fedora>
Component: NetworkManagerAssignee: Dan Williams <dcbw>
Status: CLOSED UPSTREAM QA Contact:
Severity: high Docs Contact:
Priority: medium    
Version: 7CC: havardw, jik, joe.ammond, jukka, mbarnes, mclasen, overholt, spalin
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: NetworkManager-0.6.5-0.6.svn2474.fc7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-12 03:29:24 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description sangu 2007-03-16 17:32:32 UTC
Description of problem:
Doing quit, evolution crashes.

Distribution: Fedora release 6.91 (Rawhide)
Gnome Release: 2.18.0 2007-03-13 (Red Hat, Inc)
BugBuddy Version: 2.18.0

System: Linux 2.6.20-1.2990.fc7 #1 SMP Thu Mar 15 19:22:31 EDT 2007 i686
X Vendor: The X.Org Foundation
X Vendor Release: 70200000
Selinux: No
Accessibility: Disabled
GTK+ Theme: Clearlooks-sangu
Icon Theme: Tango

Memory status: size: 130621440 vsize: 130621440 resident: 37609472 share:
21286912 rss: 37609472 rss_rlim: 4294967295
CPU usage: start_time: 1174066580 rtime: 484 utime: 418 stime: 66 cutime:68
cstime: 35 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/bin/evolution'

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1208669968 (LWP 6912)]
[New Thread -1236939888 (LWP 6959)]
0x00eff402 in __kernel_vsyscall ()
#0  0x00eff402 in __kernel_vsyscall ()
#1  0x00b3cbfb in waitpid () from /lib/libpthread.so.0
#2  0x00506a46 in libgnomeui_segv_handle (signum=6) at gnome-ui-init.c:872
#3  <signal handler called>
#4  0x00eff402 in __kernel_vsyscall ()
#5  0x035f5f60 in *__GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x035f77b1 in *__GI_abort () at abort.c:88
#7  0x00b14f55 in _dbus_abort () at dbus-sysdeps.c:84
#8  0x00b10ee6 in _dbus_warn_check_failed (
    format=0xb1930c "The last reference on a connection was dropped without
closing the connection. This is a bug in an application. See
dbus_connection_unref() documentation for details.\n%s") at dbus-internals.c:283
#9  0x00af8550 in dbus_connection_unref (connection=0x9843dc0)
    at dbus-connection.c:2639
#10 0x00d6efba in libnm_glib_ctx_free (ctx=0x9849200) at libnm_glib.c:449
#11 0x08050fc0 in e_shell_nm_glib_dispose (window=0x9762828)
    at e-shell-nm-glib.c:79
#12 0x0805c9f1 in impl_dispose (object=0x9762828) at e-shell-window.c:869
#13 0x00aa8420 in IA__g_object_run_dispose (object=0x9762828) at gobject.c:573
#14 0x010fd1ce in IA__gtk_object_destroy (object=0x9762828) at gtkobject.c:403
#15 0x011f9495 in IA__gtk_widget_destroy (widget=0x9762828)
    at gtkwidget.c:2168
#16 0x08053532 in e_shell_close_all_windows (shell=0x9790e90)
    at e-shell.c:1053
#17 0x08053694 in es_run_quit (shell=0x9790e90) at e-shell.c:1316
#18 0x01fb8bf6 in g_timeout_dispatch (source=0x9876838, callback=0x6, 
    user_data=0x9790e90) at gmain.c:3422
#19 0x01fb8622 in IA__g_main_context_dispatch (context=0x9712268)
    at gmain.c:2045
#20 0x01fbb5ff in g_main_context_iterate (context=0x9712268, block=1, 
    dispatch=1, self=0x96eb648) at gmain.c:2677
#21 0x01fbb9a9 in IA__g_main_loop_run (loop=0x972bb60) at gmain.c:2881
#22 0x006847e3 in bonobo_main () at bonobo-main.c:311
#23 0x0805ebc6 in main (argc=2, argv=0xbfde3fb4) at main.c:610

Thread 2 (Thread -1236939888 (LWP 6959)):
#0  0x00eff402 in __kernel_vsyscall ()
No symbol table info available.
#1  0x036910f3 in *__GI___poll (fds=0x3719ff4, nfds=7, timeout=-1)
    at ../sysdeps/unix/sysv/linux/poll.c:87
	resultvar = <value optimized out>
	oldtype = 0
	result = <value optimized out>
#2  0x01fbb633 in g_main_context_iterate (context=0xa0a4e30, block=1, 
    dispatch=1, self=0x971b3a8) at gmain.c:2979
	got_ownership = <value optimized out>
	max_priority = 2147483647
	timeout = -1
	some_ready = <value optimized out>
	nfds = 7
	allocated_nfds = <value optimized out>
	fds = (GPollFD *) 0x971a2a0
	__PRETTY_FUNCTION__ = "g_main_context_iterate"
#3  0x01fbb9a9 in IA__g_main_loop_run (loop=0xa0a4dc0) at gmain.c:2881
	got_ownership = 11760112
	self = (GThread *) 0x971b3a8
	__PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#4  0x007394e0 in link_io_thread_fn (data=0x0) at linc.c:399
No locals.
#5  0x01fd649f in g_thread_create_proxy (data=0x971b3a8) at gthread.c:591
	__PRETTY_FUNCTION__ = "g_thread_create_proxy"
#6  0x00b352db in start_thread (arg=0xb645cb90) at pthread_create.c:296
	__res = <value optimized out>
	__ignore1 = <value optimized out>
	__ignore2 = <value optimized out>
	pd = (struct pthread *) 0xb645cb90
	now = <value optimized out>
	unwind_buf = {cancel_jmp_buf = {{jmp_buf = {11816948, 0, 4001536, 
        -1236941672, -203598486, 520061959}, mask_was_saved = 0}}, priv = {
    pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, 
      canceltype = 0}}}
	not_first_call = 0
	robust = <value optimized out>
#7  0x0369ad3e in clone () from /lib/libc.so.6
	fstab_state = {fs_fp = 0x0, fs_buffer = 0x0, fs_mntres = {
    mnt_fsname = 0x0, mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0, 
    mnt_freq = 0, mnt_passno = 0}, fs_ret = {fs_spec = 0x0, fs_file = 0x0, 
    fs_vfstype = 0x0, fs_mntops = 0x0, fs_type = 0x0, fs_freq = 0, 
    fs_passno = 0}}
	__elf_set___libc_subfreeres_element_fstab_free__ = (
    const void *) 0x36d9e20

Thread 1 (Thread -1208669968 (LWP 6912)):
#0  0x00eff402 in __kernel_vsyscall ()
No symbol table info available.
#1  0x00b3cbfb in waitpid () from /lib/libpthread.so.0
No symbol table info available.
#2  0x00506a46 in libgnomeui_segv_handle (signum=6) at gnome-ui-init.c:872
	estatus = 158943488
	sa = {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0}, 
  sa_mask = {__val = {1, 158943488, 11384428, 11765472, 11760112, 3219011000, 
      11765488, 3219011112, 11250399, 11385276, 158943488, 159660592, 
      159679376, 159679384, 2, 3219011080, 33731268, 0, 158943488, 
      3219011080, 33290433, 159679384, 159642192, 158800524, 20200368, 
      20200368, 159679384, 3219011128, 18537571, 159679384, 19724330, 
      11249883}}, sa_flags = 20200368, sa_restorer = 0}
	pid = 0
	in_segv = 1
#3  <signal handler called>
No symbol table info available.
#4  0x00eff402 in __kernel_vsyscall ()
No symbol table info available.
#5  0x035f5f60 in *__GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
	resultvar = <value optimized out>
	pid = 57778164
	selftid = 6912
#6  0x035f77b1 in *__GI_abort () at abort.c:88
	act = {__sigaction_handler = {sa_handler = 0xb7f60820, 
    sa_sigaction = 0xb7f60820}, sa_mask = {__val = {3219012116, 0, 
      4269206038, 3219012176, 3086353128, 11468761, 14080237, 3219012192, 
      3086353128, 11469093, 252833149, 0, 0, 11468644, 4287073986, 0, 0, 64, 
      3219012048, 57195140, 64, 56807988, 2, 11654172, 64, 57779552, 64, 
      3219012092, 56807173, 57779552, 11654172, 64}}, sa_flags = 57779623, 
  sa_restorer = 0x40}
	sigs = {__val = {32, 0 <repeats 31 times>}}
#7  0x00b14f55 in _dbus_abort () at dbus-sysdeps.c:84
	s = 0x0
#8  0x00b10ee6 in _dbus_warn_check_failed (
    format=0xb1930c "The last reference on a connection was dropped without
closing the connection. This is a bug in an application. See
dbus_connection_unref() documentation for details.\n%s") at dbus-internals.c:283
	args = 0xbfde3ad4 "\234\222±"
#9  0x00af8550 in dbus_connection_unref (connection=0x9843dc0)
    at dbus-connection.c:2639
	__FUNCTION__ = "dbus_connection_unref"
#10 0x00d6efba in libnm_glib_ctx_free (ctx=0x9849200) at libnm_glib.c:449
	__PRETTY_FUNCTION__ = "libnm_glib_ctx_free"
	__func__ = "libnm_glib_ctx_free"
#11 0x08050fc0 in e_shell_nm_glib_dispose (window=0x9762828)
    at e-shell-nm-glib.c:79
No locals.
#12 0x0805c9f1 in impl_dispose (object=0x9762828) at e-shell-window.c:869
	self = (EShellWindow *) 0x9762828
	priv = (EShellWindowPrivate *) 0x97336a0
#13 0x00aa8420 in IA__g_object_run_dispose (object=0x9762828) at gobject.c:573
	__PRETTY_FUNCTION__ = "IA__g_object_run_dispose"
#14 0x010fd1ce in IA__gtk_object_destroy (object=0x9762828) at gtkobject.c:403
	__PRETTY_FUNCTION__ = "IA__gtk_object_destroy"
#15 0x011f9495 in IA__gtk_widget_destroy (widget=0x9762828)
    at gtkwidget.c:2168
	__PRETTY_FUNCTION__ = "IA__gtk_widget_destroy"
#16 0x08053532 in e_shell_close_all_windows (shell=0x9790e90)
    at e-shell.c:1053
	p = (GList *) 0x0
	pnext = (GList *) 0x0
	__PRETTY_FUNCTION__ = "e_shell_close_all_windows"
#17 0x08053694 in es_run_quit (shell=0x9790e90) at e-shell.c:1316
	priv = (EShellPrivate *) 0x97a3320
	component_infos = <value optimized out>
	sp = <value optimized out>
	done_quit = 1 '\001'
	__PRETTY_FUNCTION__ = "es_run_quit"
#18 0x01fb8bf6 in g_timeout_dispatch (source=0x9876838, callback=0x6, 
    user_data=0x9790e90) at gmain.c:3422
No locals.
#19 0x01fb8622 in IA__g_main_context_dispatch (context=0x9712268)
    at gmain.c:2045
No locals.
#20 0x01fbb5ff in g_main_context_iterate (context=0x9712268, block=1, 
    dispatch=1, self=0x96eb648) at gmain.c:2677
	got_ownership = <value optimized out>
	max_priority = 0
	timeout = 0
	some_ready = 1
	nfds = <value optimized out>
	allocated_nfds = <value optimized out>
	fds = (GPollFD *) 0x9e8c3b8
	__PRETTY_FUNCTION__ = "g_main_context_iterate"
#21 0x01fbb9a9 in IA__g_main_loop_run (loop=0x972bb60) at gmain.c:2881
	got_ownership = 11760112
	self = (GThread *) 0x96eb648
	__PRETTY_FUNCTION__ = "IA__g_main_loop_run"
#22 0x006847e3 in bonobo_main () at bonobo-main.c:311
	loop = (GMainLoop *) 0x972bb60
#23 0x0805ebc6 in main (argc=2, argv=0xbfde3fb4) at main.c:610
	fd = <value optimized out>
	uri_list = (GSList *) 0x0
	program = (GnomeProgram *) 0x96f4810
	context = <value optimized out>
#0  0x00eff402 in __kernel_vsyscall ()
The program is running.  Quit anyway (and detach it)? (y or n) [answered Y;
input not from terminal]


----------- .xsession-errors (10 sec old) ---------------------
  D-Bus not built with -rdynamic so unable to print a backtrace
CalDAV Eplugin starting up ...
** (evolution:6912): DEBUG: mailto URL command: evolution --component=mail %s
** (evolution:6912): DEBUG: mailto URL program: evolution
libnm_glib_nm_state_cb: dbus returned an error.
  (org.freedesktop.DBus.Error.ServiceUnknown) The name
org.freedesktop.NetworkManager was not provided by any .service files
(evolution:6912): e-data-server-ui-DEBUG: ep_msg_send: in main thread? 0
(evolution:6912): e-data-server-ui-DEBUG: ep_msg_send: in main thread? 0
(evolution:6912): e-data-server-ui-DEBUG: ep_msg_send: in main thread? 0
(evolution:6912): e-data-server-ui-DEBUG: ep_msg_send: in main thread? 0
(evolution:6912): e-data-server-ui-DEBUG: ep_msg_send: in main thread? 0
(evolution:6912): e-data-server-ui-DEBUG: ep_msg_send: in main thread? 0
process 6912: The last reference on a connection was dropped without closing the
connection. This is a bug in an application. See dbus_connection_unref()
documentation for details.
Most likely, the application was supposed to call dbus_connection_close(), since
this is a private connection.
  D-Bus not built with -rdynamic so unable to print a backtrace
--------------------------------------------------


Version-Release number of selected component (if applicable):
2.10.0-2.fc7

How reproducible:
always

Steps to Reproduce:
1. starting evolution
2. ctrl+q (quit)
3.
  
Actual results:


Expected results:


Additional info:
Installing new NetworkManager packages(version 0.6.5-0.4.svn2474.fc7), this
problem happens

Comment 1 Matthew Barnes 2007-03-19 14:08:29 UTC
*** Bug 232898 has been marked as a duplicate of this bug. ***

Comment 2 Matthew Barnes 2007-03-20 20:06:15 UTC
This might possibly be the infamous
http://bugzilla.gnome.org/show_bug.cgi?id=334966.

Could be a reference counting error in evolution or libnm_glib.

Investigating...

Comment 3 Matthew Barnes 2007-03-23 16:03:54 UTC
*** Bug 233632 has been marked as a duplicate of this bug. ***

Comment 4 Matthew Barnes 2007-03-24 21:55:28 UTC
*** Bug 233773 has been marked as a duplicate of this bug. ***

Comment 5 Matthew Barnes 2007-03-25 02:03:14 UTC
This is a bug in libnm_glib.  Private D-Bus connections need to call
dbus_connection_close() before dropping the last reference.

Changing component to NetworkManager.

A patch to fix the problem is available in an upstream bug report:
http://bugzilla.gnome.org/show_bug.cgi?id=405646

Comment 6 Matthew Barnes 2007-03-25 13:25:06 UTC
*** Bug 233807 has been marked as a duplicate of this bug. ***

Comment 7 Skip Palin 2007-03-26 12:05:32 UTC
I will apply the patch.

Comment 8 Matthias Clasen 2007-03-28 19:55:04 UTC
Can we get the simple fix in NetworkManager ?

Comment 9 Matthew Barnes 2007-03-29 11:44:13 UTC
Fixed in NetworkManager-0.6.5-0.6.svn2474.fc7.

Comment 10 Matthew Barnes 2007-09-21 15:27:55 UTC
Reopening.  The fix for this bug somehow got removed from the upstream source.

Patch is here: http://bugzilla.gnome.org/show_bug.cgi?id=405646#c9

Comment 11 Matthew Barnes 2007-09-21 15:28:59 UTC
*** Bug 299641 has been marked as a duplicate of this bug. ***

Comment 12 Dan Williams 2008-02-12 03:29:24 UTC
I'm pretty sure this is in 0.6.5-7.fc7 and has been there for a while.  Upstream
sources have the fix too now.