Description of problem: Rhythmbox crash Version-Release number of selected component (if applicable): Rhythmbox 0.12.5 How reproducible: Rhythmbox hangs when I connect my ipod nano second generation. Steps to Reproduce: 1.Connect ipod when Rhythmbox is open 2. 3. Actual results: Crash Expected results: Play music of ipod from Rhythmbox Additional info: UUID: 61fac8ceec4d9a134af796e05f7a4197ceec7774 architecture: i686 cmdline: rhythmbox component: rhythmbox coredump: /var/cache/abrt/ccpp-1258842485-3147/coredump executable: /usr/bin/rhythmbox kernel: 2.6.31.5-127.fc12.i686 package: rhythmbox-0.12.5-8.fc12 rating: 3 reason: Process was terminated by signal 11 release: Fedora release 12 (Constantine) backtrace ----- [New Thread 3155] Core was generated by `rhythmbox'. Program terminated with signal 11, Segmentation fault. #0 fast_validate (str=<value optimized out>) at gutf8.c:1588 in gutf8.c Thread 2 (Thread 3155): #0 0x0034f416 in __kernel_vsyscall () No symbol table info available. #1 0x0042af72 in pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S:179 No locals. #2 0x00700f3f in g_cond_timed_wait_posix_impl (cond=<value optimized out>, entered_mutex=<value optimized out>, abs_time=<value optimized out>) at gthread-posix.c:242 result = <value optimized out> end_time = {tv_sec = 1258842485, tv_nsec = 325392000} timed_out = <value optimized out> __PRETTY_FUNCTION__ = "g_cond_timed_wait_posix_impl" #3 0x004857cc in g_async_queue_pop_intern_unlocked (queue=0x8cc6ed8, try=<value optimized out>, end_time=<value optimized out>) at gasyncqueue.c:365 retval = <value optimized out> __PRETTY_FUNCTION__ = "g_async_queue_pop_intern_unlocked" #4 0x004d6f6f in g_thread_pool_wait_for_new_task (pool=0x8cc6ea0) at gthreadpool.c:220 end_time = {tv_sec = 1258842485, tv_usec = 325392} task = <value optimized out> #5 g_thread_pool_thread_proxy (pool=0x8cc6ea0) at gthreadpool.c:254 task = 0xb6bf1268 pool = 0x8cc6ea0 #6 0x004d5a40 in g_thread_create_proxy (data=<value optimized out>) at gthread.c:635 thread = 0x9404058 __PRETTY_FUNCTION__ = "g_thread_create_proxy" #7 0x00426ab5 in start_thread (arg=<value optimized out>) at pthread_create.c:297 __res = <value optimized out> __ignore1 = 128 __ignore2 = 7 pd = 0xb6bf1b70 now = <value optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {4423668, 0, 4001536, -1228991528, -1204255450, 1120431691}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <value optimized out> pagesize_m1 = <value optimized out> freesize = <value optimized out> #8 0x00e7a83e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130 No locals. Thread 1 (Thread 3147): #0 fast_validate (str=<value optimized out>) at gutf8.c:1588 val = <value optimized out> min = <value optimized out> p = 0x0 #1 IA__g_utf8_validate (str=<value optimized out>) at gutf8.c:1756 p = <value optimized out> #2 0x05b9bd07 in extract_mhod_string (seek=<value optimized out>, cts=0x941d398) at itdb_itunesdb.c:1320 entry_utf16 = <value optimized out> entry_utf8 = <value optimized out> len = <value optimized out> string_type = <value optimized out> #3 get_mhod (seek=<value optimized out>, cts=0x941d398) at itdb_itunesdb.c:1424 result = {valid = -1077277368, type = 96045610, data = { track_pos = 4, string = 0x4 <Address 0x4 out of bounds>, chapterdata = 0x4, splpref = 0x4, splrules = 0x4, mhod52coltracks = 0x4}, mhod52sorttype = 581756, mhod53_list = 0xbfca0d48} mhod_len = 64 header_length = <value optimized out> seek = <value optimized out> cts = 0x941d398 __PRETTY_FUNCTION__ = "get_mhod" #4 0x05b9d975 in get_mhod_string (mty=<value optimized out>, ml=<value optimized out>, fimp=<value optimized out>, seek=<value optimized out>) at itdb_itunesdb.c:1679 mhoddata = {valid = 1, type = 22, data = {track_pos = 155585544, string = 0x9460c08 "Madonna", chapterdata = 0x9460c08, splpref = 0x9460c08, splrules = 0x9460c08, mhod52coltracks = 0x9460c08}, mhod52sorttype = 155240288, mhod53_list = 0xbfca0de8} cts = <value optimized out> #5 get_mhit (mty=<value optimized out>, ml=<value optimized out>, fimp=<value optimized out>, seek=<value optimized out>) at itdb_itunesdb.c:2377 zip = 4294967295 playcount = <value optimized out> track = <value optimized out> header_len = <value optimized out> mhod_nums = <value optimized out> cts = <value optimized out> entry_utf8 = <value optimized out> i = <value optimized out> seek = <value optimized out> #6 parse_tracks (mty=<value optimized out>, ml=<value optimized out>, fimp=<value optimized out>, seek=<value optimized out>) at itdb_itunesdb.c:2731 cts = <value optimized out> gl = <value optimized out> mhlt_seek = 0 seek = <value optimized out> nr_tracks = <value optimized out> i = <value optimized out> __PRETTY_FUNCTION__ = "parse_tracks" #7 0x05b9e2f3 in parse_fimp (fimp=0x940c760) at itdb_itunesdb.c:2865 cts = <value optimized out> mhsd_1 = <value optimized out> mhsd_2 = <value optimized out> mhsd_3 = <value optimized out> __PRETTY_FUNCTION__ = "parse_fimp" #8 0x05b9e5ec in itdb_parse_internal (itdb=<value optimized out>, error=<value optimized out>) at itdb_itunesdb.c:2959 fimp = <value optimized out> success = 0 __PRETTY_FUNCTION__ = "itdb_parse_internal" #9 0x05b9f490 in itdb_parse (mp=<value optimized out>, error=<value optimized out>) at itdb_itunesdb.c:3017 success = <value optimized out> filename = 0x9404748 "/media/IPOD DE MIC/iPod_Control/iTunes/iTunesDB" itunes_dir = 0x94046d0 "/media/IPOD DE MIC/iPod_Control/iTunes" itdb = 0x9404790 db = {0x5badc62 "iTunesDB", 0x0} #10 0x03ae9c1c in rb_ipod_db_load (mount=<value optimized out>, ipod_db=<value optimized out>) at rb-ipod-db.c:763 mount_root = 0x8c53bc0 mount_path = <value optimized out> info = <value optimized out> priv = <value optimized out> #11 rb_ipod_db_new (mount=<value optimized out>, ipod_db=<value optimized out>) at rb-ipod-db.c:795 db = 0x8c6aa30 __PRETTY_FUNCTION__ = "rb_ipod_db_new" #12 0x03aef419 in rb_ipod_load_songs (source=<value optimized out>) at rb-ipod-source.c:935 priv = 0x93ac1d0 mount = 0x8c534f0 #13 rb_ipod_source_constructor (source=<value optimized out>) at rb-ipod-source.c:205 songs = <value optimized out> db = 0x93ac1d0 #14 0x005a4292 in IA__g_object_newv (object_type=<value optimized out>, n_parameters=<value optimized out>, parameters=<value optimized out>) at gobject.c:1252 cparams = <value optimized out> oparams = <value optimized out> nqueue = 0x0 object = <value optimized out> class = <value optimized out> unref_class = <value optimized out> slist = <value optimized out> n_total_cparams = <value optimized out> n_cparams = <value optimized out> n_oparams = <value optimized out> n_cvalues = 4 cvalues = <value optimized out> clist = 0x0 newly_constructed = 4 i = <value optimized out> __PRETTY_FUNCTION__ = "IA__g_object_newv" #15 0x005a4d22 in IA__g_object_new_valist (object_type=<value optimized out>, first_property_name=<value optimized out>, var_args=<value optimized out>) at gobject.c:1364 class = <value optimized out> params = <value optimized out> name = <value optimized out> object = 0x0 n_params = <value optimized out> n_alloced_params = <value optimized out> __PRETTY_FUNCTION__ = "IA__g_object_new_valist" #16 0x005a4e3e in IA__g_object_new (object_type=<value optimized out>, first_property_name=<value optimized out>) at gobject.c:1086 __PRETTY_FUNCTION__ = "IA__g_object_new" #17 0x03aed4f1 in rb_ipod_source_new (plugin=<value optimized out>, shell=<value optimized out>, mount=<value optimized out>) at rb-ipod-source.c:286 entry_type = 0x93faa80 db = 0x8cc7078 volume = 0x93faa80 name = <value optimized out> path = <value optimized out> #18 0x03af03da in create_source_cb (rmm=<value optimized out>, mount=<value optimized out>, device_info=<value optimized out>, plugin=<value optimized out>) at rb-ipod-plugin.c:254 src = <value optimized out> #19 0x0575559b in rb_marshal_OBJECT__OBJECT_OBJECT ( closure=<value optimized out>, return_value=<value optimized out>, n_param_values=<value optimized out>, param_values=<value optimized out>, invocation_hint=<value optimized out>, marshal_data=<value optimized out>) at rb-marshal.c:512 data1 = <value optimized out> data2 = <value optimized out> v_return = <value optimized out> __PRETTY_FUNCTION__ = "rb_marshal_OBJECT__OBJECT_OBJECT" #20 0x0059d5b3 in IA__g_closure_invoke (closure=<value optimized out>, return_value=<value optimized out>, n_param_values=<value optimized out>, param_values=<value optimized out>, invocation_hint=<value optimized out>) at gclosure.c:767 marshal = 0x5755500 <rb_marshal_OBJECT__OBJECT_OBJECT> marshal_data = <value optimized out> in_marshal = <value optimized out> __PRETTY_FUNCTION__ = "IA__g_closure_invoke" #21 0x005b3118 in signal_emit_unlocked_R (node=<value optimized out>, detail=<value optimized out>, instance=<value optimized out>, emission_return=<value optimized out>, instance_and_params=<value optimized out>) at gsignal.c:3247 tmp = <value optimized out> handler = 0x8c9f180 accumulator = 0x8d3e4f8 emission = {next = 0x0, instance = 0x8d5d1a0, ihint = { signal_id = 374, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4} class_closure = 0x8d3e438 handler_list = <value optimized out> return_accu = <value optimized out> accu = {g_type = 147075160, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} signal_id = 374 max_sequential_handler_number = 3420 return_value_altered = <value optimized out> #22 0x005b4308 in IA__g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, var_args=<value optimized out>) at gsignal.c:2990 return_value = {g_type = 147075160, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} error = 0x0 instance_and_params = <value optimized out> signal_return_type = 147075160 param_values = <value optimized out> node = 0x8d3e498 i = <value optimized out> n_params = 2 __PRETTY_FUNCTION__ = "IA__g_signal_emit_valist" #23 0x005b4907 in IA__g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:3037 No locals. #24 0x056cad8c in rb_removable_media_manager_add_mount (mgr=0x8d5d1a0, mount=0x8c534f0) at rb-removable-media-manager.c:757 priv = <value optimized out> source = 0x0 volume = <value optimized out> mount_root = 0x8d5d1a0 mountpoint = <value optimized out> device_info = <value optimized out> __PRETTY_FUNCTION__ = "rb_removable_media_manager_add_mount" __FUNCTION__ = "rb_removable_media_manager_add_mount" #25 0x056cb217 in rb_removable_media_manager_scan ( manager=<value optimized out>) at rb-removable-media-manager.c:1049 mount = 0x8c534f0 priv = 0x8d5d1b0 iter = {dummy1 = 0x8c8b8f0, dummy2 = 0x57c4470, dummy3 = 0x5, dummy4 = 8, dummy5 = 90749596, dummy6 = 0x0} list = <value optimized out> it = <value optimized out> hkey = 0xbfca1730 hvalue = 0x8c49008 #26 0x056b72a6 in _scan_idle (shell=<value optimized out>) at rb-shell.c:1309 No locals. #27 0x004a9302 in g_idle_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at gmain.c:4065 No locals. #28 0x004ab118 in g_main_dispatch (context=<value optimized out>) at gmain.c:1960 dispatch = 0x4a92e0 <g_idle_dispatch> user_data = 0x8c49008 callback = 0x56b7270 <_scan_idle> cb_funcs = 0x55c4bc cb_data = <value optimized out> current_source_link = {data = 0x93b7258, next = 0x0} source = 0x93b7258 current = <value optimized out> i = <value optimized out> #29 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2513 No locals. #30 0x004aea48 in g_main_context_iterate (context=<value optimized out>, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591 max_priority = 200 timeout = 0 some_ready = 1 nfds = <value optimized out> allocated_nfds = <value optimized out> fds = <value optimized out> __PRETTY_FUNCTION__ = "g_main_context_iterate" #31 0x004aeebf in IA__g_main_loop_run (loop=<value optimized out>) at gmain.c:2799 self = 0x8ada038 __PRETTY_FUNCTION__ = "IA__g_main_loop_run" #32 0x0533eac9 in IA__gtk_main () at gtkmain.c:1218 tmp_list = <value optimized out> functions = 0x0 init = <value optimized out> loop = <value optimized out> #33 0x0804b04e in main (argc=1, argv=0xbfca19a4) at main.c:332 _save = 0x8db5808 session_bus = <value optimized out> error = 0x0 rb_shell = 0x8c49008 activated = <value optimized out> accel_map_file = 0x8af6b20 "/home/michael/.gnome2/accels/rhythmbox" desktop_file_path = <value optimized out> context = <value optimized out> options = {{long_name = 0x804c8c1 "debug", short_name = 100 'd', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x804f508, description = 0x804c8c7 "Enable debug output", arg_description = 0x0}, {long_name = 0x804c8db "debug-match", short_name = 68 'D', flags = 0, arg = G_OPTION_ARG_STRING, arg_data = 0x804f50c, description = 0x804ca94 "Enable debug output matching a specified string", arg_description = 0x0}, {long_name = 0x804c8e7 "no-update", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x804f524, description = 0x804cac4 "Do not update the library with file changes", arg_description = 0x0}, {long_name = 0x804c8f1 "no-registration", short_name = 110 'n', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x804f510, description = 0x804c901 "Do not register the shell", arg_description = 0x0}, {long_name = 0x804c91b "dry-run", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x804f520, description = 0x804caf0 "Don't save any data permanently (implies --no-registration)", arg_description = 0x0}, { long_name = 0x804c923 "rhythmdb-file", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_STRING, arg_data = 0x804f51c, description = 0x804c931 "Path for database file to use", arg_description = 0x0}, {long_name = 0x804c94f "playlists-file", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_STRING, arg_data = 0x804f518, description = 0x804cb2c "Path for playlists file to use", arg_description = 0x0}, {long_name = 0x804c7b0 "quit", short_name = 113 'q', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x804f514, description = 0x804c95e "Quit Rhythmbox", arg_description = 0x0}, {long_name = 0x804c6ca "", short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_STRING_ARRAY, arg_data = 0x804f528, description = 0x0, arg_description = 0x804c96d "[URI...]"}, { long_name = 0x0, short_name = 0 '\000', flags = 0, arg = G_OPTION_ARG_NONE, arg_data = 0x0, description = 0x0, arg_description = 0x0}} __FUNCTION__ = "main"
Crashes reading the iPod database in libgpod. #2 0x05b9bd07 in extract_mhod_string (seek=<value optimized out>, cts=0x941d398) at itdb_itunesdb.c:1320 entry_utf16 = <value optimized out> entry_utf8 = <value optimized out> len = <value optimized out> string_type = <value optimized out> Could you please make your database available somewhere to replicate the problem? Which exact version of libgpod are you using?
My libgpod version is 0.7.2 http://dl.dropbox.com/u/1186261/rhythmdb.xml
(In reply to comment #2) > My libgpod version is 0.7.2 That's not the exact version. Use "rpm -q libgpod" > http://dl.dropbox.com/u/1186261/rhythmdb.xml That's not the iPod database, but Rhythmbox' one. Look for a file named something like "iTunesDB" on your iPod.
*** This bug has been marked as a duplicate of bug 542176 ***