wodim no longer works from non-root accounts
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
cdrkit (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
With the upgrade from Artful to Bionic (18.04 LTS), wodim no longer works for non-root users. Given that the cdrkit package itself has not changed (version 9:1.1.11-3ubuntu2), the most likely culprit is in the Linux kernel (Bionic, currently linux-image-
In particular, running "wodim -v -dao -audio -copy *.wav" as a non-root user under Bionic now generates the following; this previously worked correctly in Artful and prior releases of Ubuntu:
TOC Type: 0 = CD-DA
wodim: Operation not permitted. Warning: Cannot raise RLIMIT_MEMLOCK limits.
wodim: Resource temporarily unavailable. Cannot get mmap for 12587008 Bytes on /dev/zero.
The exit code is 11.
Note that the user in question is a member of the cdrom group, and running "ls -la /dev/sr0" gives:
brw-rw----+ 1 root cdrom 11, 0 May 8 18:39 /dev/sr0
Attached is an strace of running the above command line. I could not find any workaround by a reasonably quick search of the Internet.
The number of bytes being mmap()ed (12587008 bytes) may well be set in /etc/wodim.conf, where the following line appears by default:
CDR_FIFOSIZE=12m
Commenting out this line seems to solve the immediate problem, as only 8192 bytes are now mmap()ed--but I have not tested it with a read CD-R disc, as it seems to me that an 8kB FIFO buffer is a bit small!
After some testing (without any blank CD-Rs), it seems that CDR_FIFOSIZE=7788k works, but 7789k does not. I don't have anything that looks relevant in /etc/sysctl.conf or /etc/sysctl.d/*.