This commit is included in 3.2.4 release, consider updating the whole package.
FYI, below is a gdb stacktrace of mdadm 3.2.3-2ubuntu1:
#0 0x00007ffff7aa5b91 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007ffff7ae39c9 in fnmatch () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x0000000000409e88 in match_oneof (devices=0x685179 ",/dev/sdb3,/dev/sdc3", devname=0x0) at config.c:959
#3 0x000000000040a1b3 in conf_match (st=0x685730, info=0x68da80, devname=0x0, verbose=0, rvp=0x0) at config.c:1050
#4 0x000000000044d10b in RebuildMap () at mapfile.c:434
#5 0x000000000044d585 in map_read (melp=0x7fffffffe560) at mapfile.c:201
#6 0x000000000044d67d in map_by_devnum (map=0x7fffffffe560, devnum=0) at mapfile.c:309
#7 0x0000000000407335 in main (argc=<optimized out>, argv=<optimized out>) at mdadm.c:1477
Upstream commit 9f1b0f0f1ed should fix this segmentation fault: neil.brown. name/git? p=mdadm; a=commitdiff; h=9f1b0f0f1ed0d d4752be65348a24 971335cd50e8
http://
This commit is included in 3.2.4 release, consider updating the whole package.
FYI, below is a gdb stacktrace of mdadm 3.2.3-2ubuntu1:
#0 0x00007ffff7aa5b91 in ?? () from /lib/x86_ 64-linux- gnu/libc. so.6 64-linux- gnu/libc. so.6 sdb3,/dev/ sdc3", devname=0x0) at config.c:959 fe560) at mapfile.c:201 e560, devnum=0) at mapfile.c:309
#1 0x00007ffff7ae39c9 in fnmatch () from /lib/x86_
#2 0x0000000000409e88 in match_oneof (devices=0x685179 ",/dev/
#3 0x000000000040a1b3 in conf_match (st=0x685730, info=0x68da80, devname=0x0, verbose=0, rvp=0x0) at config.c:1050
#4 0x000000000044d10b in RebuildMap () at mapfile.c:434
#5 0x000000000044d585 in map_read (melp=0x7ffffff
#6 0x000000000044d67d in map_by_devnum (map=0x7fffffff
#7 0x0000000000407335 in main (argc=<optimized out>, argv=<optimized out>) at mdadm.c:1477
Source snippets:
NULL, 0,
NULL);
#4: /* NB: 3rd argument is NULL */
struct mddev_ident *match = conf_match(st, info,
#3: /* NB: devname is a 3rd argument name, i.e. devname==NULL */ list->devices && match_oneof( array_list- >devices, devname)) {
if (array_
!
#2: /* NB: fnmatch() receives NULL as a 2nd argument, which leads to SIGSEGV */
if (fnmatch(patn, devname, FNM_PATHNAME)==0)