[linux-lvm] Segmentation fault in vgscan

Markus Baertschi markus at markus.org
Thu Aug 21 15:09:01 UTC 2003


I've got a strange problem with LVM. My environment is four
IBM x440 servers (2 CPU, 2G memory) interconnected with two
fcs adapters and two switches to a FastT700 SAN storage array.

Due to circumstances we are trying to understand the FCS drivers
did show our disk devices twice (once per adapter). This is a problem
on our part, but vgscan should terminate with an error message
instead of a segfault.

We've started out with 0.98beta2 (what came with out SuSE 7). The
problem is the same with the latest tarball (1.0.7) from sistina.

Markus

Some output from vgscan:
<1> vg_check_exist_all_vg -- before vg_check_exist ( sapqvg)
<22> vg_check_exist -- CALLED with VG: sapqvg
<333> vg_check_name -- CALLED with VG: sapqvg
<4444> lvm_check_chars -- CALLED with name: "sapqvg"
<4444> lvm_check_chars -- LEAVING with ret: 0
<333> vg_check_name -- LEAVING with ret: 0
<22> vg_check_exist -- before pv_read_all_pv_of_vg
<333> pv_read_all_pv_of_vg -- CALLED with vg_name: "sapqvg"
<4444> vg_check_name -- CALLED with VG: sapqvg
<55555> lvm_check_chars -- CALLED with name: "sapqvg"
<55555> lvm_check_chars -- LEAVING with ret: 0
<4444> vg_check_name -- LEAVING with ret: 0
<4444> pv_read_all_pv -- CALLED
<4444> pv_read_all_pv -- avoiding multiple entries in case of MD; np: 0
<4444> pv_read_all_pv -- LEAVING with ret: 0
<4444> pv_check_consistency -- CALLED
<55555> pv_check_name -- CALLED with "/dev/sdb1"
<666666> lvm_check_chars -- CALLED with name: "/dev/sdb1"
<666666> lvm_check_chars -- LEAVING with ret: 0
<666666> lvm_check_dev -- CALLED
<7777777> lvm_check_partitioned_dev -- CALLED
<88888888> lvm_get_device_type called
<88888888> lvm_get_device_type leaving with 1
<7777777> lvm_check_partitioned_dev -- LEAVING with ret: TRUE
<666666> lvm_check_dev -- LEAVING with ret: 1
<55555> pv_check_name -- LEAVING with ret: 0
<55555> vg_check_name -- CALLED with VG: sapqvg
<666666> lvm_check_chars -- CALLED with name: "sapqvg"
<666666> lvm_check_chars -- LEAVING with ret: 0
<55555> vg_check_name -- LEAVING with ret: 0
<55555> lvm_check_dev -- CALLED
<666666> lvm_check_partitioned_dev -- CALLED
<7777777> lvm_get_device_type called
<7777777> lvm_get_device_type leaving with 1
<666666> lvm_check_partitioned_dev -- LEAVING with ret: TRUE
<55555> lvm_check_dev -- LEAVING with ret: 1
<55555> pv_check_new -- CALLED
<55555> pv_check_new -- LEAVING with ret: 0
<4444> pv_check_consistency -- LEAVING with ret: 0
<4444> pv_read_uuidlist -- CALLED with /dev/sdb1
<4444> lvm_check_uuid -- LEAVING with ret: 0
<333> lvm_check_uuid -- LEAVING with ret: 0
<22> lvm_check_uuid -- LEAVING with ret: -1
<1> lvm_check_uuid -- LEAVING with ret: -1
<> lvm_check_uuid -- LEAVING with ret: -1
 ... (repeats 250 times) ...
<> lvm_check_uuid -- LEAVING with ret: -1
<> pv_read_uuidlist -- LEAVING with ret: 2
Segmentation fault

lblsapq00:~ # gdb ./LVM/1.0.7/tools/vgscan
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-suse-linux"...
(gdb) run
Starting program: /root/./LVM/1.0.7/tools/vgscan
vgscan -- reading all physical volumes (this may take a while...)

Program received signal SIGSEGV, Segmentation fault.
0x400c97a3 in strncmp () from /lib/libc.so.6
(gdb) bt
#0  0x400c97a3 in strncmp () from /lib/libc.so.6
#1  0x400337f0 in pv_read_all_pv_of_vg (vg_name=0x804dc34 "sapqvg", pv=
0xbfffe948, reread=1)
    at pv_read_all_pv_of_vg.c:148
#2  0x40038ac1 in vg_check_exist (vg_name=0x804dc34 "sapqvg") at 
vg_check_exist.c:59
#3  0x40038da2 in vg_check_exist_all_vg () at vg_check_exist.c:128
#4  0x8049351 in main (argc=1, argv=0xbfffeb64) at vgscan.c:188
#5  0x4006cc5f in __libc_start_main () from /lib/libc.so.6
(gdb) quit






--
  Markus Baertschi             Phone: ++41 (21) 807 1677
  Bas du Rossé 14b             Fax  : ++41 (21) 807 1678
  CH-1163, Etoy                Email: markus at markus.org
  Switzerland                  Homepage: www.markus.org






More information about the linux-lvm mailing list