Package: wodim
Version: 9:1.1.11-3.2
Severity: normal

I'm running on a machine with 128GB memory and I want to use a large FIFO due
to running 6 simutanious burns from the same drive.

Here's the command that doesn't work:
wodim dev=/dev/sr6 fs=4096m speed=16 tsize=2298496s -v large.iso debug=10

NOTE: I added debug=10 to see where it bombs.

Using strace, this is what I see:
35596 write(1, "Blocks total: 2298496 Blocks current: 2298496 Blocks remaining: 
0\n", 66) = 66
35596 getuid()                          = <redacted>
35596 write(2, "bufsize: 65536 buffers: 65536 hdrsize 1572864\n", 46) = 46
35596 write(2, "bufsize: 65536 buffers: 65512 hdrsize 1572288\n", 46) = 46
35596 write(1, "Using 65512 buffers of 64512 bytes.\n", 36) = 36
35596 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, 
si_addr=0x7f84a10d6000} ---
35596 +++ killed by SIGSEGV +++

I found the line "Using 65512 buffers of 64512 bytes.\n" in
wodim/fifo.c:init_faio around line 467 (This is without applying debian's
patches)

I assume it has to seg somewhere between that and the fork() about 20 lines
down.

If I use fs=1024m or fs=1536m, it works w/o issues.

If I use fs=2048m, I get this:
wodim: No write mode specified.
wodim: Assuming -tao mode.
wodim: Future versions of wodim may have different drive dependent defaults.
TOC Type: 1 = CD-ROM
wodim: Cannot allocate memory. Cannot get mmap for -2147479552 Bytes on 
/dev/zero.

If I use fs=3072m, I get this:
wodim: No write mode specified.
wodim: Assuming -tao mode.
wodim: Future versions of wodim may have different drive dependent defaults.
TOC Type: 1 = CD-ROM
wodim: Cannot allocate memory. Cannot get mmap for -1073737728 Bytes on 
/dev/zero.

I'm assuming that there is a 32-bit integer involved in this.  I found in
wodim/fifo.c:mkshare that the parameter "size" is type int.  Global "bufsize"
is type long.  Looking at mmap man page, the size parameter is type size_t.
It's possible I'm wrong on this, it's been a long time since I've programmed
in C. 

-- System Information:
Debian Release: 10.0
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

<removed as report but is not running on the same system>

-- no debconf information

Reply via email to