Description of problem: I observed supermin segfaulting. At about the same time, I was installing RPMs using the 'dnf' command. The only information I have so far is that the crash seems to have happened in strlen, possibly when calling strlen(NULL). [6894014.038561] supermin[25953]: segfault at 1 ip 00007f00942e6516 sp 00007ffdb0c14ef8 error 4 in libc-2.23.90.so[7f009425b000+1bd000] $ addr2line -e /lib64/libc-2.23.90.so 8B516 /usr/src/debug////////glibc-2.23-300-gb91a333/string/../sysdeps/x86_64/strlen.S:106 /* Test first 16 bytes unaligned. */ movdqu (%rax), %xmm4 <--- segfault here Version-Release number of selected component (if applicable): supermin-5.1.16-4.fc25.x86_64 How reproducible: Unknown. Steps to Reproduce: Unknown so far, but possibly running 'supermin --build' at the same time as installing packages with 'dnf'.
I reproduced this by creating a Fedora 24 VM. In one shell I did: $ pkgs="util-linux libblkid libuuid libfdisk libmount libsmartcols" $ while true; do sudo dnf -y update $pkgs; sudo dnf -y downgrade $pkgs; done In another I did: $ while ./src/supermin --build -o /tmp/appliance.d -f ext2 /usr/lib64/guestfs/supermin.d; do : ; done I very quickly found the same problem: supermin: rpm: lib: error: rpmdb: damaged header #772 retrieved -- skipping. Segmentation fault (core dumped) Program terminated with signal SIGSEGV, Segmentation fault. #0 strlen () at ../sysdeps/x86_64/strlen.S:106 106 movdqu (%rax), %xmm4 (gdb) bt #0 strlen () at ../sysdeps/x86_64/strlen.S:106 #1 0x00007ff3019e5cb8 in indexGet (dbi=0x27c7390, keyp=keyp@entry=0x1 <error: Cannot access memory at address 0x1>, keylen=keylen@entry=0, set=set@entry=0x7fff430e7fe8) at rpmdb.c:232 #2 0x00007ff3019e85f8 in indexGet (set=0x7fff430e7fe8, keylen=0, keyp=0x1 <error: Cannot access memory at address 0x1>, dbi=<optimized out>) at rpmdb.c:227 #3 indexIterInit (keylen=0, keyp=0x1, rpmtag=1000, db=0x2798d20) at rpmdb.c:1811 #4 rpmdbInitIterator (db=0x2798d20, rpmtag=rpmtag@entry=1000, keyp=keyp@entry=0x1, keylen=keylen@entry=0) at rpmdb.c:1844 #5 0x00007ff301a11c6d in rpmtsInitIterator (ts=0x26376c0, rpmtag=1000, keyp=0x1, keylen=0) at rpmts.c:230 #6 0x0000000000457a5d in supermin_rpm_installed (rpmv=140681626775456, pkgv=1) at librpm-c.c:200 #7 0x0000000000411977 in camlRpm__query_1242 () #8 0x00000000004128cf in camlRpm__rpm_package_of_string_1240 () #9 0x00000000004119c9 in camlRpm__fun_1584 () #10 0x000000000042617d in camlList__find_1202 () #11 0x0000000000412b65 in camlRpm__fun_1576 () #12 0x00000000004118fe in camlRpm__fun_1592 () #13 0x0000000000425703 in camlArray__fold_left_1093 () #14 0x0000000000412e5b in camlRpm__rpm_get_all_requires_1280 () #15 0x000000000040bc94 in camlBuild__build_1060 () #16 0x0000000000409dce in camlSupermin__main_1045 () #17 0x000000000040a238 in camlSupermin__entry () #18 0x0000000000405e79 in caml_program () #19 0x000000000047260e in caml_start_program () #20 0x00007ff301e594a1 in initialize_ext2_error_table_r (list=<optimized out>) at ext2_err.c:200 #21 0xcbf06bbb04544500 in ?? () #22 0x0000000000000002 in ?? () #23 0x0000000000000000 in ?? ()
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.
Reopening because Virtualization Tools has not been discontinued.