Bug 208354 - vgchange --deltag core dumps
Summary: vgchange --deltag core dumps
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: lvm2
Version: 4.2
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Milan Broz
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-09-27 23:03 UTC by John DeFranco
Modified: 2013-03-01 04:04 UTC (History)
4 users (show)

Fixed In Version: RHEL4U4
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-01-11 16:06:40 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description John DeFranco 2006-09-27 23:03:49 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.4) Gecko/20060527 SUSE/1.5.0.4-1.9 Firefox/1.5.0.4

Description of problem:
I send the following issue to the linux-lvm email list on 9/15 but have had no 
responses.

During a test I am running I have vary rarely encountered the following vgchange core dump. I see no other errors on the system. The dump seems
pretty obvious we tried to do a strncpy from an illegal address (p->tb)
but I don't know how that would have occured. The vg is not being touched and we have run a vgchange set of command (--addtag,  -a y,
-a n, --deltag) many, many times prior to this and again after. Seems
like something is going on that I don't quite understand.

This is on rh4U2 ipf and the following lvm version
(but have seen this same problem on other archs as well). I did build
a debug version of the tools which were used in an attempt to get more
data.

[root@boil pkg-2346_6]# uname -a
Linux boil.cup.hp.com 2.6.9-22.EL #1 SMP Mon Sep 19 17:54:55 EDT 2005 ia64 ia64 ia64 GNU/Linux
[root@boil pkg-2346_6]# cat /etc/redhat-release
Red Hat Enterprise Linux ES release 4 (Nahant Update 2)
[root@boil pkg-2346_6]# lvm version
  LVM version:     2.01.14 (2005-08-04)
  Library version: 1.01.04 (2005-08-02)
  Driver version:  4.4.0
[root@boil pkg-2346_6]#

[root@boil vgchange]# gdb vgchange core.1
GNU gdb Red Hat Linux (6.3.0.0-1.63rh)
Copyright 2004 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 "ia64-redhat-linux-gnu"...Using host libthread_db lib
rary "/lib/tls/libthread_db.so.1".

Reading symbols from shared object read from target memory...done.
Loaded system supplied DSO at 0xa000000000000000
Core was generated by `vgchange --deltag boil.cup.hp.com vgsb4'.
Program terminated with signal 7, Bus error.

warning: svr4_current_sos: Can't read pathname for load map: Input/output error

Reading symbols from /lib/libdevmapper.so.1.01...done.
Loaded symbols for /lib/libdevmapper.so.1.01
Reading symbols from /lib/libselinux.so.1...done.
Loaded symbols for /lib/libselinux.so.1
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/tls/libc.so.6.1...done.
Loaded symbols for /lib/tls/libc.so.6.1
Reading symbols from /lib/ld-linux-ia64.so.2...done.
Loaded symbols for /lib/ld-linux-ia64.so.2
#0  0x2000000000196870 in strncpy () from /lib/tls/libc.so.6.1
(gdb) bt
#0  0x2000000000196870 in strncpy () from /lib/tls/libc.so.6.1
#1  0x400000000006f420 in _dup_tok (p=0x600000000002c1f0)
    at config/config.c:711
#2  0x400000000006d8d0 in _type (p=0x600000000002c1f0) at config/config.c:524
#3  0x400000000006d150 in _value (p=0x600000000002c1f0) at config/config.c:468
#4  0x400000000006cf40 in _section (p=0x600000000002c1f0)
    at config/config.c:452
#5  0x400000000006ccb0 in _section (p=0x600000000002c1f0)
    at config/config.c:438
#6  0x400000000006c860 in _file (p=0x600000000002c1f0) at config/config.c:405
#7  0x400000000006b050 in read_config_fd (cft=0x600000000002c1a8,
    dev=0x60000000000301d8, offset=0, size=629, offset2=0, size2=0,
    checksum_fn=0, checksum=0) at config/config.c:191
#8  0x400000000006b7f0 in read_config_file (cft=0x600000000002c1a8)
    at config/config.c:248
#9  0x4000000000084d30 in persistent_filter_load (f=0x600000000002c0b8)
    at filters/filter-persistent.c:109
#10 0x4000000000066be0 in _init_filters (cmd=0x6000000000011278)
    at commands/toolcontext.c:609
#11 0x4000000000068fd0 in create_toolcontext (the_args=0x6000000000000ff0)
    at commands/toolcontext.c:951
#12 0x4000000000023c70 in _init_lvm () at lvmcmdline.c:945
#13 0x4000000000024c00 in lvm2_main (argc=4, argv=0x60000fffffffbaf8,
---Type <return> to continue, or q <return> to quit---
    is_static=0) at lvmcmdline.c:1376
#14 0x400000000005a580 in main ()
(gdb) fr 1
#1  0x400000000006f420 in _dup_tok (p=0x600000000002c1f0)
    at config/config.c:711
711             strncpy(str, p->tb, len);
(gdb) print str
$1 = 0x600000000002c390 "¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º¾º"...
(gdb) print p->tb
$2 = 0x200000000345409d <Address 0x200000000345409d out of bounds>
(gdb) print len
$3 = 9
(gdb) 

Version-Release number of selected component (if applicable):
kernel-2.6.9-22.EL lvm2-2.01.14-2.0.RHEL4

How reproducible:
Sometimes


Steps to Reproduce:
Working on a reproducable test case at this point.
1.
2.
3.

Actual Results:


Expected Results:


Additional info:

Comment 1 John DeFranco 2006-09-27 23:12:35 UTC
Actually to reproduce this have a system with about 9 vgs and run the following 
script. I will happen eventually.

#!/bin/sh

touch /tmp/runit.flag

while [[ -f /tmp/runit.flag ]]; do
    for i in 1 2; do
        vgchange --addtag $(uname -n)  vgsb$i  &
    done
    for i in 3 4; do
        vgchange --addtag $(uname -n)  vgsb$i  &
    done
    for i in 5 6; do
        vgchange --addtag $(uname -n) vgsb$i  &
    done
    for i in 7 8; do
        vgchange --addtag $(uname -n) vgsb$i  &
    done
        vgchange --addtag $(uname -n) vgsb9
    for i in 1 2 3 4 5 6 7 8 9; do
        vgchange -a n vgsb$i 
    done
done

Comment 2 Milan Broz 2007-01-10 11:59:40 UTC
I cannot reproduce this issue with current release of RHEL4. 
Do you see this still in recent release (RHEL4U4) ?


Comment 3 John DeFranco 2007-01-11 15:41:11 UTC
At this point I have not seen this problem with U4.

Comment 4 Milan Broz 2007-01-11 16:06:40 UTC
Closing as resolved in current release, please reopen this bug if you catch it
again in current release, thanks.


Note You need to log in before you can comment on or make changes to this bug.