Skip to contentSkip to conversation

segfault with pvcreate command

linux-lvm Kumar amit mehta 2 participants 4 messages Jun 2, 2013

lore
Share & tools
lore
#0 lore raw

Hi,

I'm observing a weird segfault with any of the lvm commands (pvcreate, lvcreate etc). Please note that these tools worked fine when I was using the lvm2 package installed from the red hat repository. Only recently, I had removed the lvm2 package(yum remove lvm2) and have built the lvm tools by cloning the git repo and following the straight-forward steps of ./configure; make; make install.

Some information about my system and error logs.
<snip>

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.4 (Santiago)
# uname -a
Linux snow 2.6.32-358.el6.x86_64 #1 SMP Tue
Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
# rpm -qa|grep -i mapper
device-mapper-multipath-0.4.9-64.el6.x86_64
device-mapper-1.02.77-9.el6.x86_64
device-mapper-event-1.02.77-9.el6.x86_64
device-mapper-multipath-libs-0.4.9-64.el6.x86_64
device-mapper-persistent-data-0.1.4-1.el6.x86_64
device-mapper-libs-1.02.77-9.el6.x86_64
device-mapper-event-libs-1.02.77-9.el6.x86_64
# rpm -qa|grep -i lvm2
lvm2-libs-2.02.98-9.el6.x86_64
# git config --get remote.origin.url
git://git.fedorahosted.org/git/lvm2.git
# pvcreate
Segmentation fault (core dumped)
# file core.17231 
core.17231: ELF 64-bit LSB core file x86-64, version 1 (SYSV),
SVR4-style, from 'pvcreate'
# ldd `which pvcreate`
	linux-vdso.so.1 =>  (0x00007fffd36e9000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f012220e000)
	libdevmapper.so.1.02 => /lib64/libdevmapper.so.1.02
(0x00007f0121fd4000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f0121c40000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f0122418000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f0121a21000)
	libsepol.so.1 => /lib64/libsepol.so.1 (0x00007f01217e4000)
	libudev.so.0 => /lib64/libudev.so.0 (0x00007f01215d5000)
# gdb -q pvcreate core.17231
Reading symbols from /sbin/pvcreate...(no debugging symbols
found)...done.
[New Thread 17231]
Reading symbols from /lib64/libdl.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libdevmapper.so.1.02...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libdevmapper.so.1.02
Reading symbols from /lib64/libc.so.6...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libselinux.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libselinux.so.1
Reading symbols from /lib64/libsepol.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libsepol.so.1
Reading symbols from /lib64/libudev.so.0...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libudev.so.0
Reading symbols from
/lib/modules/2.6.32-358.el6.x86_64/vdso/vdso.so...Reading symbols from
/usr/lib/debug/lib/modules/2.6.32-358.el6.x86_64/vdso/vdso.so.debug...done.
done.
Loaded symbols for /lib/modules/2.6.32-358.el6.x86_64/vdso/vdso.so
Core was generated by `pvcreate'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f6d5c375403 in ?? () from /lib64/libdevmapper.so.1.02 <---
Missing separate debuginfos, use: debuginfo-install
device-mapper-libs-1.02.77-9.el6.x86_64 glibc-2.12-1.107.el6.x86_64
libselinux-2.0.94-5.3.el6.x86_64 libsepol-2.0.41-4.el6.x86_64
libudev-147-2.46.el6.x86_64
(gdb) bt
#0  0x00007f6d5c375403 in ?? () from /lib64/libdevmapper.so.1.02
#1  0x0000000000447bd0 in merge_config_tree ()
#2  0x0000000000444588 in _merge_config_files ()
#3  0x0000000000446b07 in create_toolcontext ()
#4  0x00000000004217da in init_lvm ()
#5  0x0000000000425a75 in lvm2_main ()
#6  0x00007f6d5bfe1cdd in __libc_start_main () from /lib64/libc.so.6
#7  0x0000000000413569 in _start ()

<snip>

Q1: I think this could be due to some mismatch between the dev-mapper (from yum repo) and the lvm2(from git repo), but if it's not then in order to debug further, is there a way to get the debug packages or built one from the lvm2 sources ?

Q2: In my case, the segfault seem to be happening in the dev-mapper library, so in order to debug dev-mapper library issues, should i be reporting this in a dm-mapper mailing list?

Q3: Why there is no 'make uninstall' option in the lvm2 git repo tree? After seing this segfault, I thought of cleanup and re-installing lvm2 package from the yum repo, but before that I wish to remove all the lvm2 binaries and shared objects that got installed, but there seem to be no clean way of doing so.

-Amit

#1 lore raw
Quoted 109 lines · Kumar amit mehta

Hi,

I'm observing a weird segfault with any of the lvm commands (pvcreate, lvcreate etc). Please note that these tools worked fine when I was using the lvm2 package installed from the red hat repository. Only recently, I had removed the lvm2 package(yum remove lvm2) and have built the lvm tools by cloning the git repo and following the straight-forward steps of ./configure; make; make install.

Some information about my system and error logs.
<snip>

# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 6.4 (Santiago)
# uname -a
Linux snow 2.6.32-358.el6.x86_64 #1 SMP Tue
Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
# rpm -qa|grep -i mapper
device-mapper-multipath-0.4.9-64.el6.x86_64
device-mapper-1.02.77-9.el6.x86_64
device-mapper-event-1.02.77-9.el6.x86_64
device-mapper-multipath-libs-0.4.9-64.el6.x86_64
device-mapper-persistent-data-0.1.4-1.el6.x86_64
device-mapper-libs-1.02.77-9.el6.x86_64
device-mapper-event-libs-1.02.77-9.el6.x86_64
# rpm -qa|grep -i lvm2
lvm2-libs-2.02.98-9.el6.x86_64
# git config --get remote.origin.url
git://git.fedorahosted.org/git/lvm2.git
# pvcreate
Segmentation fault (core dumped)
# file core.17231 
core.17231: ELF 64-bit LSB core file x86-64, version 1 (SYSV),
SVR4-style, from 'pvcreate'
# ldd `which pvcreate`
	linux-vdso.so.1 =>  (0x00007fffd36e9000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f012220e000)
	libdevmapper.so.1.02 => /lib64/libdevmapper.so.1.02
(0x00007f0121fd4000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f0121c40000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f0122418000)
	libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f0121a21000)
	libsepol.so.1 => /lib64/libsepol.so.1 (0x00007f01217e4000)
	libudev.so.0 => /lib64/libudev.so.0 (0x00007f01215d5000)
# gdb -q pvcreate core.17231
Reading symbols from /sbin/pvcreate...(no debugging symbols
found)...done.
[New Thread 17231]
Reading symbols from /lib64/libdl.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libdevmapper.so.1.02...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libdevmapper.so.1.02
Reading symbols from /lib64/libc.so.6...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib64/libselinux.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libselinux.so.1
Reading symbols from /lib64/libsepol.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libsepol.so.1
Reading symbols from /lib64/libudev.so.0...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libudev.so.0
Reading symbols from
/lib/modules/2.6.32-358.el6.x86_64/vdso/vdso.so...Reading symbols from
/usr/lib/debug/lib/modules/2.6.32-358.el6.x86_64/vdso/vdso.so.debug...done.
done.
Loaded symbols for /lib/modules/2.6.32-358.el6.x86_64/vdso/vdso.so
Core was generated by `pvcreate'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f6d5c375403 in ?? () from /lib64/libdevmapper.so.1.02 <---
Missing separate debuginfos, use: debuginfo-install
device-mapper-libs-1.02.77-9.el6.x86_64 glibc-2.12-1.107.el6.x86_64
libselinux-2.0.94-5.3.el6.x86_64 libsepol-2.0.41-4.el6.x86_64
libudev-147-2.46.el6.x86_64
(gdb) bt
#0  0x00007f6d5c375403 in ?? () from /lib64/libdevmapper.so.1.02
#1  0x0000000000447bd0 in merge_config_tree ()
#2  0x0000000000444588 in _merge_config_files ()
#3  0x0000000000446b07 in create_toolcontext ()
#4  0x00000000004217da in init_lvm ()
#5  0x0000000000425a75 in lvm2_main ()
#6  0x00007f6d5bfe1cdd in __libc_start_main () from /lib64/libc.so.6
#7  0x0000000000413569 in _start ()

<snip>

Q1: I think this could be due to some mismatch between the dev-mapper (from yum repo) and the lvm2(from git repo), but if it's not then in order to debug further, is there a way to get the debug packages or built one from the lvm2 sources ?

Q2: In my case, the segfault seem to be happening in the dev-mapper library, so in order to debug dev-mapper library issues, should i be reporting this in a dm-mapper mailing list?

Quoted 7 lines

Q3: Why there is no 'make uninstall' option in the lvm2 git repo tree? After seing this segfault, I thought of cleanup and re-installing lvm2 package from the yum repo, but before that I wish to remove all the lvm2 binaries and shared objects that got installed, but there seem to be no clean way of doing so.

-Amit

My apologies for being impatient. I just remove the lvm2-libs package(mentioned in my previous mail) and everything seem to be working fine now.

<snip>

# yum remove lvm2-libs
---> Package lvm2-libs.x86_64 0:2.02.98-9.el6 will be erased
Removed:
  lvm2-libs.x86_64 0:2.02.98-9.el6                                                                                                                                              

Complete!

# which pvcreate
/sbin/pvcreate
# pvcreate
  Please enter a physical volume path
  Run `pvcreate --help' for more information.
# pvcreate /dev/vdd1
  Physical volume "/dev/vdd1" successfully created
<snip>

However, I'd appreciate a lot if you can look into my concern, mentioned in "Q3" in my previous mail and guide me to build the debug package of lvm2.

-Amit

#2 lore raw
Quoted 3 lines · Kumar amit mehta

However, I'd appreciate a lot if you can look into my concern, mentioned in "Q3" in my previous mail and guide me to build the debug package of lvm2.

Figured, how to build the binaries(pvcreate,etc) with debugging symbols.

# ./configure CFLAGS=-g

-Amit

#3 lore raw

Dne 2.6.2013 09:39, Kumar amit mehta napsal(a):

Quoted 9 lines · Kumar amit mehta
Quoted 3 lines

However, I'd appreciate a lot if you can look into my concern, mentioned in "Q3" in my previous mail and guide me to build the debug package of lvm2.

Figured, how to build the binaries(pvcreate,etc) with debugging symbols.

# ./configure CFLAGS=-g

Check configure --help

You will find there a lot of options you might want to enable - i.e. udev support, debug support...

Zdenek