Here's a backtrace from rhythmbox rebuild with DEB_BUILD_OPTIONS="noopt,debug,nostrip":
/tmp$ gdb rhythmbox
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /usr/bin/rhythmbox
[Thread debugging using libthread_db enabled]
[New Thread 0xb657c720 (LWP 14268)]
[New Thread 0xb61edb90 (LWP 14288)]
[Thread 0xb61edb90 (LWP 14288) exited]
[New Thread 0xb61edb90 (LWP 14293)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb4f18b90 (LWP 14300)]
0xb6f7ed07 in g_str_hash () from /usr/lib/libglib-2.0.so.0
(gdb) bt
#0 0xb6f7ed07 in g_str_hash () from /usr/lib/libglib-2.0.so.0
#1 0xb6f4de87 in g_hash_table_lookup () from /usr/lib/libglib-2.0.so.0
#2 0xb7fe04c7 in rb_refstring_new (init=0x0) at rb-refstring.c:75
#3 0xb7fe6e54 in rhythmdb_execute_enum_dir (db=0x9c790b8, action=0xa4feaa8)
at rhythmdb.c:2575
#4 0xb7fe7542 in action_thread_main (db=0x9c790b8) at rhythmdb.c:2723
#5 0xb6f8602f in ?? () from /usr/lib/libglib-2.0.so.0
#6 0xb7e1350f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7 0xb6e3c7ee in clone () from /lib/tls/i686/cmov/libc.so.6
(gdb) bt full
#0 0xb6f7ed07 in g_str_hash () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#1 0xb6f4de87 in g_hash_table_lookup () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2 0xb7fe04c7 in rb_refstring_new (init=0x0) at rb-refstring.c:75
ret = (RBRefString *) 0xa4a9ba8
#3 0xb7fe6e54 in rhythmdb_execute_enum_dir (db=0x9c790b8, action=0xa4feaa8)
at rhythmdb.c:2575
result = (RhythmDBEvent *) 0xa4e7988
file_info = (GFileInfo *) 0x0
child = (GFile *) 0x0
child_uri = 0x0
dir = (GFile *) 0xa4bc400
dir_enum = (GFileEnumerator *) 0xa4e7df0
error = (GError *) 0xa4de570
__FUNCTION__ = "rhythmdb_execute_enum_dir"
#4 0xb7fe7542 in action_thread_main (db=0x9c790b8) at rhythmdb.c:2723
action = (RhythmDBAction *) 0xa4feaa8
result = (RhythmDBEvent *) 0xa4e7df0
__FUNCTION__ = "action_thread_main"
__PRETTY_FUNCTION__ = "action_thread_main"
#5 0xb6f8602f in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#6 0xb7e1350f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#7 0xb6e3c7ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
(gdb) thread apply all bt full
Thread 12 (Thread 0xb46feb90 (LWP 14318)):
#0 0xb8060430 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7e173a2 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#2 0xb71200bd in ?? () from /usr/lib/libgthread-2.0.so.0
No symbol table info available.
#3 0xb6f35269 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#4 0xb6f87708 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#5 0xb6f8602f in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#6 0xb7e1350f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#7 0xb6e3c7ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
Thread 6 (Thread 0xb4f18b90 (LWP 14300)):
#0 0xb6f7ed07 in g_str_hash () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#1 0xb6f4de87 in g_hash_table_lookup () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2 0xb7fe04c7 in rb_refstring_new (init=0x0) at rb-refstring.c:75
ret = (RBRefString *) 0xa4a9ba8
#3 0xb7fe6e54 in rhythmdb_execute_enum_dir (db=0x9c790b8, action=0xa4feaa8)
at rhythmdb.c:2575
result = (RhythmDBEvent *) 0xa4e7988
file_info = (GFileInfo *) 0x0
child = (GFile *) 0x0
child_uri = 0x0
dir = (GFile *) 0xa4bc400
dir_enum = (GFileEnumerator *) 0xa4e7df0
error = (GError *) 0xa4de570
__FUNCTION__ = "rhythmdb_execute_enum_dir"
#4 0xb7fe7542 in action_thread_main (db=0x9c790b8) at rhythmdb.c:2723
action = (RhythmDBAction *) 0xa4feaa8
result = (RhythmDBEvent *) 0xa4e7df0
__FUNCTION__ = "action_thread_main"
__PRETTY_FUNCTION__ = "action_thread_main"
#5 0xb6f8602f in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#6 0xb7e1350f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#7 0xb6e3c7ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
Thread 1 (Thread 0xb657c720 (LWP 14268)):
#0 0xb8060430 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb6e31f77 in poll () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb6f5ec32 in ?? () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3 0xb6f5f2c2 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#4 0xb764c3a9 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
No symbol table info available.
#5 0x08064669 in main (argc=Cannot access memory at address 0x0
) at main.c:330
_save = (PyThreadState *) 0x9c7dd60
program = (GnomeProgram *) 0x99ecc58
session_bus = (DBusGConnection *) 0x9ad2a44
error = (GError *) 0x0
rb_shell = (RBShell *) 0x9b08060
new_argv = (char **) 0x99d8600
activated = 0
context = (GOptionContext *) 0x99d7a98
---Type <return> to continue, or q <return> to quit---
options = {{long_name = 0x80d4185 "debug", short_name = 100 'd',
flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x80f0ca8,
description = 0x80d418b "Enable debug output", arg_description = 0x0}, {
long_name = 0x80d419f "debug-match", short_name = 68 'D', flags = 0,
arg = G_OPTION_ARG_STRING, arg_data = 0x80f0cac,
description = 0x80d41ac "Enable debug output matching a specified string",
arg_description = 0x0}, {long_name = 0x80d41dc "no-update",
short_name = 0 '\0', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f0cb8,
description = 0x80d41e8 "Do not update the library with file changes",
arg_description = 0x0}, {long_name = 0x80d4214 "no-registration",
short_name = 110 'n', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f0cb4, description = 0x80d4224 "Do not register the shell",
arg_description = 0x0}, {long_name = 0x80d423e "dry-run",
short_name = 0 '\0', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f0cbc,
description = 0x80d4248 "Don't save any data permanently (implies --no-registration)", arg_description = 0x0}, {long_name = 0x80d4284 "rhythmdb-file",
short_name = 0 '\0', flags = 0, arg = G_OPTION_ARG_STRING,
arg_data = 0x80f0cc0,
description = 0x80d4292 "Path for database file to use",
arg_description = 0x0}, {long_name = 0x80d42b0 "playlists-file",
short_name = 0 '\0', flags = 0, arg = G_OPTION_ARG_STRING,
---Type <return> to continue, or q <return> to quit---
arg_data = 0x80f0cc4,
description = 0x80d42c0 "Path for playlists file to use",
arg_description = 0x0}, {long_name = 0x80d42df "quit",
short_name = 113 'q', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f0cb0, description = 0x80d42e4 "Quit Rhythmbox",
arg_description = 0x0}, {long_name = 0x80d42f3 "", short_name = 0 '\0',
flags = 0, arg = G_OPTION_ARG_STRING_ARRAY, arg_data = 0x80f0cc8,
description = 0x0, arg_description = 0x80d42f4 "[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 0xb6f7ed07 in g_str_hash () from /usr/lib/libglib-2.0.so.0
(gdb)
Here's a backtrace from rhythmbox rebuild with DEB_BUILD_ OPTIONS= "noopt, debug,nostrip" :
/tmp$ gdb rhythmbox gnu.org/ licenses/ gpl.html>
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /usr/bin/rhythmbox
[Thread debugging using libthread_db enabled]
[New Thread 0xb657c720 (LWP 14268)]
[New Thread 0xb61edb90 (LWP 14288)]
[Thread 0xb61edb90 (LWP 14288) exited]
[New Thread 0xb61edb90 (LWP 14293)]
(rhythmbox:14268): Gtk-WARNING **: AudioCdSourcePo pupCopyCd: missing action MusicAudioCDDup licate
(rhythmbox:14268): Gtk-WARNING **: AudioCdSourcePo pupCopyCd: missing action MusicAudioCDDup licate
[Thread 0xb61edb90 (LWP 14293) exited]
[New Thread 0xb61edb90 (LWP 14298)]
[Thread 0xb61edb90 (LWP 14298) exited]
[New Thread 0xb61edb90 (LWP 14299)]
[New Thread 0xb4f18b90 (LWP 14300)]
[Thread 0xb61edb90 (LWP 14299) exited]
[New Thread 0xb61edb90 (LWP 14305)]
[New Thread 0xb46feb90 (LWP 14306)]
[New Thread 0xb3efdb90 (LWP 14307)]
[Thread 0xb61edb90 (LWP 14305) exited]
[Thread 0xb3efdb90 (LWP 14307) exited]
[New Thread 0xb61edb90 (LWP 14312)]
[New Thread 0xb3efdb90 (LWP 14313)]
[Thread 0xb61edb90 (LWP 14312) exited]
[Thread 0xb3efdb90 (LWP 14313) exited]
[Thread 0xb46feb90 (LWP 14306) exited]
[New Thread 0xb46feb90 (LWP 14318)]
(rhythmbox:14268): GLib-GIO-CRITICAL **: g_file_ info_get_ name: assertion `G_IS_FILE_INFO (info)' failed
(rhythmbox:14268): GLib-GIO-CRITICAL **: g_file_get_child: assertion `name != NULL' failed
(rhythmbox:14268): GLib-GIO-CRITICAL **: g_file_get_uri: assertion `G_IS_FILE (file)' failed
Program received signal SIGSEGV, Segmentation fault. libglib- 2.0.so. 0 libglib- 2.0.so. 0 libglib- 2.0.so. 0 execute_ enum_dir (db=0x9c790b8, action=0xa4feaa8) libglib- 2.0.so. 0 i686/cmov/ libpthread. so.0 i686/cmov/ libc.so. 6 libglib- 2.0.so. 0 libglib- 2.0.so. 0 execute_ enum_dir (db=0x9c790b8, action=0xa4feaa8) execute_ enum_dir" thread_ main" FUNCTION_ _ = "action_ thread_ main" libglib- 2.0.so. 0 i686/cmov/ libpthread. so.0 i686/cmov/ libc.so. 6
[Switching to Thread 0xb4f18b90 (LWP 14300)]
0xb6f7ed07 in g_str_hash () from /usr/lib/
(gdb) bt
#0 0xb6f7ed07 in g_str_hash () from /usr/lib/
#1 0xb6f4de87 in g_hash_table_lookup () from /usr/lib/
#2 0xb7fe04c7 in rb_refstring_new (init=0x0) at rb-refstring.c:75
#3 0xb7fe6e54 in rhythmdb_
at rhythmdb.c:2575
#4 0xb7fe7542 in action_thread_main (db=0x9c790b8) at rhythmdb.c:2723
#5 0xb6f8602f in ?? () from /usr/lib/
#6 0xb7e1350f in start_thread () from /lib/tls/
#7 0xb6e3c7ee in clone () from /lib/tls/
(gdb) bt full
#0 0xb6f7ed07 in g_str_hash () from /usr/lib/
No symbol table info available.
#1 0xb6f4de87 in g_hash_table_lookup () from /usr/lib/
No symbol table info available.
#2 0xb7fe04c7 in rb_refstring_new (init=0x0) at rb-refstring.c:75
ret = (RBRefString *) 0xa4a9ba8
#3 0xb7fe6e54 in rhythmdb_
at rhythmdb.c:2575
result = (RhythmDBEvent *) 0xa4e7988
file_info = (GFileInfo *) 0x0
child = (GFile *) 0x0
child_uri = 0x0
dir = (GFile *) 0xa4bc400
dir_enum = (GFileEnumerator *) 0xa4e7df0
error = (GError *) 0xa4de570
__FUNCTION__ = "rhythmdb_
#4 0xb7fe7542 in action_thread_main (db=0x9c790b8) at rhythmdb.c:2723
action = (RhythmDBAction *) 0xa4feaa8
result = (RhythmDBEvent *) 0xa4e7df0
__FUNCTION__ = "action_
__PRETTY_
#5 0xb6f8602f in ?? () from /usr/lib/
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#6 0xb7e1350f in start_thread () from /lib/tls/
No symbol table info available.
#7 0xb6e3c7ee in clone () from /lib/tls/
No symbol table info available.
(gdb) thread apply all bt full
Thread 12 (Thread 0xb46feb90 (LWP 14318)): cond_timedwait@ @GLIBC_ 2.3.2 () i686/cmov/ libpthread. so.0 libgthread- 2.0.so. 0 libglib- 2.0.so. 0 libglib- 2.0.so. 0 libglib- 2.0.so. 0 i686/cmov/ libpthread. so.0 i686/cmov/ libc.so. 6
#0 0xb8060430 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7e173a2 in pthread_
from /lib/tls/
No symbol table info available.
#2 0xb71200bd in ?? () from /usr/lib/
No symbol table info available.
#3 0xb6f35269 in ?? () from /usr/lib/
No symbol table info available.
#4 0xb6f87708 in ?? () from /usr/lib/
No symbol table info available.
#5 0xb6f8602f in ?? () from /usr/lib/
No symbol table info available.
#6 0xb7e1350f in start_thread () from /lib/tls/
No symbol table info available.
#7 0xb6e3c7ee in clone () from /lib/tls/
No symbol table info available.
Thread 6 (Thread 0xb4f18b90 (LWP 14300)): libglib- 2.0.so. 0 libglib- 2.0.so. 0 execute_ enum_dir (db=0x9c790b8, action=0xa4feaa8) execute_ enum_dir" thread_ main" FUNCTION_ _ = "action_ thread_ main" libglib- 2.0.so. 0 i686/cmov/ libpthread. so.0 i686/cmov/ libc.so. 6
#0 0xb6f7ed07 in g_str_hash () from /usr/lib/
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#1 0xb6f4de87 in g_hash_table_lookup () from /usr/lib/
No symbol table info available.
#2 0xb7fe04c7 in rb_refstring_new (init=0x0) at rb-refstring.c:75
ret = (RBRefString *) 0xa4a9ba8
#3 0xb7fe6e54 in rhythmdb_
at rhythmdb.c:2575
result = (RhythmDBEvent *) 0xa4e7988
file_info = (GFileInfo *) 0x0
child = (GFile *) 0x0
child_uri = 0x0
dir = (GFile *) 0xa4bc400
dir_enum = (GFileEnumerator *) 0xa4e7df0
error = (GError *) 0xa4de570
__FUNCTION__ = "rhythmdb_
#4 0xb7fe7542 in action_thread_main (db=0x9c790b8) at rhythmdb.c:2723
action = (RhythmDBAction *) 0xa4feaa8
result = (RhythmDBEvent *) 0xa4e7df0
__FUNCTION__ = "action_
__PRETTY_
#5 0xb6f8602f in ?? () from /usr/lib/
No symbol table info available.
#6 0xb7e1350f in start_thread () from /lib/tls/
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#7 0xb6e3c7ee in clone () from /lib/tls/
No symbol table info available.
Thread 1 (Thread 0xb657c720 (LWP 14268)): i686/cmov/ libc.so. 6 libglib- 2.0.so. 0 libglib- 2.0.so. 0 libgtk- x11-2.0. so.0 ARG_STRING, arg_data = 0x80f0cac, on)", arg_description = 0x0}, {long_name = 0x80d4284 "rhythmdb-file", ARG_STRING, ARG_STRING, ARG_STRING_ ARRAY, arg_data = 0x80f0cc8, libglib- 2.0.so. 0
#0 0xb8060430 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb6e31f77 in poll () from /lib/tls/
No symbol table info available.
#2 0xb6f5ec32 in ?? () from /usr/lib/
No symbol table info available.
#3 0xb6f5f2c2 in g_main_loop_run () from /usr/lib/
No symbol table info available.
#4 0xb764c3a9 in gtk_main () from /usr/lib/
No symbol table info available.
#5 0x08064669 in main (argc=Cannot access memory at address 0x0
) at main.c:330
_save = (PyThreadState *) 0x9c7dd60
program = (GnomeProgram *) 0x99ecc58
session_bus = (DBusGConnection *) 0x9ad2a44
error = (GError *) 0x0
rb_shell = (RBShell *) 0x9b08060
new_argv = (char **) 0x99d8600
activated = 0
context = (GOptionContext *) 0x99d7a98
---Type <return> to continue, or q <return> to quit---
options = {{long_name = 0x80d4185 "debug", short_name = 100 'd',
flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x80f0ca8,
description = 0x80d418b "Enable debug output", arg_description = 0x0}, {
long_name = 0x80d419f "debug-match", short_name = 68 'D', flags = 0,
arg = G_OPTION_
description = 0x80d41ac "Enable debug output matching a specified string",
arg_description = 0x0}, {long_name = 0x80d41dc "no-update",
short_name = 0 '\0', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f0cb8,
description = 0x80d41e8 "Do not update the library with file changes",
arg_description = 0x0}, {long_name = 0x80d4214 "no-registration",
short_name = 110 'n', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f0cb4, description = 0x80d4224 "Do not register the shell",
arg_description = 0x0}, {long_name = 0x80d423e "dry-run",
short_name = 0 '\0', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f0cbc,
description = 0x80d4248 "Don't save any data permanently (implies --no-registrati
short_name = 0 '\0', flags = 0, arg = G_OPTION_
arg_data = 0x80f0cc0,
description = 0x80d4292 "Path for database file to use",
arg_description = 0x0}, {long_name = 0x80d42b0 "playlists-file",
short_name = 0 '\0', flags = 0, arg = G_OPTION_
---Type <return> to continue, or q <return> to quit---
arg_data = 0x80f0cc4,
description = 0x80d42c0 "Path for playlists file to use",
arg_description = 0x0}, {long_name = 0x80d42df "quit",
short_name = 113 'q', flags = 0, arg = G_OPTION_ARG_NONE,
arg_data = 0x80f0cb0, description = 0x80d42e4 "Quit Rhythmbox",
arg_description = 0x0}, {long_name = 0x80d42f3 "", short_name = 0 '\0',
flags = 0, arg = G_OPTION_
description = 0x0, arg_description = 0x80d42f4 "[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 0xb6f7ed07 in g_str_hash () from /usr/lib/
(gdb)