GNOME Bugzilla – Bug 647184
crash in Rhythmbox: syncing music
Last modified: 2018-05-24 15:54:26 UTC
Version: 0.13.1 What were you doing when the application crashed? syncing music Distribution: Ubuntu 10.10 (maverick) Gnome Release: 2.32.0 2010-09-27 (Ubuntu) BugBuddy Version: 2.31.92 System: Linux 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:39:03 UTC 2011 x86_64 X Vendor: The X.Org Foundation X Vendor Release: 10900000 Selinux: No Accessibility: Disabled GTK+ Theme: Ambiance Icon Theme: ubuntu-mono-dark GTK+ Modules: gnomesegvhandler Memory status: size: 1160310784 vsize: 1160310784 resident: 139530240 share: 43442176 rss: 139530240 rss_rlim: 18446744073709551615 CPU usage: start_time: 1302276559 rtime: 2832 utime: 1233 stime: 1599 cutime:44 cstime: 1385 timeout: 0 it_real_value: 0 frequency: 100 Backtrace was generated from '/usr/bin/rhythmbox' [Thread debugging using libthread_db enabled] [New Thread 0x7f72d777f700 (LWP 27394)] [New Thread 0x7f72d6f7e700 (LWP 27219)] [New Thread 0x7f72d5f7c700 (LWP 24421)] [New Thread 0x7f72d8865700 (LWP 24418)] [New Thread 0x7f72e09be700 (LWP 24392)] [New Thread 0x7f72eb585700 (LWP 24391)] [New Thread 0x7f72f4128700 (LWP 24382)] 0x00007f73063776dd in waitpid () from /lib/libpthread.so.0
+ Trace 226650
Thread 1 (Thread 0x7f730aafe940 (LWP 24375))
Inferior 1 [process 24375] will be detached. Quit anyway? (y or n) [answered Y; input not from terminal] ---- Critical and fatal warnings logged during execution ---- ** GLib-GObject **: g_signal_connect_object: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed ** GLib-GObject **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed ** rhythmbox **: dbus_g_proxy_begin_call: assertion `DBUS_IS_G_PROXY (proxy)' failed ** GLib-GObject **: g_signal_connect_object: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed ** GLib-GObject **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed ** rhythmbox **: dbus_g_proxy_begin_call: assertion `DBUS_IS_G_PROXY (proxy)' failed ** GLib-GObject **: g_signal_connect_object: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed ** GLib-GObject **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed ** rhythmbox **: dbus_g_proxy_begin_call: assertion `DBUS_IS_G_PROXY (proxy)' failed ** GLib-GObject **: g_signal_connect_object: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed ** GLib-GObject **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed ** rhythmbox **: dbus_g_proxy_begin_call: assertion `DBUS_IS_G_PROXY (proxy)' failed ** GLib-GObject **: g_signal_connect_object: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed ** GLib-GObject **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed ** rhythmbox **: dbus_g_proxy_begin_call: assertion `DBUS_IS_G_PROXY (proxy)' failed
might be duplicate of bug 454247
*** Bug 733581 has been marked as a duplicate of this bug. ***
*** Bug 725624 has been marked as a duplicate of this bug. ***
The below is the stack trace of refcount updaters, when a new magnatune entry is added to rhythmdb. The watchpoint is for entry->refcount ( after the memory is allocated for entry ) Hardware watchpoint 4: *0x1777df4 Old value = 0 New value = 1 rhythmdb_entry_allocate (db=db@entry=0xa1e2a0, type=type@entry=0xb849e0) at /local/packages/source/git/rhythmbox/rhythmdb/rhythmdb.c:1666
+ Trace 233943
Breakpoint 3, rhythmdb_entry_new (db=0xa1e2a0, type=0xb849e0, uri=0xdcd380 "http://he3.magnatune.com/all/02-Oboe%20Quartet%20in%20F%20%28K370%29%20-%20Adagio-American%20Baroque.ogg") at /local/packages/source/git/rhythmbox/rhythmdb/rhythmdb.c:1745
The last stack trace in the above comment ( entry->refcount decrement ) seems to be the problem. 0x00007ffff7b461e9 in rhythmdb_entry_unref (entry=0x1777df0) at /local/packages/source/git/rhythmbox/rhythmdb/rhythmdb.c:1875
+ Trace 233944
I'm not sure what is going on here. The code for _boxed_dealloc() seems to be in python3-gi. Any clues ?
commit 1569b882d22acc3ab9f964bfef85500b4c9aa551 Author: Jonathan Matthew <jonathan@d14n.org> Date: Fri Aug 8 23:30:30 2014 +1000 rhythmdb: fix transfer annotation for rhythmdb_entry_new rhythmdb_entry_new is a bit unusual in that the caller doesn't own a reference to the newly created entry. This isn't really a problem as the caller is responsible for deleting its own entries (or at least any callers going via introspection are), and absent any other refcounting bugs, the entry will stay alive until it is deleted. This fixes crashes when deactivating the magnatune plugin, or when quitting with the magnatune catalog loaded.
The above commit fixes the issue. The fix avoids the extra refcount decrement while adding the entry to rhythmdb.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/1072.