Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#159 CD-TEXT Data causes crash

reproducible
open
nobody
5
2007-01-11
2007-01-11
Timothy White
No

Attempting to copy Audio CD, it crashes reading CD-TEXT off the CD. Happens with both in the set. Also occurs when I try read-toc for example. Anything that trys to read the CD-TEXT.
What would be nice, would be a switch to disable trying to read the CD-TEXT, seeing as I can get that data from the CDDB anyway. (Of course, the bug fixed would be nice)
The interesting thing, is cdda2wav doesn't detect any CD-Text or CD-Extra.

cdrdao copy --source-device /dev/hdd --device /dev/cdrw --eject --with-cddb --cddb-directory ~/.cddb/
Cdrdao version 1.2.1 - (C) Andreas Mueller <andreas@daneb.de>
SCSI interface library - (C) Joerg Schilling
Paranoia DAE library - (C) Monty

Check http://cdrdao.sourceforge.net/drives.html#dt for current driver tables.

Error trying to open /dev/cdrw exclusively (Device or resource busy)... retrying in 1 second.
Using libscg version 'ubuntu-0.8ubuntu1'

/dev/cdrw: BENQ DVD DD DW1640 Rev: BSLB
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000)

/dev/hdd: JLMS XJ-HD166S Rev: DS1A
Using driver: Generic SCSI-3/MMC - Version 2.0 (options 0x0000)

Starting CD copy at speed 40...

Track Mode Flags Start Length
------------------------------------------------------------
1 AUDIO 0 00:00:00( 0) 02:59:01( 13426)
2 AUDIO 0 02:59:01( 13426) 03:29:52( 15727)
3 AUDIO 0 06:28:53( 29153) 03:53:41( 17516)
4 AUDIO 0 10:22:19( 46669) 03:08:21( 14121)
5 AUDIO 0 13:30:40( 60790) 04:06:06( 18456)
6 AUDIO 0 17:36:46( 79246) 04:15:49( 19174)
7 AUDIO 0 21:52:20( 98420) 03:20:31( 15031)
8 AUDIO 0 25:12:51(113451) 02:48:41( 12641)
9 AUDIO 0 28:01:17(126092) 04:16:68( 19268)
10 AUDIO 0 32:18:10(145360) 03:31:31( 15856)
11 AUDIO 0 35:49:41(161216) 03:21:13( 15088)
12 AUDIO 0 39:10:54(176304) 04:24:50( 19850)
13 AUDIO 0 43:35:29(196154) 03:28:38( 15638)
14 AUDIO 0 47:03:67(211792) 03:46:41( 16991)
15 AUDIO 0 50:50:33(228783) 04:04:37( 18337)
16 AUDIO 0 54:54:70(247120) 04:54:52( 22102)
17 AUDIO 0 59:49:47(269222) 03:17:26( 14801)
Leadout AUDIO 0 63:06:73(284023)

PQ sub-channel reading (audio track) is supported, data format is BCD.
Raw P-W sub-channel reading (audio track) is supported.
Copying audio tracks 1-17: start 00:00:00, length 63:06:73 to "cddata20734.bin"...
Track 1...
Found ISRC code.
Track 2...
Found pre-gap: 00:00:39
Found ISRC code.
Track 3...
Found pre-gap: 00:01:27
Found ISRC code.
Track 4...
Found pre-gap: 00:01:02
Found ISRC code.
Track 5...
Found pre-gap: 00:00:36
Found ISRC code.
Track 6...
Found pre-gap: 00:00:62
Found ISRC code.
Track 7...
Found pre-gap: 00:00:71
Found ISRC code.
Track 8...
Found pre-gap: 00:00:18
Found ISRC code.
Track 9...
Found pre-gap: 00:00:65
Found ISRC code.
Track 10...
Found ISRC code.
Track 11...
Found pre-gap: 00:00:17
Found ISRC code.
Track 12...
Found ISRC code.
Track 13...
Found pre-gap: 00:01:53
Found ISRC code.
Track 14...
Found ISRC code.
Track 15...
Found pre-gap: 00:00:13
Found ISRC code.
Track 16...
Found pre-gap: 00:03:02
Found ISRC code.
Track 17...
Found ISRC code.
Found 354 Q sub-channels with CRC errors.
Found CD-TEXT data.
cdrdao: Track.cc:1415: void Track::addCdTextItem(CdTextItem*): Assertion `CdTextItem::isTrackPack(item->packType())' failed.
Aborted

Discussion

  • Arjen Bax
    Arjen Bax
    2007-03-20

    Logged In: YES
    user_id=267817
    Originator: NO

    I get exactly the same error on Debian (Linux 2.6.18-4-686 #1 SMP Wed Feb 21 16:06:54 UTC 2007 i686 GNU/Linux) under the same circumstances (both read-cd and read-toc). The toc-file is not created.

    cdrdao: Track.cc:1415: void Track::addCdTextItem(CdTextItem*): Assertion `CdTextItem::isTrackPack(item->packType())' failed.

    Cdrdao version 1.2.2 - (C) Andreas Mueller <andreas@daneb.de>
    SCSI interface library - (C) Joerg Schilling
    Paranoia DAE library - (C) Monty

     
  • lackhead
    lackhead
    2007-05-11

    Logged In: YES
    user_id=1790424
    Originator: NO

    I ran into a similar problem, and started poking around at the source. Looks like in the isTrackPack method they forgot to case for all of the available types of packs. I copied over all the types that were defined in the CdTextItem.h file, and my problems went away. Both GENRE and DISCID were both left out, and, well one would think those would be pretty common field types included in CD-TEXT. :)

    I'm not that familiar with the cdrdao source, or the specs on CD-TEXT, but at least this patch worked for me (patch is given below). Just unpack the 1.2.2 source, and in the directory that cdrdao-1.2.2 is in, run patch -p0 <nameofpatchfile to patch (nameofpatchfile is the file you saved this patch as).

    Best of luck,

    -c

    diff -Naur cdrdao-1.2.2/trackdb/CdTextItem.cc cdrdao-1.2.2-cclpatch/trackdb/CdTextItem.cc
    --- cdrdao-1.2.2/trackdb/CdTextItem.cc 2004-04-27 18:46:05.000000000 -0600
    +++ cdrdao-1.2.2-cclpatch/trackdb/CdTextItem.cc 2007-05-10 15:55:54.000000000 -0600
    @@ -320,6 +320,15 @@
    int ret;

    switch (type) {
    + case CDTEXT_DISK_ID:
    + case CDTEXT_GENRE:
    + case CDTEXT_TOC_INFO1:
    + case CDTEXT_TOC_INFO2:
    + case CDTEXT_RES1:
    + case CDTEXT_RES2:
    + case CDTEXT_RES3:
    + case CDTEXT_RES4:
    + case CDTEXT_SIZE_INFO:
    case CDTEXT_TITLE:
    case CDTEXT_PERFORMER:
    case CDTEXT_SONGWRITER: