saramibreak / DiscImageCreator

This is the disc (CD, GD, DVD, HD-DVD, BD, GC/Wii, XBOX, XBOX 360) and disk (Floppy, MO, USB etc) image creation tool
http://forum.redump.org/topic/10483/discimagecreator/
Apache License 2.0
509 stars 45 forks source link

DiscImageCreator block after enumerating opcode/subcode with 100% CPU with a particular audio CD #276

Closed TailStff closed 1 month ago

TailStff commented 1 month ago

DiscImageCreator block after enumerating opcode/subcode with 100% CPU with a particular audio CD. CD is THE HACKER A.N.D.N.O.W...

discimagecreator bug discimagecreator bug toc

No log available.

saramibreak commented 1 month ago

Try to dump using the latest test version, plz. https://github.com/saramibreak/DiscImageCreator/issues/275#issuecomment-2119261786

TailStff commented 1 month ago

dicbug

Seems to be the same

saramibreak commented 1 month ago

There are 5 versions. Which version do you have? https://www.discogs.com/release/743943-The-Hacker-AND-NOW https://www.discogs.com/release/904680-The-Hacker-AND-NOW https://www.discogs.com/release/1027581-The-Hacker-AND-NOW https://www.discogs.com/release/5246920-The-Hacker-AND-NOW https://www.discogs.com/release/12985055-The-Hacker-AND-NOW

TailStff commented 1 month ago

This one : https://www.discogs.com/fr/release/904680-The-Hacker-AND-NOW Bar code is 3700077670478

TailStff commented 1 month ago

Did you have verbose or high trace options command line for DIC ?

saramibreak commented 1 month ago

This one :

I ordered it to test.

Did you have verbose or high trace options command line for DIC ?

No.

TailStff commented 1 month ago

I installing VS2022 on my rip box, ntddcdrm.h is missing for now .. Trying installing WDK

TailStff commented 1 month ago

It appear to loop forever in this : dicdebug

I'll continue tomorrow maybe

TailStff commented 1 month ago

There is a loop var modification resulting to set j to 4 294 967 295, so restart at 0 from for loop dicdebug2

TailStff commented 1 month ago
for (INT i = 0; i < wTocTextEntries; i++) {
    if (pDesc[i].PackType == CDROM_CD_TEXT_PACK_SIZE_INFO) {
        uiLastTrackNum = pDesc[i].Text[2];
        uiPacksOfAlbum[pDesc[i].BlockNumber] = pDesc[i].Text[4];
        uiPacksOfPerformer[pDesc[i].BlockNumber] = pDesc[i].Text[5];
        uiPacksOfSongwriter[pDesc[i].BlockNumber] = pDesc[i].Text[6];
        uiPacksOfComposer[pDesc[i].BlockNumber] = pDesc[i].Text[7];
        uiPacksOfArranger[pDesc[i].BlockNumber] = pDesc[i].Text[8];
        uiPacksOfMessages[pDesc[i].BlockNumber] = pDesc[i].Text[9];
        uiPacksOfDiscId[pDesc[i].BlockNumber] = pDesc[i].Text[10];
        uiPacksOfGenre[pDesc[i].BlockNumber] = pDesc[i].Text[11];
        uiPacksOfUpcEan[pDesc[i].BlockNumber] = pDesc[i + 1].Text[6];
        i += 2;
        boolIsPackSizeInfoSet = true;
    }

There are only 4 entries of type CDROM_CD_TEXT_PACK_ALBUM_NAME, but none of type CDROM_CD_TEXT_PACK_SIZE_INFO.

saramibreak commented 1 month ago

Thanks debugging. Btw, ccd file was dumped? If yes, upload plz.

TailStff commented 1 month ago

Yeah, thank you to maintain it ;)

Here the result ccd file:

[CloneCD]
Version=3
[Disc]
TocEntries=19
Sessions=1
DataTracksScrambled=0
CDTextLength=72
[CDText]
Entries=4
Entry 0=80 00 00 00 22 61 6e 64 20 6e 6f 77 2e 2e 2e 22
Entry 1=80 00 01 0f 38 20 00 20 00 20 00 20 00 20 00 20
Entry 2=80 06 02 01 3b 20 00 20 00 20 00 20 00 20 00 20
Entry 3=80 0c 03 01 00 20 00 20 00 20 00 20 00 00 ff ff
[Session 1]
PreGapMode=0
PreGapSubC=0
[Entry 0]
Session=1
Point=0xa0
ADR=0x01
Control=0x00
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=1
PSec=0
PFrame=0
PLBA=4350
[Entry 1]
Session=1
Point=0xa1
ADR=0x01
Control=0x00
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=16
PSec=0
PFrame=0
PLBA=71850
[Entry 2]
Session=1
Point=0xa2
ADR=0x01
Control=0x00
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=65
PSec=9
PFrame=29
PLBA=293054
[Entry 3]
Session=1
Point=0x01
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=0
PSec=4
PFrame=0
PLBA=150
[Entry 4]
Session=1
Point=0x02
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=5
PSec=17
PFrame=46
PLBA=23671
[Entry 5]
Session=1
Point=0x03
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=8
PSec=55
PFrame=41
PLBA=40016
[Entry 6]
Session=1
Point=0x04
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=12
PSec=23
PFrame=73
PLBA=55648
[Entry 7]
Session=1
Point=0x05
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=16
PSec=1
PFrame=43
PLBA=71968
[Entry 8]
Session=1
Point=0x06
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=20
PSec=32
PFrame=21
PLBA=92271
[Entry 9]
Session=1
Point=0x07
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=24
PSec=16
PFrame=71
PLBA=109121
[Entry 10]
Session=1
Point=0x08
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=30
PSec=8
PFrame=73
PLBA=135523
[Entry 11]
Session=1
Point=0x09
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=33
PSec=14
PFrame=30
PLBA=149430
[Entry 12]
Session=1
Point=0x0a
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=36
PSec=45
PFrame=14
PLBA=165239
[Entry 13]
Session=1
Point=0x0b
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=40
PSec=37
PFrame=31
PLBA=182656
[Entry 14]
Session=1
Point=0x0c
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=44
PSec=46
PFrame=50
PLBA=201350
[Entry 15]
Session=1
Point=0x0d
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=47
PSec=56
PFrame=37
PLBA=215587
[Entry 16]
Session=1
Point=0x0e
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=51
PSec=24
PFrame=63
PLBA=231213
[Entry 17]
Session=1
Point=0x0f
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=54
PSec=55
PFrame=17
PLBA=246992
[Entry 18]
Session=1
Point=0x10
ADR=0x01
Control=0x02
TrackNo=0
AMin=0
ASec=0
AFrame=0
ALBA=-150
Zero=0
PMin=58
PSec=14
PFrame=46
PLBA=261946
saramibreak commented 1 month ago

fixed escape the irregular CD-TEXT DiscImageCreator_test.zip

    for (INT i = 0; i < wTocTextEntries; i++) {
        if (pDesc[i].PackType == CDROM_CD_TEXT_PACK_ALBUM_NAME) {
            // The Hacker - A.N.D. N.O.W...
            uiPacksOfAlbum[pDesc[i].BlockNumber] += 1;
        }
        else if (pDesc[i].PackType == CDROM_CD_TEXT_PACK_SIZE_INFO) {
            uiLastTrackNum = pDesc[i].Text[2];
            uiPacksOfAlbum[pDesc[i].BlockNumber] = pDesc[i].Text[4];
            uiPacksOfPerformer[pDesc[i].BlockNumber] = pDesc[i].Text[5];
            uiPacksOfSongwriter[pDesc[i].BlockNumber] = pDesc[i].Text[6];
            uiPacksOfComposer[pDesc[i].BlockNumber] = pDesc[i].Text[7];
            uiPacksOfArranger[pDesc[i].BlockNumber] = pDesc[i].Text[8];
            uiPacksOfMessages[pDesc[i].BlockNumber] = pDesc[i].Text[9];
            uiPacksOfDiscId[pDesc[i].BlockNumber] = pDesc[i].Text[10];
            uiPacksOfGenre[pDesc[i].BlockNumber] = pDesc[i].Text[11];
            uiPacksOfUpcEan[pDesc[i].BlockNumber] = pDesc[i + 1].Text[6];
            i += 2;
            bSizeInfo = TRUE;
        }
    }
    if (!bSizeInfo) {
        // The Hacker - A.N.D. N.O.W...
        uiLastTrackNum = pDisc->SCSI.toc.LastTrack;
    }