Bug#832537: mdadm: /usr/share/mdadm/checkarray: fails silently, without any action
Sabahattin Gucukoglu
scrapedsebby at me.com
Tue Jul 26 15:36:14 UTC 2016
Package: mdadm
Version: 3.4-1
Severity: important
Because of a peculiar bug in dash (0.5.8-2.2) reading from sysfs using the
read command, on my sysstem, line 145 of checkarray always fails with status
1, thus ending the script (set -e) and providing no hint to the
administrator (via cronjob output mail) that checks are not actually being
performed on schedule. Assuming it affects others, this is of course very
serious.
I can reproduce the shell bug easily enough at a /bin/sh prompt:
$ MDBASE=/sys/block/md126/md
$ cat $MDBASE/sync_ation
idle
$ read cur_status < $MDBASE/sync_ation
$ echo $?
1
$ echo $cur_status
i
The workaround for me is to use bash (start the script from the crontab
using bash). It works perfectly then.
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 4.6.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
More information about the pkg-mdadm-devel
mailing list