1. insert cd 2. start sound juicer, fill out artist/album name 3. click extract, watch it crash. sound-juicer-2.28.0-3.fc12.x86_64 Core was generated by `sound-juicer'. Program terminated with signal 11, Segmentation fault. #0 0x0000000000416914 in filepath_parse_pattern (pattern=<value optimized out>, track=0x7f020401e810) at sj-extracting.c:978 978 string = sanitize_path (track->album->artist, filesystem_type); (gdb) print track->album $2 = (AlbumDetails *) 0x0 Note that the cddb lookup failed. I entered the album details at musicbrainz, and now it no longer crashes, but I imagine it will happen again if someone tries to rip an unknown cd without entering it into the db first. Full backtrace below. (gdb) bt #0 0x0000000000416914 in filepath_parse_pattern (pattern=<value optimized out>, track=0x7f020401e810) at sj-extracting.c:978 #1 0x0000000000416aa6 in build_filename (track=0x7f020401e810, temp_filename=0, error=<value optimized out>) at sj-extracting.c:141 #2 0x0000000000416d16 in pop_and_extract (overwrite_mode=0x629a70) at sj-extracting.c:404 #3 0x000000000041791f in on_extract_activate (button=<value optimized out>, user_data=<value optimized out>) at sj-extracting.c:835 #4 0x00007f0237b46a8e in IA__g_closure_invoke (closure=0x263b850, return_value=0x0, n_param_values=1, param_values=0x26e4300, invocation_hint=0x7fff09ae7cb0) at gclosure.c:767 #5 0x00007f0237b5beb3 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 #6 0x00007f0237b5d249 in IA__g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, var_args=0x7fff09ae7ea0) at gsignal.c:2980 #7 0x00007f0237b5d793 in IA__g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:3037 #8 0x00007f02387cc365 in ?? () from /usr/lib64/libgtk-x11-2.0.so.0 #9 0x00007f0237b46a8e in IA__g_closure_invoke (closure=0x22ca280, return_value=0x0, n_param_values=1, param_values=0x26e4380, invocation_hint=0x7fff09ae80c0) at gclosure.c:767 #10 0x00007f0237b5b7cc 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:3177 #11 0x00007f0237b5d249 in IA__g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, var_args=0x7fff09ae82b0) at gsignal.c:2980 #12 0x00007f0237b5d793 in IA__g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:3037 #13 0x00007f02387cb01d in ?? () from /usr/lib64/libgtk-x11-2.0.so.0 #14 0x00007f0238879c58 in ?? () from /usr/lib64/libgtk-x11-2.0.so.0 #15 0x00007f0237b46a8e in IA__g_closure_invoke (closure=0x231b9a0, return_value=0x7fff09ae8540, n_param_values=2, param_values=0x7f021c001890, invocation_hint=0x7fff09ae8500) at gclosure.c:767 #16 0x00007f0237b5bb7d 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:3285 #17 0x00007f0237b5d0dc in IA__g_signal_emit_valist (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>, var_args=0x7fff09ae86f0) at gsignal.c:2990 #18 0x00007f0237b5d793 in IA__g_signal_emit (instance=<value optimized out>, signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:3037 #19 0x00007f02389805bf in ?? () from /usr/lib64/libgtk-x11-2.0.so.0 #20 0x00007f023887224a in gtk_propagate_event () from /usr/lib64/libgtk-x11-2.0.so.0 #21 0x00007f0238873203 in gtk_main_do_event () from /usr/lib64/libgtk-x11-2.0.so.0 #22 0x00007f02384eef9c in ?? () from /usr/lib64/libgdk-x11-2.0.so.0 #23 0x00007f023788e22e in g_main_dispatch (context=<value optimized out>) at gmain.c:1960 #24 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2513 #25 0x00007f0237891c18 in g_main_context_iterate (context=0x22fc8f0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2591 #26 0x00007f0237892065 in IA__g_main_loop_run (loop=0x2574020) at gmain.c:2799 #27 0x00007f02388736c7 in gtk_main () from /usr/lib64/libgtk-x11-2.0.so.0 #28 0x000000000041309d in main (argc=1, argv=0x7fff09ae8cd8) at sj-main.c:1885
*** Bug 525931 has been marked as a duplicate of this bug. ***
Created attachment 365138 [details] a patch here is an untested patch that might fix this problem - but the error handling there seems really shoddy in general. I've also thrown in a few memleak fixes.
Yes, I just got bit by this bug bad! Confirmed on 2 CDs that it will crash if no cddb info found. This has made sound-juicer unusable for me currently. Appears this bug is upstream, I'll check gnome bugzilla too.
related? https://bugzilla.redhat.com/show_bug.cgi?id=498764
upstreams? https://bugzilla.gnome.org/show_bug.cgi?id=584225 https://bugzilla.gnome.org/show_bug.cgi?id=581775
*** Bug 531118 has been marked as a duplicate of this bug. ***
This is easy to replicate: MUSICBRAINZ_FORCE_DISC_ID=aaaaaaaaaaaaaaaaaaaaaaaaaaaa sound-juicer
Fixed in sound-juicer-2.28.0-4.fc12 http://koji.fedoraproject.org/koji/buildinfo?buildID=138648 Thanks