Closed david56 closed 7 years ago
Interesting. Just typing lvdisplay
causes the segfault:
ONIE:/ # lvdisplay
Segmentation fault
dmesg
mentions a problem in libdevmapper.so.
ONIE:/ # dmesg | tail
...
lvdisplay[942]: segfault at 7fff43763fd8 ip 00007f92b421ce44 sp 00007fff43763fe0 error 6 in libdevmapper.so.1.02[7f92b41e5000+48000]
strace lvdisplay
shows this:
ONIE:/ # strace lvdisplay
...
stat("/dev/mapper/control", {st_mode=S_IFCHR|0660, st_rdev=makedev(10, 236), ...}) = 0
open("/dev/mapper/control", O_RDWR) = 5
ioctl(5, DM_VERSION, 0x55efb7e7ffe0) = 0
ioctl(5, DM_DEV_STATUS, 0x55efb7e7ffe0) = -1 ENXIO (No such device or address)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7fffd3315fd8} ---
+++ killed by SIGSEGV +++
Segmentation fault
Some debugging to do.
Switching to glibc is not really an option.
The previous version lvm2 (2.02.105) compiled with the latest ONIE source does not see the problem. It looks the problem is not relative to the toolchain in ONIE.
I agree. It is unclear why moving ahead to 2_02_155 was necessary. I have a PR open to revert the default version back to 2_02_105, which works fine.
Looking at the upstream:
https://sourceware.org/lvm2/
ftp://sources.redhat.com/pub/lvm2/
Version 2_02_155 was never officially released, not sure why we were using it.
I think the thing to do is revert back to 2_02_105.
The change is OK to me. But it seems that armv8a.make
needs to override lvm2 version to 2_02_155, right?
That sounds reasonable. Good idea.
The lvm2 tools are upgraded since v2016.11. Accton AOS team found some commands will be segmentation fault. Please see the test log in AS7716_32X:
We found a discussion thread on internet said:
http://unix.stackexchange.com/questions/294582/segmentation-fault-when-running-lvcreate
I've checked that
CONFIG_DM_UEVENT
in kernel config has been enabled. However, changing uclibc to glibc is a big topic will affect all platforms. I would like to know if it can solve the issue without changing libc.