[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: orriso: listing files+offsets in an ISO9660 image w/o RockRidge



Hi,

i wrote:
> > Was that already with -read_fs "norock" ?

Jonathan Dowland wrote:
> Just retried: alas, no difference
> ...
>         libisofs: SORRY : Damaged RR/SUSP information.

It should not even get near to that error message.
Grrr ...


> I'm wondering if my hand-built modern xorriso is linking against my old
> system libisofs.

If you got the GNU xorriso tarball, then it is not linked dynamically
with installed libisofs.so but rather statically with its own copy of
libisofs.

In the build directory

  $ xorriso/xorriso -version

should say:

  GNU xorriso 1.4.7 : RockRidge filesystem manipulator, libburnia project.
  ...
  xorriso version   :  1.4.7
  Version timestamp :  2016.11.10.134753

Please check in this directory whether file
  libisofs/fs_image.c
contains the bug fix:

--- libisofs/fs_image.c	2016-07-22 14:03:51 +0000
+++ libisofs/fs_image.c	2016-11-13 09:23:36 +0000
@@ -3017,15 +3017,14 @@
     } while (buffer[0] != 255);
 
     /* 4. check if RR extensions are being used */
-    ret = read_root_susp_entries(data, data->pvd_root_block);
-    if (ret < 0) {
-        goto fs_cleanup;
-    }
-
-    /* user doesn't want to read RR extensions */
     if (opts->norock) {
+        /* user doesn't want to read RR extensions */
         data->rr = RR_EXT_NO;
     } else {
+        ret = read_root_susp_entries(data, data->pvd_root_block);
+        if (ret < 0) {
+            goto fs_cleanup;
+        }
         data->rr = data->rr_version;
     }

Online: 
  https://dev.lovelyhq.com/libburnia/libisofs/commit/c51efce8d1c6f076721075584af336bc4d3ba104

If the "+" variant looks like being in effect, then please let gdb check
how the Rock Ridge read attempt sneaks in. Set two break points:

One at fs_image.c line 3024:
          ret = read_root_susp_entries(data, data->pvd_root_block);

The other at rockridge_read.c line 111:
        iso_msg_submit(iter->msgid, ISO_WRONG_RR, 0,
                      "Damaged RR/SUSP information.");

So the gdb run shall look like

  $ gdb xorriso/xorriso
  (gdb) b fs_image.c:3024
  (gdb) b rockridge_read.c:111
  (gdb) r -read_fs norock -indev /path/to/your.iso

If it stops at one of the breakpoints, please do

  (gdb) where

and report the output.
Then you can leave gdb by

  (gdb) quit

If it still throws the error essage without stopping, then we have
to rethink and check for gremlins.

(It might be that i then ask you to remove two occurences of "-O2"
 in the ./configure script, to re-build and re-run with gdb.)


> isoinfo reports
>         isoinfo: Warning: Joliet escape sequence uses illegal space at offset 3
> iso-info reports a line like the following for each directory
>        ++ WARN: XA signature not found in ISO9660's system use area; ignoring XA attributes for this file entry.

That's obviously Joliet woes. (Not only Rock Ridge can be awkward.)


> This might not have been a great example, because I can't share the contents
> of the ISO (old emails and ICQ logs).

Please mail me in private where i can download it.


> I have four ISOs which are recordings from TV made with a DVD writer
> appliance,

That's probably UDF filesystems. Interesting anayways.


Have a nice day :)

Thomas


Reply to: