After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 338511 - "Could not get track start position"
"Could not get track start position"
Status: RESOLVED FIXED
Product: sound-juicer
Classification: Applications
Component: general
git master
Other All
: Normal normal
: ---
Assigned To: Sound Juicer Maintainers
Sound Juicer Maintainers
: 338514 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-04-14 17:12 UTC by Joseph Hill
Modified: 2006-07-12 12:50 UTC
See Also:
GNOME target: ---
GNOME version: 2.13/2.14


Attachments
Output from crash (146.96 KB, application/x-gzip)
2006-04-15 07:45 UTC, Joseph Hill
  Details
patch against sound-juicer: improved error handling and other small fixes (2.66 KB, patch)
2006-04-28 14:22 UTC, Tim-Philipp Müller
accepted-commit_now Details | Review

Description Joseph Hill 2006-04-14 17:12:06 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:
Comment 1 Tim-Philipp Müller 2006-04-14 18:03:03 UTC
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

Comment 2 Joseph Hill 2006-04-15 07:45:38 UTC
Created attachment 63541 [details]
Output from crash
Comment 3 Joseph Hill 2006-04-15 07:48:18 UTC
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?
Comment 4 Jens Granseuer 2006-04-15 09:17:40 UTC
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.
Comment 5 Tim-Philipp Müller 2006-04-15 10:08:46 UTC
*** Bug 338514 has been marked as a duplicate of this bug. ***
Comment 6 Tim-Philipp Müller 2006-04-15 10:11:21 UTC
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.
Comment 7 Joseph Hill 2006-04-15 16:49:57 UTC
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

Thread 1 (Thread -1226056800 (LWP 8290))

  • #0 signal_emit_unlocked_R
    at gsignal.c line 2474
  • #1 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #2 IA__g_signal_emit
    at gsignal.c line 2241
  • #3 sj_extractor_get_type
  • #4 marshal_VOID__MINIOBJECT
  • #5 IA__g_closure_invoke
    at gclosure.c line 490
  • #6 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #7 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #8 IA__g_signal_emit
    at gsignal.c line 2241
  • #9 gst_bus_async_signal_func
    at gstbus.c line 892
  • #10 gst_bus_source_dispatch
    at gstbus.c line 622
  • #11 IA__g_main_context_dispatch
    at gmain.c line 1916
  • #12 g_main_context_iterate
    at gmain.c line 2547
  • #13 IA__g_main_loop_run
    at gmain.c line 2751
  • #14 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #15 main

Thread 1 (Thread -1226261600 (LWP 8319))

  • #0 __kernel_vsyscall
  • #1 poll
    from /lib/tls/i686/cmov/libc.so.6
  • #2 g_main_context_iterate
    at gmain.c line 2849
  • #3 IA__g_main_loop_run
    at gmain.c line 2751
  • #4 gtk_dialog_run
    from /usr/lib/libgtk-x11-2.0.so.0
  • #5 on_about_activate
  • #6 IA__g_cclosure_marshal_VOID__POINTER
    at gmarshal.c line 601
  • #7 IA__g_closure_invoke
    at gclosure.c line 490
  • #8 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #9 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #10 IA__g_signal_emit
    at gsignal.c line 2241
  • #11 sj_extractor_get_type
  • #12 marshal_VOID__MINIOBJECT
  • #13 IA__g_closure_invoke
    at gclosure.c line 490
  • #14 signal_emit_unlocked_R
    at gsignal.c line 2438
  • #15 IA__g_signal_emit_valist
    at gsignal.c line 2197
  • #16 IA__g_signal_emit
    at gsignal.c line 2241
  • #17 gst_bus_async_signal_func
    at gstbus.c line 892
  • #18 gst_bus_source_dispatch
    at gstbus.c line 622
  • #19 IA__g_main_context_dispatch
    at gmain.c line 1916
  • #20 g_main_context_iterate
    at gmain.c line 2547
  • #21 IA__g_main_loop_run
    at gmain.c line 2751
  • #22 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #23 main

Comment 8 Tim-Philipp Müller 2006-04-28 14:22:49 UTC
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).
Comment 9 Tim-Philipp Müller 2006-04-28 14:46:07 UTC
CC-ing Ross for the sound-juicer patch.
Comment 10 Ross Burton 2006-04-28 16:51:22 UTC
Feel free to commit that patch to SJ HEAD and gnome-2-14, thanks!
Comment 11 Christian Fredrik Kalager Schaller 2006-05-29 15:54:11 UTC
Is this patch committed now?
Comment 12 Ross Burton 2006-07-12 12:50:43 UTC
Applied to CVS.