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]