Bug 100 - "Insufficient or missing discinfo data."
Summary: "Insufficient or missing discinfo data."
Status: CONFIRMED
Alias: None
Product: abcde
Classification: Unclassified
Component: CD lookup (show other bugs)
Version: unspecified
Hardware: All All
: Normal normal
Assignee: Steve McIntyre
URL:
Depends on:
Blocks:
 
Reported: 2019-08-07 16:28 BST by Rhialto
Modified: 2020-05-15 04:17 BST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rhialto 2019-08-07 16:28:55 BST
I get the error "Insufficient or missing discinfo data." when trying to rip a cd.

The full output, with DEBUG=1 and EXTRAVERBOSE=2:

$ ./abcde
Executing customizable pre-read function... done.
Getting CD track info... makeids: PREGAP 32, LEADIN 150, LEADOUT 353075
Insufficient or missing discinfo data.
[ERROR] abcde: abcde-musicbrainz-tool failed to run; ABORT

At first I thought the $MUSICBRAINZ program did not look at the correct device (hence the previous bug report) but even when patching that it made no difference.

abcde-musicbrainz-tool --device /dev/rcd0d --command calcid --discinfo 1 1 150 353107 32" is the full call.
"
Comment 1 Rhialto 2019-08-07 17:14:04 BST
With another cd, it works.

Could it be that this cd simply isn't in the database? But then, if I recall correctly, you get asked to fill in the data yourself. xmcd can find a cddb entry (although I have patched xmcd to use freedb.freedb.org)
Comment 2 Mika Huurre 2019-10-05 17:52:55 BST
I get the same error message, might relate to this?

$ abcde -v
This is abcde v2.9.3.

For me this error has been related only to a audio CDs with just one track. 

$ abcde 
Executing customizable pre-read function... done.
Getting CD track info... makeids: PREGAP 0, LEADIN 150, LEADOUT 173045
Insufficient or missing discinfo data.
[ERROR] abcde: abcde-musicbrainz-tool failed to run; ABORT

With -D:
$ abcde -D
:
Table of contents (audio tracks only):
track        length               begin        copy pre ch
===========================================================
  1.   173045 [38:27.20]        0 [00:00.00]    no   no  2
TOTAL  173045 [38:27.20]    (audio only)
 '
++ awk '/^ +.*\[/ {print $4}'
+ OFFSETS=0
+ makeids
+ '[' X173045 = X ']'
+ IDMAGICNUM=150
+ LEADIN=150
+ CDFRAMES=75
+ CDDBCKSUM=0
+ COOKEDOFFSETS=
+ for OFFSET in $OFFSETS
+ COOKEDOFFSETS=' 150'
+ OFFSETTIME=2
+ '[' 2 -gt 0 ']'
+ CDDBCKSUM=2
+ OFFSETTIME=0
+ '[' 0 -gt 0 ']'
+ COOKEDOFFSETS=150
++ cut -f1 '-d '
++ echo 0
+ PREGAP=0
+ TOTALTIME=2307
+ vvecho 'makeids: PREGAP 0, LEADIN 150, LEADOUT 173045'
+ '[' x2 '!=' x ']'
+ '[' 2 -gt 1 ']'
+ case $1 in
+ echo 'makeids: PREGAP 0, LEADIN 150, LEADOUT 173045'
makeids: PREGAP 0, LEADIN 150, LEADOUT 173045
+ printf -v CDDBDISCID %08lx 34145025
+ CDDBTRACKINFO='02090301 1 150 2311'
+ case $CDDBMETHOD in
++ abcde-musicbrainz-tool --command calcid --discinfo 1 1 150 173045 0
Insufficient or missing discinfo data.
+ MBDISCID=
+ error=1
+ '[' 1 '!=' 0 ']'
+ log error 'abcde-musicbrainz-tool failed to run; ABORT'
+ BLURB=error
+ shift
+ case $BLURB in
+ echo '[ERROR] abcde: abcde-musicbrainz-tool failed to run; ABORT'
[ERROR] abcde: abcde-musicbrainz-tool failed to run; ABORT
+ exit 1

I copied the audio track from the problematic CD to harddrive as WAV file (so CD is readable) and burned it with a second random track to another CD.
Abcde had no troubles reading that new two track audio cd.
Comment 3 auzner 2019-10-07 06:38:17 BST
I get the same issue with a 1-track CD, which plays in VLC. abcde seemed to be ignoring my -n switch and the conf file to skip the lookup too.
I changed perl script '/usr/bin/abcde-musicbrainz-tool' (Ubuntu path) line 305 to use 4 instead of 5:
'if ($#discinfo < 4) {'
and this allowed everything to work as usual.
I don't know if this will break other things or allow a bad disc through when it should not continue.
Comment 4 saroumane 2020-03-04 10:29:57 GMT
(In reply to auzner from comment #3)
> I get the same issue with a 1-track CD, which plays in VLC. abcde seemed to
> be ignoring my -n switch and the conf file to skip the lookup too.
> I changed perl script '/usr/bin/abcde-musicbrainz-tool' (Ubuntu path) line
> 305 to use 4 instead of 5:
> 'if ($#discinfo < 4) {'
> and this allowed everything to work as usual.
> I don't know if this will break other things or allow a bad disc through
> when it should not continue.

Thanks for the workaround !
Comment 5 abcde 2020-05-15 04:17:07 BST
Also confirm this. When there is one track on a CD abcde sends in five arguments. That seems to be correct. $#discinfo is not the length of the array but rather the index of the last element, which is typically not the same as the length of the array. On the CD I was ripping the program ran as expected after changing the test from "< 5" to "< 4".