From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [10.15.80.229] (dhcp80-229.msp.redhat.com [10.15.80.229]) by pobox.corp.redhat.com (8.13.1/8.12.8) with ESMTP id kA3KheOH004958 for ; Fri, 3 Nov 2006 15:43:40 -0500 Mime-Version: 1.0 (Apple Message framework v624) In-Reply-To: <454B8DBE.4070706@dealer.com> References: <454B8DBE.4070706@dealer.com> Message-Id: Content-Transfer-Encoding: 7bit From: Jonathan E Brassow Subject: Re: [linux-lvm] kernel oops when creating snapshots with names >= 17 characters Date: Fri, 3 Nov 2006 14:47:40 -0600 Reply-To: LVM general discussion and development List-Id: LVM general discussion and development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , List-Id: Content-Type: text/plain; charset="us-ascii"; format="flowed" To: LVM general discussion and development I think this looks similar to some older bugs that have been fixed... Have you tried updating your kernel/packages ? brassow On Nov 3, 2006, at 12:43 PM, Rob Ostrander wrote: > 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: {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:[] > {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:{mpol_free_shared_policy+53} > {shmem_destroy_inode+17} > Nov 3 11:34:50 localhost kernel: > {sys_unlink+261} {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 {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 > > > > _______________________________________________ > linux-lvm mailing list > linux-lvm@redhat.com > https://www.redhat.com/mailman/listinfo/linux-lvm > read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/ >