Make rhythmdb enforce URI-uniqueness
Submitted by ilk..@..il.com
Link to original bug (#353119)
Description
From: Ilkka Rauta ilkka.rauta@gmail.com To: submit@bugs.gnome.org X-Mailer: bug-buddy 2.14.0 Subject: Rhythmbox crashes when removing radio stations
Distribution: Ubuntu 6.06 (dapper) Package: rhythmbox Severity: Normal Version: GNOME2.14.3 0.9.3.1 Gnome-Distributor: Ubuntu Synopsis: Rhythmbox crashes when removing radio stations Bugzilla-Product: rhythmbox Bugzilla-Component: general Bugzilla-Version: 0.9.3.1 BugBuddy-GnomeVersion: 2.0 (2.14.1) Description: Description of the crash: I had two items in the internet radio station listing, that are pointing to same playlist address. Removing one works, but when the other item is removed, application crashes. When the program is started again, neither of the items were removed from the list.
Steps to reproduce the crash:
- Insert two items in the radio station listing, that have the same playlist address.
- Remove one of them.
- Then, remove the other too.
Expected Results: Crash.
How often does this happen? This seems to happen consistently no matter what the radio station is, though my testing is quite limited.
Additional information: The duplicate entries can be removed, if Rhythmbox is closed and started again after removing the first radio list item.
Debugging Information:
Backtrace was generated from '/usr/bin/rhythmbox'
(no debugging symbols found) Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1226078528 (LWP 12009)] [New Thread -1249403984 (LWP 12012)] [New Thread -1241011280 (LWP 12011)] (no debugging symbols found) 0xffffe410 in __kernel_vsyscall ()
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7a4848b in __waitpid_nocancel ()
from /lib/tls/i686/cmov/libpthread.so.0
#2 0xb7f5f8e6 in libgnomeui_module_info_get ()
from /usr/lib/libgnomeui-2.so.0
#3 <signal handler called>
#4 0xffffe410 in __kernel_vsyscall ()
#5 0xb70a29a1 in raise () from /lib/tls/i686/cmov/libc.so.6
#6 0xb70a42b9 in abort () from /lib/tls/i686/cmov/libc.so.6
#7 0xb71e9006 in g_logv () from /usr/lib/libglib-2.0.so.0
#8 0xb71e903a in g_log () from /usr/lib/libglib-2.0.so.0
#9 0xb71e90a6 in g_assert_warning () from /usr/lib/libglib-2.0.so.0
#10 0x080b573f in rhythmdb_tree_new ()
#11 0x080a7b52 in rhythmdb_entry_delete ()
#12 0x08091f00 in rb_iradio_source_add_station ()
#13 0x0808a59f in rb_source_delete ()
#14 0x0807bded in rb_shell_clipboard_new ()
#15 0xb72ae423 in g_cclosure_marshal_VOID__VOID ()
from /usr/lib/libgobject-2.0.so.0
#16 0xb72a279f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#17 0xb72b12ea in g_signal_stop_emission () from
/usr/lib/libgobject-2.0.so.0
#18 0xb72b2b19 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#19 0xb72b2e89 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#20 0xb75da9b6 in _gtk_action_emit_activate ()
from /usr/lib/libgtk-x11-2.0.so.0
#21 0xb75dae6c in gtk_action_activate () from
/usr/lib/libgtk-x11-2.0.so.0
#22 0xb72ae423 in g_cclosure_marshal_VOID__VOID ()
from /usr/lib/libgobject-2.0.so.0
#23 0xb72a279f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#24 0xb72b12ea in g_signal_stop_emission () from
/usr/lib/libgobject-2.0.so.0
#25 0xb72b2b19 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#26 0xb72b2e89 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#27 0xb7789bed in gtk_widget_activate () from
/usr/lib/libgtk-x11-2.0.so.0
#28 0xb76b654f in gtk_menu_shell_activate_item ()
from /usr/lib/libgtk-x11-2.0.so.0
#29 0xb76b6821 in gtk_menu_shell_activate_item ()
from /usr/lib/libgtk-x11-2.0.so.0
#30 0xb76acfd4 in gtk_menu_reorder_child () from
/usr/lib/libgtk-x11-2.0.so.0
#31 0xb76a78e0 in _gtk_marshal_BOOLEAN__BOXED ()
from /usr/lib/libgtk-x11-2.0.so.0
#32 0xb72a216f in g_cclosure_new_swap () from
/usr/lib/libgobject-2.0.so.0
#33 0xb72a279f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#34 0xb72b19ce in g_signal_stop_emission () from
/usr/lib/libgobject-2.0.so.0
#35 0xb72b2886 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
#36 0xb72b2e89 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#37 0xb7789dcf in gtk_widget_activate () from
/usr/lib/libgtk-x11-2.0.so.0
#38 0xb76a605d in gtk_propagate_event () from
/usr/lib/libgtk-x11-2.0.so.0
#39 0xb76a646b in gtk_main_do_event () from
/usr/lib/libgtk-x11-2.0.so.0
#40 0xb7549dec in _gdk_events_queue () from
/usr/lib/libgdk-x11-2.0.so.0
#41 0xb71e08d6 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#42 0xb71e3996 in g_main_context_check () from
/usr/lib/libglib-2.0.so.0
#43 0xb71e3cb8 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#44 0xb7ae3477 in bonobo_main () from /usr/lib/libbonobo-2.so.0
#45 0x0806a999 in main ()
Thread 3 (Thread -1241011280 (LWP 12011)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7a44eec in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#2 0xb7a515dc in ?? () from /usr/lib/libgthread-2.0.so.0
No symbol table info available.
#3 0x082b9ca8 in ?? ()
No symbol table info available.
#4 0x082ade08 in ?? ()
No symbol table info available.
#5 0xb607a324 in ?? ()
No symbol table info available.
#6 0xb71ef4d2 in g_queue_push_head () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#7 0xb71cad8c in g_async_queue_push_sorted () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#8 0xb71cb03a in g_async_queue_timed_pop () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#9 0x080a63e6 in rhythmdb_entry_get ()
No symbol table info available.
#10 0xb71fc5a2 in g_static_private_free () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#11 0xb7a42341 in start_thread () from
/lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#12 0xb71434ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
Thread 2 (Thread -1249403984 (LWP 12012)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb71398c4 in poll () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb71e37e8 in g_main_context_check () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#3 0xb71e3cb8 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#4 0xb7a9370e in link_thread_io_context () from
/usr/lib/libORBit-2.so.0
No symbol table info available.
#5 0xb71fc5a2 in g_static_private_free () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#6 0xb7a42341 in start_thread () from
/lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#7 0xb71434ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
Thread 1 (Thread -1226078528 (LWP 12009)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7a4848b in __waitpid_nocancel ()
from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#2 0xb7f5f8e6 in libgnomeui_module_info_get ()
from /usr/lib/libgnomeui-2.so.0
No symbol table info available.
#3 <signal handler called>
No symbol table info available.
#4 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#5 0xb70a29a1 in raise () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#6 0xb70a42b9 in abort () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#7 0xb71e9006 in g_logv () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#8 0xb71e903a in g_log () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#9 0xb71e90a6 in g_assert_warning () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#10 0x080b573f in rhythmdb_tree_new ()
No symbol table info available.
#11 0x080a7b52 in rhythmdb_entry_delete ()
No symbol table info available.
#12 0x08091f00 in rb_iradio_source_add_station ()
No symbol table info available.
#13 0x0808a59f in rb_source_delete ()
No symbol table info available.
#14 0x0807bded in rb_shell_clipboard_new ()
No symbol table info available.
#15 0xb72ae423 in g_cclosure_marshal_VOID__VOID ()
from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#16 0xb72a279f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#17 0xb72b12ea in g_signal_stop_emission () from
/usr/lib/libgobject-2.0.so.0
No symbol table info available.
#18 0xb72b2b19 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
No symbol table info available.
#19 0xb72b2e89 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#20 0xb75da9b6 in _gtk_action_emit_activate ()
from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#21 0xb75dae6c in gtk_action_activate () from
/usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#22 0xb72ae423 in g_cclosure_marshal_VOID__VOID ()
from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#23 0xb72a279f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#24 0xb72b12ea in g_signal_stop_emission () from
/usr/lib/libgobject-2.0.so.0
No symbol table info available.
#25 0xb72b2b19 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
No symbol table info available.
#26 0xb72b2e89 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#27 0xb7789bed in gtk_widget_activate () from
/usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#28 0xb76b654f in gtk_menu_shell_activate_item ()
from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#29 0xb76b6821 in gtk_menu_shell_activate_item ()
from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#30 0xb76acfd4 in gtk_menu_reorder_child () from
/usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#31 0xb76a78e0 in _gtk_marshal_BOOLEAN__BOXED ()
from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#32 0xb72a216f in g_cclosure_new_swap () from
/usr/lib/libgobject-2.0.so.0
No symbol table info available.
#33 0xb72a279f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#34 0xb72b19ce in g_signal_stop_emission () from
/usr/lib/libgobject-2.0.so.0
No symbol table info available.
#35 0xb72b2886 in g_signal_emit_valist () from
/usr/lib/libgobject-2.0.so.0
No symbol table info available.
#36 0xb72b2e89 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#37 0xb7789dcf in gtk_widget_activate () from
/usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#38 0xb76a605d in gtk_propagate_event () from
/usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#39 0xb76a646b in gtk_main_do_event () from
/usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#40 0xb7549dec in _gdk_events_queue () from
/usr/lib/libgdk-x11-2.0.so.0
No symbol table info available.
#41 0xb71e08d6 in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#42 0xb71e3996 in g_main_context_check () from
/usr/lib/libglib-2.0.so.0
No symbol table info available.
#43 0xb71e3cb8 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#44 0xb7ae3477 in bonobo_main () from /usr/lib/libbonobo-2.so.0
No symbol table info available.
#45 0x0806a999 in main ()
No symbol table info available.
#0 0xffffe410 in __kernel_vsyscall ()
------- Bug created by bug-buddy at 2006-08-27 17:45 -------
Bugreport had an attachment. This cannot be imported to Bugzilla. Contact bugmaster@gnome.org if you are willing to write a patch for this.
Version: HEAD