[linux-lvm] Segmentation fault in vgscan
Heinz J . Mauelshagen
mauelshagen at sistina.com
Fri Aug 22 05:34:01 UTC 2003
Markus,
LVM 0.9 had the strncmp() call in line 148, 1.0.7 has it in line 155
which makes me believe that the output below belongs to a 0.9 run.
Please retest with 1.0.7 which avoids hitting the NULL pointer bug.
Regards,
Heinz -- The LVM Guy --
On Thu, Aug 21, 2003 at 10:07:57PM +0200, Markus Baertschi wrote:
>
> 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
>
>
>
> _______________________________________________
> linux-lvm mailing list
> linux-lvm at sistina.com
> http://lists.sistina.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
*** Software bugs are stupid.
Nevertheless it needs not so stupid people to solve them ***
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Heinz Mauelshagen Sistina Software Inc.
Senior Consultant/Developer Am Sonnenhang 11
56242 Marienrachdorf
Germany
Mauelshagen at Sistina.com +49 2626 141200
FAX 924446
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
More information about the linux-lvm
mailing list