Package: dvdisaster
Version: 0.71~devel23-1
Severity: normal
Tags: patch

| $ dvdisaster -i x.iso --adaptive-read -r
| [...]
| Device: /dev/hda, Optiarc DVD RW AD-7170A 1.02
| Using READ CD.
| Medium "New": Data CD mode 1, 107605 sectors, created 21-09-2003.
| 
| Adaptive reading: Stopping when unreadable intervals < 16.
| Creating new x.iso image.
| Segmentation fault (core dumped)05; now reading [0..107604], size 107605)
 
 
| $ dvdisaster -i x.iso -r
=> works.
 

Recompiling to -O0 -g allows core to be backtraced:
$ gdb /tmp/DVDISASTER/dvdisaster-0.71~devel23/dvdisaster core
[...]
Core was generated by `/tmp/DVDISASTER/dvdisaster-0.71~devel23/dvdisaster -i 
x.iso --adaptive-read -r'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000433728 in ReadMediumAdaptive (data=0x0) at read-adaptive.c:1364
1364                         SetBit(rc->map, b);
(gdb) bt
#0  0x0000000000433728 in ReadMediumAdaptive (data=0x0) at read-adaptive.c:1364
#1  0x000000000040fe93 in main (argc=5, argv=0x7fffb4e2c218) at dvdisaster.c:739
(gdb) list
1359                         n = LargeWrite(rc->image, rc->buf+i*2048, 2048);
1360                         if(n != 2048)
1361                            Stop(_("Failed writing to sector %lld in image 
[%s]: %s"),
1362                                 b, "store", strerror(errno));
1363
1364                         SetBit(rc->map, b);
1365                         rc->readable++;
1366
1367                         mark_sector(rc, b, Closure->greenSector);
1368
(gdb) print rc->map
$1 = (Bitmap *) 0x0


It seems to me that rc->map, only used in read-adaptive.c (in
conjunction with rc02), is not initialized here.  Since other
places take care to check for that, my guess is that simply a
"if(rc->map)" is missing.  That at least stops the segfault and
--adaptive-read seems to work; however I am not competent enough to
know whether that might cause other problems, especially regarding
to ecc use.


--- dvdisaster-0.71~devel23/read-adaptive.c     2007-06-07 21:28:34.000000000 
+0200
+++ read-adaptive.c     2007-06-07 21:23:45.000000000 +0200
@@ -1361,7 +1361,8 @@
                        Stop(_("Failed writing to sector %lld in image [%s]: 
%s"),
                             b, "store", strerror(errno));
 
-                    SetBit(rc->map, b);
+                    if(rc->map)
+                       SetBit(rc->map, b);
                     rc->readable++;
 
                     mark_sector(rc, b, Closure->greenSector);



-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.20.4 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dvdisaster depends on:
ii  libatk1.0-0                   1.18.0-2   The ATK accessibility toolkit
ii  libc6                         2.5-10     GNU C Library: Shared libraries
ii  libcairo2                     1.4.6-1.1  The Cairo 2D vector graphics libra
ii  libfontconfig1                2.4.2-1.2  generic font configuration library
ii  libglib2.0-0                  2.12.12-1  The GLib library of C routines
ii  libgtk2.0-0                   2.10.12-2  The GTK+ graphical user interface 
ii  libpango1.0-0                 1.16.4-1   Layout and rendering of internatio
ii  libx11-6                      2:1.0.3-7  X11 client-side library
ii  libxcursor1                   1:1.1.8-2  X cursor management library
ii  libxext6                      1:1.0.3-2  X11 miscellaneous extension librar
ii  libxfixes3                    1:4.0.3-2  X11 miscellaneous 'fixes' extensio
ii  libxi6                        1:1.0.1-4  X11 Input extension library
ii  libxinerama1                  1:1.0.2-1  X11 Xinerama extension library
ii  libxrandr2                    2:1.2.1-1  X11 RandR extension library
ii  libxrender1                   1:0.9.2-1  X Rendering Extension client libra

Versions of packages dvdisaster recommends:
ii  dvdisaster-doc            0.71~devel23-1 data loss/scratch/aging protection

-- no debconf information


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

Reply via email to