GNOME Bugzilla – Bug 384169
[cdparanoiasrc] gnome-cd cannot open cd (0 tracks)
Last modified: 2007-02-09 10:48:21 UTC
Distribution: Debian 4.0 Package: gnome-media Severity: Normal Version: GNOME2.14.3 2.14.2 Gnome-Distributor: Debian Synopsis: gnome-cd cannot open cd Bugzilla-Product: gnome-media Bugzilla-Component: Gnome-CD Bugzilla-Version: 2.14.2 BugBuddy-GnomeVersion: 2.0 (2.14.1) Description: Description of the crash: gnome-cd fails to play audio from cd drive Steps to reproduce the crash: 1. from command-line: gnome-cd --play --gst-fatal-warnings 2. 3. Expected Results: How often does this happen? Always Additional Information: The same thing happens for sound-juicer when clicking extract, *after* it successfully has got data from musicbrainz. $ dmesg | grep hdc ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA hdc: _NEC DVD_RW ND-3540A, ATAPI CD/DVD-ROM drive hdc: ATAPI 40X DVD-ROM DVD-R CD-R/RW drive, 2048kB Cache, UDMA(33) $ uname -a Linux lex 2.6.18-3-amd64 #1 SMP Mon Dec 4 17:04:37 CET 2006 x86_64 GNU/Linux $ gnome-cd --play --device=/dev/hdc --gst-debug-level=5 [SNIP] 0:00:00.354213000 11469 0x52ce50 LOG cddabasesrc gstcddabasesrc.c:1371:gst_cdda_base_src_start:<source> opening device /dev/hdc 0:00:00.354226000 11469 0x52ce50 DEBUG cdparanoiasrc gstcdparanoiasrc.c:182:gst_cd_paranoia_src_open:<source> trying to open device /dev/hdc (generic-device=(NULL)) ... 0:00:00.354353000 11469 0x6dd070 DEBUG task gsttask.c:154:gst_task_func: Entering task 0x60ada0, thread 0x6dd070 0:00:00.354380000 11469 0x6dd070 LOG queue_dataflow gstqueue.c:846:gst_queue_loop:<preroll_audio_src> locking qlock from thread 0x6dd070 0:00:00.354390000 11469 0x6dd070 LOG queue_dataflow gstqueue.c:846:gst_queue_loop:<preroll_audio_src> locked qlock from thread 0x6dd070 0:00:00.354401000 11469 0x6dd070 LOG queue_dataflow gstqueue.c:850:gst_queue_loop:<preroll_audio_src> unlocking qlock from thread 0x6dd070 0:00:00.354412000 11469 0x6dd070 LOG queue_dataflow gstqueue.c:852:gst_queue_loop:<preroll_audio_src> locking qlock from thread 0x6dd070 0:00:00.354421000 11469 0x6dd070 LOG queue_dataflow gstqueue.c:852:gst_queue_loop:<preroll_audio_src> locked qlock from thread 0x6dd070 0:00:00.354431000 11469 0x6dd070 LOG queue_dataflow gstqueue.c:854:gst_queue_loop:<preroll_audio_src> (preroll_audio_src:src) pre-empty wait: 0 of 0-0 buffers, 0 of 0-1048576 bytes, 0 of 0-3000000000 ns, 0 elements 0:00:00.354442000 11469 0x6dd070 LOG queue_dataflow gstqueue.c:857:gst_queue_loop:<preroll_audio_src> (preroll_audio_src:src) waiting for item_add: 0 of 0-0 buffers, 0 of 0-1048576 bytes, 0 of 0-3000000000 ns, 0 elements 0:00:00.354454000 11469 0x6dd070 LOG queue gstqueue.c:860:gst_queue_loop:<preroll_audio_src> doing g_cond_wait using qlock from thread 0x6dd070 0:00:00.383104000 11469 0x52ce50 DEBUG cddabasesrc gstcddabasesrc.c:1387:gst_cdda_base_src_start:<source> no tracks 0:00:00.383265000 11469 0x52ce50 WARN cddabasesrc gstcddabasesrc.c:1389:gst_cdda_base_src_start:<source> error: This CD has no audio tracks [SNIP] Debugging Information: Backtrace was generated from '/usr/bin/gnome-cd' (no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 47469722082912 (LWP 13540)] [New Thread 1082132832 (LWP 13542)] (no debugging symbols found) 0x00002b2c662d900f in waitpid () from /lib/libpthread.so.0
+ Trace 92884
Thread 1 (Thread 47469722082912 (LWP 13540))
------- Bug created by bug-buddy at 2006-12-09 21:16 ------- Unknown version 2.14.2 in product gnome-media. Setting version to "2.14.x".
-> gst
I also have a Debian 686, where I had the same problems. This has been fixed for a newer version, so it works there now. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=402738
I still wonder what exactly fixed the problem there though. I can't see any changes in gstcddabasesrc, cdparanoiasrc or cdiocddasrc that look relevant. Note also that cdiocddasrc might be chosen over cdparanoiasrc in earlier GStreamer versions if both are installed, so it might be a problem in libcdio rather than libcdparanoia.
Also, could you attach a full GST_DEBUG log like this please: $ export GST_DEBUG_NO_COLOR=1 $ GST_DEBUG=*cd*:5 gnome-cd 2>dbg.log ... reproduce error ... and attach the dbg.log file?
Created attachment 80419 [details] debug log file with output from invoking gnome-cd
Ad libcdio: sound-juicer depends on libcdio6, so both my boxes has it. (And BTW: I didn't have to do anything else than invoking gnome-cd for getting the errors.)
Looks like a libcdparanoia or kernel issue to me. This error message can only happen if src->d->tracks is 0 as far as I can see. Does $ cdparanoia -Q -d /dev/cdrom work as expected (printing a list of tracks with start/end sectors etc.)?
Yes, the output looks good.
This is quite baffling, as cdparanoiasrc does exactly the same code-wise as the cdparanoia command line utility. Could you also try this (long shot, but who knows): $ G_SLICE=always-malloc gnome-cd
I see no difference with G_SLICE set to always-malloc. Making a new dbg.log resulted in the same output as the one attached.
This bug has also been discussed here: http://lists.debian.org/debian-gtk-gnome/2007/01/msg00058.html So this is what I gathered so far: - only happens in debian (but not ubuntu), but not for everyone either - happens with GStreamer core + base 0.10.10 - upgrading only GStreamer core to 0.10.11 makes no difference - upgrading core and -base to 0.10.11 allegedly fixes it - there were no significant-looking changes whatsoever in our cdparanaoiasrc plugin or cddabasesrc between 0.10.10 and 0.10.11 (linking changed though, libgstcddabasesrc was made to link to libgsttag for 0.10.11) Possibly related (?): https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=187602 http://bugzilla.gnome.org/show_bug.cgi?id=336812
Hi again, after an update, gnome-cd and sound-juicer works find for me: x86_64-box $ apt-cache policy gstreamer0.10-plugins-base gstreamer0.10-plugins-base: Installed: 0.10.10-4 Candidate: 0.10.10-4 I think things turned out right with 0.10.10-3 i686-box $ apt-cache policy gstreamer0.10-plugins-base gstreamer0.10-plugins-base: Installed: 0.10.11-1 Candidate: 0.10.11-1 However, gst-launch has trouble: BOTH-boxes $ gst-launch-0.10 --gst-debug-level=2 cdda://1 0:00:00.075761000 27425 0x50a950 WARN default ./grammar.y:804:_gst_parse__yyerror: Error during parsing: syntax error, unexpected $end, expecting LINK 0:00:00.076029000 27425 0x50a950 ERROR GST_PIPELINE ./grammar.y:840:_gst_parse_launch: Unrecoverable syntax error while parsing pipeline cdda://1 ERROR: pipeline could not be constructed: Unrecoverable syntax error while parsing pipeline cdda://1 .
> BOTH-boxes $ gst-launch-0.10 --gst-debug-level=2 cdda://1 > ERROR: pipeline could not be constructed: Unrecoverable syntax error while > parsing pipeline cdda://1 . Try $ gst-launch-0.10 -t -v cdda://1 ! fakesink sync=true or $ gst-launch-0.10 -t -v cdparanoiasrc track=1 ! fakesink sync=true (optionally also add device=/foo/bar to cdparanoiasrc)
Both invocations work fine :)
That's great, but it's still unclear to me why things now work. The patches in the debian packages look unrelated.
Will close this as OBSOLETE then, since it's been confirmed that the issue doesn't exist with newer -base versions. If someone ever finds out what exactly caused this problem, I'd be very interested to know (I still doubt the problem is in gst-plugins-base).