Comment 27 for bug 377414

Revision history for this message
Bryce Harrington (bryce) wrote :

I managed to get ahold of Toy Story 1 (and 2) and am reproducing the bug in Precise.

*** libdvdread: CHECK_VALUE failed in /build/buildd/libdvdread-4.2.0/src/ifo_read.c:1257 ***
*** for vts_ptt_srpt->title[i].ptt[j].pgn != 0 ***

*** libdvdread: CHECK_VALUE failed in /build/buildd/libdvdread-4.2.0/src/ifo_read.c:1986 ***
*** for pgci_ut->nr_of_lus < 100 ***

libdvdread: Can't allocate memory for file read!
No VTS_TMAPT available - skipping.

Those errors appear to be repeating a couple times a minute or so. The DVDs play fine in a regular DVD player. dd_rescue didn't work on it (nor dd).

  for(i = 0; i < vts_ptt_srpt->nr_of_srpts; i++) {
    CHECK_VALUE(vts_ptt_srpt->title[i].nr_of_ptts < 1000); /* ?? */
    for(j = 0; j < vts_ptt_srpt->title[i].nr_of_ptts; j++) {
      CHECK_VALUE(vts_ptt_srpt->title[i].ptt[j].pgcn != 0 );
      CHECK_VALUE(vts_ptt_srpt->title[i].ptt[j].pgcn < 1000); /* ?? */
      CHECK_VALUE(vts_ptt_srpt->title[i].ptt[j].pgn != 0); /* <--- line 1257 */
      CHECK_VALUE(vts_ptt_srpt->title[i].ptt[j].pgn < 100); /* ?? */
    }
  }
...
  CHECK_ZERO(pgci_ut->zero_1);
  CHECK_VALUE(pgci_ut->nr_of_lus != 0);
  CHECK_VALUE(pgci_ut->nr_of_lus < 100); /* ?? 3-4 ? */ /* <-- line 1986 */
  CHECK_VALUE((uint32_t)pgci_ut->nr_of_lus * PGCI_LU_SIZE < pgci_ut->last_byte);

Let's focus this bug report only on DVDs which hit the pgci_ut->nr_of_lus assertions. Other error messages like the ones in comments #8 and #15 may be unrelated bugs that deserve to be investigated separately.