Re: mkisofs infinite loop (was: Re: problems with growisoft)

2005-02-08 Thread Joerg Schilling
Patrick Ohly <[EMAIL PROTECTED]> wrote:

> - -R is important to trigger the problem
>
> A debugger shows that it gets stuck in multi.c/check_rr_dates():
> it reads and parses the same extention block infinitely because
> cont_extent (set by a CE entry in the original block) is not cleared.
>
> A solution is to to clear those variables, just as it is done after
> readsecs() in check_rr_relocation():
>
> *** multi.c Sat May 15 18:59:40 2004
> --- multi.c.fixed   Sun Feb  6 17:42:18 2005
> ***
> *** 601,614 
> --- 601,615 
>  * Continue to scan the extension record.
>  * Note that this has not been tested yet, but
> it is
>  * definitely more correct that calling
> parse_rr()
>  * as done in Eric's old code.
>  */
> pnt = §or[cont_offset];
> len = cont_size;
> +   cont_extent = cont_offset = cont_size = 0;
> }
> }

Looks reasonable.

Jörg

-- 
 EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
   [EMAIL PROTECTED](uni)  
   [EMAIL PROTECTED](work) Blog: http://schily.blogspot.com/
 URL:  http://www.fokus.fraunhofer.de/usr/schilling 
ftp://ftp.berlios.de/pub/schily


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



mkisofs infinite loop (was: Re: problems with growisoft)

2005-02-06 Thread Patrick Ohly
On Thu, 2004-11-04 at 15:21 +0100, Paolo Nason wrote: 
> Now I can reproduce the problem using that single file.
> Here is the name:
> $ls /tmp/nason/.nautilus/
> metafiles
> $ls /tmp/nason/.nautilus/metafiles/
> file:%2F%2F%2Fmnt%2Fcdrom%2Fbackup-2004-10-01-08%253A35%2Fusr%2Flocal%2Fhome%2Fnason%2Fc%252B%252B.xml
> 
> Now I do:
> growisofs -Z /dev/hdd -root backup1 -R -D \
> -graft-points /tmp/nason/.nautilus=/tmp/nason/.nautilus
> 
> which works, and then
> growisofs -M /dev/hdd -root backup2 -old-root backup1 -R -D \
>  -graft-points /tmp/nason/.nautilus=/tmp/nason/.nautilus

For various reasons I didn't look into this earlier. Sorry!

Anyway, let's see:

- the problem still occurs with mkisofs from cdrtools 2.01.01
- it has nothing to do with using -root or -old-root (not  really
  surprising, as -root is just a shortcut for more elaborate
  graft points and -old-root uses the same code as the normal
  multisession writing); these commands also cause mkisofs to
  lock up:
mkisofs -R -o /tmp/first.iso nason/.nautilus
mkisofs -R -o /tmp/second.iso -C 0,6 -M /tmp/first.iso
nason/.nautilus
- -R is important to trigger the problem

A debugger shows that it gets stuck in multi.c/check_rr_dates():
it reads and parses the same extention block infinitely because
cont_extent (set by a CE entry in the original block) is not cleared.

A solution is to to clear those variables, just as it is done after
readsecs() in check_rr_relocation():

*** multi.c Sat May 15 18:59:40 2004
--- multi.c.fixed   Sun Feb  6 17:42:18 2005
***
*** 601,614 
--- 601,615 
 * Continue to scan the extension record.
 * Note that this has not been tested yet, but
it is
 * definitely more correct that calling
parse_rr()
 * as done in Eric's old code.
 */
pnt = §or[cont_offset];
len = cont_size;
+   cont_extent = cont_offset = cont_size = 0;
}
}
  
/*
 * If we have the same fundamental file type, then it is clearly
safe
 * to reuse the TRANS.TBL entry.
 */

Joerg, if you agree with this patch, can you apply it, please? I have
tested that the modified binary no longer runs into the infinite
loop and I have used it for an incremental backup which went
fine.

-- 
Bye, Patrick Ohly
--  
[EMAIL PROTECTED]
[EMAIL PROTECTED] (MakeCD related mails)
http://home.pages.de/~ohly/
http://makecd.core.de/ (MakeCD home page)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: problems with growisoft

2004-11-04 Thread Joerg Schilling
Patrick Ohly <[EMAIL PROTECTED]> wrote:

> I investigated a similar problem (infinite loop RR reading
> code) in in mkisofs 2.01a23 and Joerg included the fix in
> 2.01a24. You might want to check whether your version of
> the mkisofs sources contains that fix (or simply try it
> with the official mkisofs source).

Mkisofs is still full of bugs introduced by Eriy Youngdale & 
partners many years ago.

I am still constantly fixing old bugs and somethimes believe that
it may have been better to write a new mkisofs from scratch instead
of maintaining the old source.

It seems that the tar file send out today causes a hang on the latest source.

I did not yet have the time to investigate on the problem.

Jörg

-- 
 EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
   [EMAIL PROTECTED](uni)  If you don't have iso-8859-1
   [EMAIL PROTECTED](work) chars I am J"org Schilling
 URL:  http://www.fokus.fraunhofer.de/usr/schilling ftp://ftp.berlios.de/pub/schily


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: problems with growisoft

2004-11-04 Thread Patrick Ohly
On Thu, 2004-11-04 at 15:21, Paolo Nason wrote:
> Following Andy suggestion I looked for an offending file;
> running mkisofs with the debugger I found it.
> mkisofs hangs in the routine check_rr_dates, when is processing
> that file.
> 
> It was a nautilus file with a very long name.

Sorry for not replying earlier, I have been off the net for
a while due to moving into a new home.

I investigated a similar problem (infinite loop RR reading
code) in in mkisofs 2.01a23 and Joerg included the fix in
2.01a24. You might want to check whether your version of
the mkisofs sources contains that fix (or simply try it
with the official mkisofs source).

-- 
Bye, Patrick Ohly
--  
[EMAIL PROTECTED]
[EMAIL PROTECTED] (MakeCD related mails)
http://home.pages.de/~ohly/
http://makecd.core.de/ (MakeCD home page)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: problems with growisoft

2004-11-04 Thread Paolo Nason
Following Andy suggestion I looked for an offending file;
running mkisofs with the debugger I found it.
mkisofs hangs in the routine check_rr_dates, when is processing
that file.

It was a nautilus file with a very long name.
I moved it into a directory by itself.

Now I can reproduce the problem using that single file.
Here is the name:
$ls /tmp/nason/.nautilus/
metafiles
$ls /tmp/nason/.nautilus/metafiles/
file:%2F%2F%2Fmnt%2Fcdrom%2Fbackup-2004-10-01-08%253A35%2Fusr%2Flocal%2Fhome%2Fnason%2Fc%252B%252B.xml

Now I do:
growisofs -Z /dev/hdd -root backup1 -R -D \
-graft-points /tmp/nason/.nautilus=/tmp/nason/.nautilus

which works, and then
growisofs -M /dev/hdd -root backup2 -old-root backup1 -R -D \
 -graft-points /tmp/nason/.nautilus=/tmp/nason/.nautilus


which hangs.

If you want to try to reproduce the problem I attach a tar.gz file
containing
/tmp/nason/.nautilus/metafiles/*
and
/tmp/growisoprob
which contains the two growisofs offending commands.




-- 
Paolo Nason, INFN, sez. di Milano
Universita' di Milano-Bicocca,
Dip. di Fisica "G. Occhialini",
Piazza della Scienza, 3
20126 Milano
Phone: +39-02-64482541.
Fax:   +39-02-64482582.


growisoprob.tar.gz
Description: application/compressed-tar


Re: problems with growisoft

2004-11-04 Thread Joerg Schilling
Andy Polyakov <[EMAIL PROTECTED]> wrote:


> > #mkisofs -C 16,407824 -M /dev/hdd -root backup-2004-10-22-10:43
> > -old-root backup-2004-10-22-10:36 -quiet -R -D -exclude-list
> > /tmp/backup.exclude -graft-points home/nason=home/nason
> > 
> > The program runs an infinite loop in multi.c:545,
> >while (len >= 4) {
>
> It's pure mkisofs problem. In other words it has anything to do whether 
> or not you use ide-scsi, what is your kernel version nor which brand is 
> your recorder unit. It has everything to do with your home directory 
> structure. You can try narrow the problem by temporarily moving 
> subdirectories out of your home directory to identify which one causes 
> trouble, then step down that directory and apply same procedure 
> (temporarily move out subdirs elsewhere on same device)... A.

Unless I did see the image that caused the problem, I am not willing to call
this a mkisofs problem.


Note that the OP did not use an official mkisofs version but a RedHat hack and
it may be that the image is just broken. The problem with RR is that it is hard
to add workarounds for any defect in ISO images that are going to be used 
to be continued with multi session.

Jörg

-- 
 EMail:[EMAIL PROTECTED] (home) Jörg Schilling D-13353 Berlin
   [EMAIL PROTECTED](uni)  If you don't have iso-8859-1
   [EMAIL PROTECTED](work) chars I am J"org Schilling
 URL:  http://www.fokus.fraunhofer.de/usr/schilling ftp://ftp.berlios.de/pub/schily


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: problems with growisoft

2004-11-02 Thread Andy Polyakov
Now I try to burn a subsequent session in incremental mode:
#growisofs -M /dev/hdd -root backup-2004-10-22-10:43 -old-root
backup-2004-10-22-10:36 -quiet -R -D -exclude-list /tmp/backup.exclude
-graft-points home/nason=home/nason
output:
Executing 'mkisofs -C 16,407824 -M /dev/fd/3 -root
backup-2004-10-22-10:43 -old-root backup-2004-10-22-10:36 -quiet -R -D
-exclude-list /tmp/backup.exclude -graft-points home/nason=home/nason |
builtin_dd of=/dev/hdd obs=32k seek=25489'
Rock Ridge signatures found
At this point the dvd burner lights up for a while then stops.
Nothing happens. Using top I can see that mkisofs is using
all the cpu available. I have to kill the process.
If I do the same with a small test directory, the same procedure
works. With my home directory (800Mb) it hangs.
I compiled mkisofs with a debug option, and ran under the debugger
the command (is this right? I took it from the growisofs output,
substituting /dev/fd/3 with /dev/hdd ):
#mkisofs -C 16,407824 -M /dev/hdd -root backup-2004-10-22-10:43
-old-root backup-2004-10-22-10:36 -quiet -R -D -exclude-list
/tmp/backup.exclude -graft-points home/nason=home/nason
The program runs an infinite loop in multi.c:545,
   while (len >= 4) {
It's pure mkisofs problem. In other words it has anything to do whether 
or not you use ide-scsi, what is your kernel version nor which brand is 
your recorder unit. It has everything to do with your home directory 
structure. You can try narrow the problem by temporarily moving 
subdirectories out of your home directory to identify which one causes 
trouble, then step down that directory and apply same procedure 
(temporarily move out subdirs elsewhere on same device)... A.

--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]


problems with growisoft

2004-10-22 Thread Paolo Nason
I used to make incremental backups of my home directory
using growisofs. At some point I started to have problems with it.

The initial session is burned with:

#growisofs -Z /dev/hdd -root backup-2004-10-22-10:36 -quiet -R -D
-exclude-list /tmp/backup.exclude -graft-points home/nason=home/nason
2>&1 | tee /tmp/backup.log

output:

WARNING: /dev/hdd already carries isofs!
About to execute 'mkisofs -root backup-2004-10-22-10:36 -quiet -R -D
-exclude-list /tmp/backup.exclude -graft-points home/nason=home/nason |
builtin_dd of=/dev/hdd obs=32k seek=0'
/dev/hdd: "Current Write Speed" is 4.1x1385KBps.
/dev/hdd: flushing cache
/dev/hdd: stopping de-icing
/dev/hdd: writing lead-out

If I mount the dvd now, it has the backup on it
under the directory backup-2004-10-22-10:36, as I expected.

Now I try to burn a subsequent session in incremental mode:
#growisofs -M /dev/hdd -root backup-2004-10-22-10:43 -old-root
backup-2004-10-22-10:36 -quiet -R -D -exclude-list /tmp/backup.exclude
-graft-points home/nason=home/nason

output:

Executing 'mkisofs -C 16,407824 -M /dev/fd/3 -root
backup-2004-10-22-10:43 -old-root backup-2004-10-22-10:36 -quiet -R -D
-exclude-list /tmp/backup.exclude -graft-points home/nason=home/nason |
builtin_dd of=/dev/hdd obs=32k seek=25489'
Rock Ridge signatures found

At this point the dvd burner lights up for a while then stops.
Nothing happens. Using top I can see that mkisofs is using
all the cpu available. I have to kill the process.

If I do the same with a small test directory, the same procedure
works. With my home directory (800Mb) it hangs.

I compiled mkisofs with a debug option, and ran under the debugger
the command (is this right? I took it from the growisofs output,
substituting /dev/fd/3 with /dev/hdd ):

#mkisofs -C 16,407824 -M /dev/hdd -root backup-2004-10-22-10:43
-old-root backup-2004-10-22-10:36 -quiet -R -D -exclude-list
/tmp/backup.exclude -graft-points home/nason=home/nason

The program runs an infinite loop in multi.c:545,
   while (len >= 4) {


I do not quite understand what the program is doing.

If I use the old ide-scsi interface (with /dev/scd0 instead
of /dev/hdd) I find the same problem.

I appreciate suggestions;

My setup: AMD Athlon(TM) XP 2600+, Fedora2,
kernel-2.6.5-1.358
mkisofs-2.01.1-0.FC2.1
dvd+rw-tools-5.21.4.10.8-1.FC2.1

The dvd writer is an LG, identified as
HL-DT-ST DVDRAM GSA-4082B, ATAPI CD/DVD-ROM drive


Best regards, Paolo Nason

-- 

Paolo Nason, INFN, sez. di Milano
Universita' di Milano-Bicocca,
Dip. di Fisica "G. Occhialini",
Piazza della Scienza, 3
20126 Milano
Phone: +39-02-64482541.
Fax:   +39-02-64482582.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]