GNOME Bugzilla – Bug 338511
"Could not get track start position"
Last modified: 2006-07-12 12:50:43 UTC
Please describe the problem: I was trying to rip an oldish CD with sound-juicer and got this output on the console: [Thread -1267676240 (LWP 9564) exited] ** (sound-juicer:9552): WARNING **: Could not get track start position Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1225520224 (LWP 9552)] 0xb7f0bf76 in gst_debug_message_get () from /usr/lib/libgstreamer-0.10.so.0 I tried ripping the same track with grip and had no problems. Steps to reproduce: Actual results: I get the above output and the track is no ripped. Sometimes it crashes sound-juicer, but this is not consistent Expected results: Does this happen every time? Yes, but only with particular tracks. Other information:
Could you get us a full stack trace from when it crashes please: $ gdb sound-juicer Welcome to the GNU debugger bla bla bla... (gdb) run ... wait for crash ... (gdb) thread apply all bt ... paste the output ... (gdb) kill What might also be useful is a debug log from before the warning appears: $ export GST_DEBUG_NO_COLOR=1 $ export GST_DEBUG=*:5 $ export G_DEBUG=fatal_warnings $ sound-juicer 2> dbg.log ... try to do what you do to produce the 'Could not get track start position' warning ... wait until it ABORTs (crashes) $ gzip dbg.log
Created attachment 63541 [details] Output from crash
I've attached the output from a debug log. Here is the output from gdb (not the same instance as the above): (gdb) run Starting program: /usr/bin/sound-juicer (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1225811040 (LWP 6631)] GTK Accessibility Module initialized Bonobo accessibility support initialized [New Thread -1239376976 (LWP 6635)] [New Thread -1239643216 (LWP 6636)] [Thread -1239643216 (LWP 6636) exited] [New Thread -1249379408 (LWP 6638)] [New Thread -1259013200 (LWP 6639)] [New Thread -1267975248 (LWP 6640)] [New Thread -1276367952 (LWP 6641)] [Thread -1267975248 (LWP 6640) exited] [Thread -1259013200 (LWP 6639) exited] [Thread -1249379408 (LWP 6638) exited] [New Thread -1249379408 (LWP 6643)] [New Thread -1259013200 (LWP 6644)] [New Thread -1267975248 (LWP 6645)] [Thread -1267975248 (LWP 6645) exited] [Thread -1259013200 (LWP 6644) exited] [Thread -1249379408 (LWP 6643) exited] [New Thread -1249379408 (LWP 6653)] [New Thread -1259013200 (LWP 6654)] [New Thread -1267975248 (LWP 6655)] [Thread -1267975248 (LWP 6655) exited] [New Thread -1267975248 (LWP 6661)] [Thread -1267975248 (LWP 6661) exited] [New Thread -1267975248 (LWP 6696)] [Thread -1267975248 (LWP 6696) exited] [New Thread -1267975248 (LWP 6737)] [Thread -1267975248 (LWP 6737) exited] [New Thread -1267975248 (LWP 6769)] [Thread -1267975248 (LWP 6769) exited] [New Thread -1267975248 (LWP 6781)] [Thread -1267975248 (LWP 6781) exited] [New Thread -1267975248 (LWP 6795)] [Thread -1267975248 (LWP 6795) exited] [Thread -1249379408 (LWP 6653) exited] [Thread -1259013200 (LWP 6654) exited] thread_db_get_info: cannot get thread info: generic error (gdb) continue Continuing. [New Thread -1259013200 (LWP 6844)] [Thread -1259013200 (LWP 6844) exited] ** (sound-juicer:6631): WARNING **: Could not get track start position ** (sound-juicer:6631): WARNING **: Could not get track start position ** (sound-juicer:6631): WARNING **: Could not get track start position ** (sound-juicer:6631): WARNING **: Could not get track start position [New Thread -1249379408 (LWP 6856)] [Thread -1249379408 (LWP 6856) exited] ** (sound-juicer:6631): WARNING **: Could not get track start position (sound-juicer:6631): Pango-WARNING **: Invalid UTF-8 string passed to pango_layout_set_text() Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1225811040 (LWP 6631)] 0xb756a95b in signal_emit_unlocked_R (node=0x826eea0, detail=0, instance=0x850a520, emission_return=0x0, instance_and_params=0xbfa7fe8c) at gsignal.c:2474 2474 gsignal.c: No such file or directory. in gsignal.c (gdb) continue Continuing. GTK Accessibility Module initialized Bonobo accessibility support initialized Program exited with code 01. (gdb) thread apply all bt (gdb) quit Am I not doing the "thread apply all bt" correctly? Isn't it supposed to give output?
When you issued (gdb) continue you left the stack frame in question, and RB exited. gdb can't get a backtrace when the program you want to get it from has quit. Just don't continue, and you should get a proper backtrace.
*** Bug 338514 has been marked as a duplicate of this bug. ***
The debug log says this, which also means GStreamer has posted an error message on the bus for sound-juicer to catch. gstgnomevfssink.c(383):gst_gnome_vfs_sink_open_file:<file_sink> error: Could not open vfs file "file:///home/joseph/music/Johannes%20Brahms%3B%20Alban%20Berg%20Quartet/String%20Quartets%20%20(Disk%202)/01%20-%20String%20Quartet%20in%20A%20minor%2C%20Op.%2051%20No.%202%3A%20I.%20Allegro%20non%20troppo.ogg" for writing: Invalid parameters. gnomevfssink( 6947) gstgnomevfssink.c(383):gst_gnome_vfs_sink_open_file:<file_sink> error: system error: Invalid argument The stack trace would still be interesting to have though.
Ok, is this output more helpful? In this case (although I can't say for sure this explains all my crashes) I tried again and made sure there were no colons or semi-colons in track or field names (which is the case in almost all my classical CDs) and it successfully extracted the tracks. Sometimes if there are colons or semi-colons I get the dialogue box "invalid parameters" but sometimes (as in this case) it just crashes sound-juicer. Here are two tries (both caused by a colon in a track title). The first crashed Sound Juicer, the second only sent me some debug info and I was able to continue afterwards. (gdb) run Starting program: /usr/bin/sound-juicer (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread -1226056800 (LWP 8290)] GTK Accessibility Module initialized Bonobo accessibility support initialized [New Thread -1239622736 (LWP 8294)] [New Thread -1239888976 (LWP 8296)] [Thread -1239888976 (LWP 8296) exited] ** (sound-juicer:8290): WARNING **: Could not get track start position ** (sound-juicer:8290): WARNING **: Could not get track start position ** (sound-juicer:8290): WARNING **: Could not get track start position ** (sound-juicer:8290): WARNING **: Could not get track start position ** (sound-juicer:8290): WARNING **: Could not get track start position ** (sound-juicer:8290): WARNING **: Could not get track start position (sound-juicer:8290): Pango-WARNING **: Invalid UTF-8 string passed to pango_layo ut_set_text() Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1226056800 (LWP 8290)] 0xb752e95b in signal_emit_unlocked_R (node=0x85056c8, detail=0, instance=0x850a620, emission_return=0x0, instance_and_params=0xbf8442ec) at gsignal.c:2474 2474 gsignal.c: No such file or directory. in gsignal.c (gdb) thread apply all bt
+ Trace 67632
Thread 1 (Thread -1226056800 (LWP 8290))
Thread 1 (Thread -1226261600 (LWP 8319))
Created attachment 64465 [details] [review] patch against sound-juicer: improved error handling and other small fixes Patch basically makes sj_extractor_extract_track() throw/return an error immediately if something goes wrong when starting up the pipeline, like in this case. This doesn't fix the underlying problem of course, it just improves error handling in S-J (IMHO at least).
CC-ing Ross for the sound-juicer patch.
Feel free to commit that patch to SJ HEAD and gnome-2-14, thanks!
Is this patch committed now?
Applied to CVS.