From: Rob Ostrander <rob@dealer.com>
To: linux-lvm@redhat.com
Subject: [linux-lvm] kernel oops when creating snapshots with names >= 17 characters
Date: Fri, 03 Nov 2006 13:43:10 -0500 [thread overview]
Message-ID: <454B8DBE.4070706@dealer.com> (raw)
Running RHEL4 U4 EM64T, kernel 2.6.9-5.ELsmp, on a Dell PowerEdge 2950.
lvm2-2.02.06-6.0.RHEL4
device-mapper-1.02.07-4.0.RHEL4
When I attempt to run lvcreate with a name containing 17 or more
characters (resulting in 35 characters for volume name) I get the
following error:
Nov 3 11:34:50 localhost kernel: <1>Unable to handle kernel NULL
pointer dereference at 0000000000000050 RIP:
Nov 3 11:34:50 localhost kernel: <ffffffff801dcabd>{rb_first+10}
Nov 3 11:34:50 localhost kernel: PML4 c0572067 PGD 10b474067 PMD 0
Nov 3 11:34:50 localhost kernel: Oops: 0000 [12] SMP
Nov 3 11:34:50 localhost kernel: CPU 2
Nov 3 11:34:50 localhost kernel: Modules linked in: parport_pc lp
parport autofs4 i2c_dev i2c_core sunrpc ds yenta_socket pcmcia_core
button battery ac sr_mod(U) usb_storage joydev uhci_hcd ehci_hcd
hw_random shpchp bnx2(U) dm_snapshot dm_zero dm_mirror ext3 jbd(U)
dm_mod megaraid_sas(U) sd_mod scsi_mod
Nov 3 11:34:50 localhost kernel: Pid: 27398, comm: lvcreate Not tainted
2.6.9-5.ELsmp
Nov 3 11:34:50 localhost kernel: RIP: 0010:[<ffffffff801dcabd>]
<ffffffff801dcabd>{rb_first+10}
Nov 3 11:34:50 localhost kernel: RSP: 0018:00000100c7ea7ea0 EFLAGS:
00010202
Nov 3 11:34:50 localhost kernel: RAX: 0000000000000038 RBX:
0000010169d12ce8 RCX: 00000100cff47c00
Nov 3 11:34:50 localhost kernel: RDX: 0000000000000000 RSI:
000000000000006c RDI: 0000010169d12ce0
Nov 3 11:34:50 localhost kernel: RBP: 000001021924e000 R08:
0000000000000022 R09: 0000000000000000
Nov 3 11:34:50 localhost kernel: R10: 0000000000000000 R11:
ffffffff801700f4 R12: 0000010169d12ce0
Nov 3 11:34:50 localhost kernel: R13: 000000000069d824 R14:
0000010169d12da0 R15: 0000007fbfffb480
Nov 3 11:34:50 localhost kernel: FS: 0000002a9557a540(0000)
GS:ffffffff804bf400(0000) knlGS:0000000000000000
Nov 3 11:34:50 localhost kernel: CS: 0010 DS: 0000 ES: 0000 CR0:
000000008005003b
Nov 3 11:34:50 localhost kernel: CR2: 0000000000000050 CR3:
000000000e3ce000 CR4: 00000000000006e0
Nov 3 11:34:50 localhost kernel: Process lvcreate (pid: 27398,
threadinfo 00000100c7ea6000, task 0000010203d557f0)
Nov 3 11:34:50 localhost kernel: Stack: ffffffff8016d534
0000010169d12cb8 000001021924e000 000001011a2a5cb8
Nov 3 11:34:50 localhost kernel: ffffffff80170105
0000000000000000 ffffffff8018105f 000001022fb53b88
Nov 3 11:34:50 localhost kernel: 0000010037e58200 00000012f04487fc
Nov 3 11:34:50 localhost kernel: Call
Trace:<ffffffff8016d534>{mpol_free_shared_policy+53}
<ffffffff80170105>{shmem_destroy_inode+17}
Nov 3 11:34:50 localhost kernel:
<ffffffff8018105f>{sys_unlink+261} <ffffffff8010ffd2>{system_call+126}
Nov 3 11:34:50 localhost kernel:
Nov 3 11:34:50 localhost kernel:
Nov 3 11:34:50 localhost kernel: Code: 48 83 78 18 00 74 06 48 8b 40 18
eb f3 48 89 c2 48 89 d0 c3
Nov 3 11:34:50 localhost kernel: RIP <ffffffff801dcabd>{rb_first+10}
RSP <00000100c7ea7ea0>
Nov 3 11:34:50 localhost kernel: CR2: 0000000000000050
I can reliably reproduce the issue with the following:
[root@wcmc10 ~]# cat lvtest.sh
x="1";
while [ 1 ]; do
snap_name=${snap_name}$x;
length=`echo /dev/VolGroup01/$snap_name |wc -c`;
echo "creating /dev/VolGroup01/$snap_name with $length characters";
lvcreate -L2g -s -n ${snap_name} /dev/VolGroup01/db;
sleep 1;
echo "removing /dev/VolGroup01/$snap_name";
lvremove -f /dev/VolGroup01/${snap_name};
sleep 1;
inc=`expr $x + 1`;
x=`expr $inc % 10`;
done
Running the above I get the following results:
[root@wcmc10 ~]# ./lvtest.sh
creating /dev/VolGroup01/1 with 18 characters
Logical volume "1" created
removing /dev/VolGroup01/1
Logical volume "1" successfully removed
creating /dev/VolGroup01/12 with 19 characters
Logical volume "12" created
removing /dev/VolGroup01/12
Logical volume "12" successfully removed
creating /dev/VolGroup01/123 with 20 characters
Logical volume "123" created
removing /dev/VolGroup01/123
Logical volume "123" successfully removed
creating /dev/VolGroup01/1234 with 21 characters
Logical volume "1234" created
removing /dev/VolGroup01/1234
Logical volume "1234" successfully removed
creating /dev/VolGroup01/12345 with 22 characters
Logical volume "12345" created
removing /dev/VolGroup01/12345
Logical volume "12345" successfully removed
creating /dev/VolGroup01/123456 with 23 characters
Logical volume "123456" created
removing /dev/VolGroup01/123456
Logical volume "123456" successfully removed
creating /dev/VolGroup01/1234567 with 24 characters
Logical volume "1234567" created
removing /dev/VolGroup01/1234567
Logical volume "1234567" successfully removed
creating /dev/VolGroup01/12345678 with 25 characters
Logical volume "12345678" created
removing /dev/VolGroup01/12345678
Logical volume "12345678" successfully removed
creating /dev/VolGroup01/123456789 with 26 characters
Logical volume "123456789" created
removing /dev/VolGroup01/123456789
Logical volume "123456789" successfully removed
creating /dev/VolGroup01/1234567890 with 27 characters
Logical volume "1234567890" created
removing /dev/VolGroup01/1234567890
Logical volume "1234567890" successfully removed
creating /dev/VolGroup01/12345678901 with 28 characters
Logical volume "12345678901" created
removing /dev/VolGroup01/12345678901
Logical volume "12345678901" successfully removed
creating /dev/VolGroup01/123456789012 with 29 characters
Logical volume "123456789012" created
removing /dev/VolGroup01/123456789012
Logical volume "123456789012" successfully removed
creating /dev/VolGroup01/1234567890123 with 30 characters
Logical volume "1234567890123" created
removing /dev/VolGroup01/1234567890123
Logical volume "1234567890123" successfully removed
creating /dev/VolGroup01/12345678901234 with 31 characters
Logical volume "12345678901234" created
removing /dev/VolGroup01/12345678901234
Logical volume "12345678901234" successfully removed
creating /dev/VolGroup01/123456789012345 with 32 characters
Logical volume "123456789012345" created
removing /dev/VolGroup01/123456789012345
Logical volume "123456789012345" successfully removed
creating /dev/VolGroup01/1234567890123456 with 33 characters
Logical volume "1234567890123456" created
removing /dev/VolGroup01/1234567890123456
Logical volume "1234567890123456" successfully removed
creating /dev/VolGroup01/12345678901234567 with 34 characters
Logical volume "12345678901234567" created
removing /dev/VolGroup01/12345678901234567
Logical volume "12345678901234567" successfully removed
creating /dev/VolGroup01/123456789012345678 with 35 characters
./lvtest.sh: line 13: 29111 Killed lvcreate -L2g -s -n
${snap_name} /dev/VolGroup01/db
Message from syslogd@localhost at Fri Nov 3 11:53:27 2006 ...
localhost kernel: Oops: 0000 [13] SMP
Message from syslogd@localhost at Fri Nov 3 11:53:27 2006 ...
localhost kernel: CR2: 0000000000000050
removing /dev/VolGroup01/123456789012345678
Logical volume "123456789012345678" successfully removed
next reply other threads:[~2006-11-03 18:46 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-03 18:43 Rob Ostrander [this message]
2006-11-03 20:47 ` [linux-lvm] kernel oops when creating snapshots with names >= 17 characters Jonathan E Brassow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=454B8DBE.4070706@dealer.com \
--to=rob@dealer.com \
--cc=linux-lvm@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.