[linux-lvm] Segmentation fault in vgscan

Markus Baertschi markus at markus.org
Fri Aug 22 05:52:01 UTC 2003


Heinz,

I'm pretty sure I've tested with 1.0.7. Look at the lines

>> lblsapq00:~ # gdb ./LVM/1.0.7/tools/vgscan
  ...
>> (gdb) run
>> Starting program: /root/./LVM/1.0.7/tools/vgscan

The other problem is that this is at a customer site on
production machines. I can test the next time I'm there
and got machine time to do some testing. This will happen
as soon as the SAN support guys come back to me to solve
the undelying problem (disks visible twice).

Markus


On Fri, 22 Aug 2003 12:26:58 +0200, Heinz J . Mauelshagen wrote:

>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
>=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

>_______________________________________________
>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/


--
  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