crash in rhythmdb_tree_save (threading?)
Submitted by me@..@..hu.edu
Link to original bug (#465946)
Description
Version: 0.10.1
What were you doing when the application crashed? Exiting rhythmbox, after configuring last.fm plugin.
Distribution: Debian lenny/sid Gnome Release: 2.18.3 2007-07-03 (Debian) BugBuddy Version: 2.18.1
System: Linux 2.6.21-ck2-phc-ck-systemtap-powertop-free #3 SMP PREEMPT Tue Aug 7 11:34:38 EDT 2007 i686 X Vendor: The X.Org Foundation X Vendor Release: 10300000 Selinux: No Accessibility: Disabled GTK+ Theme: Clearlooks Icon Theme: gnome
Memory status: size: 57110528 vsize: 57110528 resident: 26664960 share: 16510976 rss: 26664960 rss_rlim: 4294967295 CPU usage: start_time: 1186925105 rtime: 187 utime: 172 stime: 15 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100
Backtrace was generated from '/usr/bin/rhythmbox'
Using host libthread_db library "/lib/i686/cmov/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1228646720 (LWP 5825)] [New Thread -1231139952 (LWP 5848)] 0xffffe410 in __kernel_vsyscall ()
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb7d27676 in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib/i686/cmov/libpthread.so.0
#2 0xb70a5be2 in g_async_queue_sort () from /usr/lib/libglib-2.0.so.0
#3 0xb70a5f85 in g_async_queue_pop () from /usr/lib/libglib-2.0.so.0
#4 0x080ae2ac in rhythmdb_shutdown (db=0x81150b0) at rhythmdb.c:653
#5 0x0806c3f2 in rb_shell_finalize (object=0x8221000) at rb-shell.c:961
#6 0xb726892c in g_object_unref () from /usr/lib/libgobject-2.0.so.0
#7 0xb60be917 in init_gobject ()
from /var/lib/python-support/python2.4/gtk-2.0/gobject/_gobject.so
#8 0xb7deea9d in initgc () from /usr/lib/libpython2.4.so.1.0
#9 0xb7deef9f in PyGC_Collect () from /usr/lib/libpython2.4.so.1.0
#10 0x080a5927 in finalise_collect_cb (data=0x0) at rb-python-module.c:501
#11 0xb70c3036 in g_source_get_current_time () from /usr/lib/libglib-2.0.so.0
#12 0xb70c2a62 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#13 0xb70c5a2f in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#14 0xb70c5dd9 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#15 0xb784d654 in IA__gtk_main ()
at /tmp/buildd/gtk+2.0-2.10.13/gtk/gtkmain.c:1154
#16 0x08062bc0 in main (argc=1, argv=0xbfdc47f4) at main.c:384
Thread 2 (Thread -1231139952 (LWP 5848)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7d2b14b in __waitpid_nocancel () from /lib/i686/cmov/libpthread.so.0
No symbol table info available.
#2 0xb7c57865 in libgnomeui_segv_handle (signum=11) at gnome-ui-init.c:872
estatus = -1231139956
sa = {__sigaction_handler = {sa_handler = 0, sa_sigaction = 0},
sa_mask = {__val = {0, 2147483649, 3063823576, 3086343732, 3086389856,
3063823516, 3036235508, 3036231055, 3086389856, 3063823556, 3036229938,
3063823936, 2147483649, 0, 3070312018, 141122608, 3046487008,
141122608, 3218884596, 4294967295, 3070550004, 3086388448, 3063823844,
3063823604, 3070312129, 141123072, 0, 0, 2, 0, 3086389236, 0}},
sa_flags = -1224525976, sa_restorer = 0xb69e3dd4}
pid = 0
in_segv = 1
#3 <signal handler called>
No symbol table info available.
#4 0xb714873d in xmlEncodeEntitiesReentrant__internal_alias (doc=0x0,
input=0xc23b795f <Address 0xc23b795f out of bounds>) at entities.c:520
cur = (const xmlChar *) 0xc23b795f <Address 0xc23b795f out of bounds>
buffer = (xmlChar *) 0x8678900 "¨ó\004·ø\037h\b"
out = (xmlChar *) 0x8678900 "¨ó\004·ø\037h\b"
buffer_size = 1000
html = 0
#5 0x080bf051 in save_entry_string (ctx=0xb69e434c,
elt_name=0x8220f60 "location",
str=0xc23b795f <Address 0xc23b795f out of bounds>) at rhythmdb-tree.c:727
encoded = <value optimized out>
__PRETTY_FUNCTION__ = "save_entry_string"
#6 0x080bf71b in save_entry (db=0x8294038, entry=0x86673b0, ctx=0xb69e434c)
at rhythmdb-tree.c:954
elt_name = (const xmlChar *) 0x8220f60 "location"
i = RHYTHMDB_PROP_LOCATION
podcast = (RhythmDBPodcastFields *) 0x0
encoded = (xmlChar *) 0x13 <Address 0x13 out of bounds>
#7 0x080bbbd1 in hash_tree_entries_foreach (key=0x86673b0, value=0x0,
data=0xc23b795f) at rhythmdb-tree.c:2252
__PRETTY_FUNCTION__ = "hash_tree_entries_foreach"
#8 0xb70b5a66 in g_hash_table_foreach () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#9 0x080bcd49 in hash_tree_albums_foreach (key=0x822e158, value=0x86669b8,
data=0xb69e4254) at rhythmdb-tree.c:2267
No locals.
#10 0xb70b5a66 in g_hash_table_foreach () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#11 0x080bccd9 in hash_tree_artists_foreach (key=0x822e158, value=0x8667660,
data=0xb69e4254) at rhythmdb-tree.c:2285
No locals.
#12 0xb70b5a66 in g_hash_table_foreach () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#13 0x080bcc59 in hash_tree_genres_foreach (key=0x822e158, value=0x8667650,
data=0xb69e4254) at rhythmdb-tree.c:2306
No locals.
#14 0xb70b5a66 in g_hash_table_foreach () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#15 0x080bca5b in rhythmdb_hash_tree_foreach (adb=0x8294038, type=0x8667360,
entry_func=<value optimized out>, album_func=0, artist_func=0,
genres_func=0, data=0xb69e434c) at rhythmdb-tree.c:2340
ctxt = {db = 0x8294038, entry_func = 0x80bf5f0 <save_entry>,
album_func = 0, artist_func = 0, genres_func = 0, data = 0xb69e434c}
table = (GHashTable *) 0xc23b795f
#16 0x080bcbeb in save_entry_type (name=0x86677a8 "lastfm-station",
entry_type=0x8667360, ctx=0xb69e434c) at rhythmdb-tree.c:991
__FUNCTION__ = "save_entry_type"
#17 0x080a9145 in rhythmdb_entry_type_foreach_cb (
name=0x86677a8 "lastfm-station", entry_type=0x8667360, data=0xb69e4304)
at rhythmdb.c:3975
No locals.
#18 0xb70b5a66 in g_hash_table_foreach () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#19 0x080a90b7 in rhythmdb_entry_type_foreach (db=0x8294038,
func=0x80bcb50 <save_entry_type>, data=0xb69e434c) at rhythmdb.c:3997
d = {func = 0x80bcb50 <save_entry_type>, data = 0xb69e434c}
#20 0x080bea3c in rhythmdb_tree_save (rdb=0x8294038) at rhythmdb-tree.c:1058
db = (RhythmDBTree *) 0x8294038
name = 0x83b5f30 "/home/venkatesh/.gnome2/rhythmbox/rhythmdb.xml"
savepath = (GString *) 0x867aea0
f = (FILE *) 0x85f0c18
ctx = {db = 0x8294038, handle = 0x85f0c18, error = 0x0}
#21 0x080a9d04 in rhythmdb_save_thread_main (db=0x8294038) at rhythmdb.c:2511
__FUNCTION__ = "rhythmdb_save_thread_main"
#22 0xb70e064f in g_thread_create_full () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#23 0xb7d2346b in start_thread () from /lib/i686/cmov/libpthread.so.0
No symbol table info available.
#24 0xb6fdd4de in clone () from /lib/i686/cmov/libc.so.6
No symbol table info available.
Thread 1 (Thread -1228646720 (LWP 5825)):
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7d27676 in pthread_cond_wait@@GLIBC_2.3.2 ()
from /lib/i686/cmov/libpthread.so.0
No symbol table info available.
#2 0xb70a5be2 in g_async_queue_sort () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3 0xb70a5f85 in g_async_queue_pop () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#4 0x080ae2ac in rhythmdb_shutdown (db=0x81150b0) at rhythmdb.c:653
__PRETTY_FUNCTION__ = "rhythmdb_shutdown"
__FUNCTION__ = "rhythmdb_shutdown"
#5 0x0806c3f2 in rb_shell_finalize (object=0x8221000) at rb-shell.c:961
shell = (RBShell *) 0x8221000
__FUNCTION__ = "rb_shell_finalize"
#6 0xb726892c in g_object_unref () from /usr/lib/libgobject-2.0.so.0
No symbol table info available.
#7 0xb60be917 in init_gobject ()
from /var/lib/python-support/python2.4/gtk-2.0/gobject/_gobject.so
No symbol table info available.
#8 0xb7deea9d in initgc () from /usr/lib/libpython2.4.so.1.0
No symbol table info available.
#9 0xb7deef9f in PyGC_Collect () from /usr/lib/libpython2.4.so.1.0
No symbol table info available.
#10 0x080a5927 in finalise_collect_cb (data=0x0) at rb-python-module.c:501
No locals.
#11 0xb70c3036 in g_source_get_current_time () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#12 0xb70c2a62 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#13 0xb70c5a2f in g_main_context_check () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#14 0xb70c5dd9 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#15 0xb784d654 in IA__gtk_main ()
at /tmp/buildd/gtk+2.0-2.10.13/gtk/gtkmain.c:1154
tmp_list = (GList *) 0x81ab9cc
functions = (GList *) 0x0
init = (GtkInitFunction *) 0x8221000
loop = (GMainLoop *) 0x85e9bf0
#16 0x08062bc0 in main (argc=1, argv=0xbfdc47f4) at main.c:384
program = (GnomeProgram *) 0x8105c10
session_bus = (DBusGConnection *) 0x81ab9cc
error = (GError *) 0x0
rb_shell = (RBShell *) 0x8221000
new_argv = (char **) 0x80f6200
context = <value optimized out>
options = {{long_name = 0x80eb75b "debug", short_name = 100 'd',
flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x80f3264,
description = 0x80d64b0 "Enable debug output", arg_description = 0x0}, {
long_name = 0x80d64c4 "debug-match", short_name = 68 'D', flags = 0,
arg = G_OPTION_ARG_STRING, arg_data = 0x80f3268,
description = 0x80d6650 "Enable debug output matching a specified string", arg_description = 0x0}, {long_name = 0x80d64d0 "no-update",
short_name = 0 '\0', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f3280,
description = 0x80d6680 "Do not update the library with file changes",
arg_description = 0x0}, {long_name = 0x80d64da "no-registration",
short_name = 110 'n', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f326c,
description = 0x80d64ea "Do not register the shell",
arg_description = 0x0}, {long_name = 0x80d6504 "dry-run",
short_name = 0 '\0', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f327c,
description = 0x80d66ac "Don't save any data permanently (implies --no-registration)", arg_description = 0x0}, {long_name = 0x80d650c "rhythmdb-file",
short_name = 0 '\0', flags = 0, arg = G_OPTION_ARG_STRING,
arg_data = 0x80f3278,
description = 0x80d651a "Path for database file to use",
arg_description = 0x0}, {long_name = 0x80d6538 "playlists-file",
short_name = 0 '\0', flags = 0, arg = G_OPTION_ARG_STRING,
arg_data = 0x80f3274,
description = 0x80d66e8 "Path for playlists file to use",
arg_description = 0x0}, {long_name = 0x80d83e8 "quit",
short_name = 113 'q', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f3270, description = 0x80d6547 "Quit Rhythmbox",
arg_description = 0x0}, {long_name = 0x80dc71e "", short_name = 0 '\0',
flags = 0, arg = G_OPTION_ARG_STRING_ARRAY, arg_data = 0x80f3284,
description = 0x0, arg_description = 0x80d6556 "[URI...]"}, {
long_name = 0x0, short_name = 0 '\0', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x0, description = 0x0, arg_description = 0x0}}
__FUNCTION__ = "main"
#0 0xffffe410 in __kernel_vsyscall ()
str != NULL' failed (rhythmbox:5825): RhythmDB-CRITICAL **: save_entry_string: assertion
str != NULL' failed
----------- .xsession-errors (8 sec old) ---------------------
** Message: volume = 0
** Message: GetValue variable 1 (1)
** Message: GetValue variable 2 (2)
** Message: GetValue variable 1 (1)
** Message: GetValue variable 2 (2)
** Message: GetValue variable 1 (1)
** Message: GetValue variable 2 (2)
** Message: GetValue variable 1 (1)
** Message: GetValue variable 2 (2)
** Message: GetValue variable 1 (1)
** Message: GetValue variable 2 (2)
(rhythmbox:5825): RhythmDB-CRITICAL **: save_entry_string: assertion Version: 0.12.x