crashes in clear_user_page
Olaf Hering
olh at suse.de
Thu Mar 4 20:26:43 EST 2004
On Thu, Mar 04, Anton Blanchard wrote:
>
> Hi,
>
> > I get crashes in clear_user_page() while building rpms on a p660.
> > gcc is 3.2.2, config is arch/ppc64/configs/pseries, plain ameslab tree.
> >
> > there is lot of IO, 8 processes do unpack rpms in parallel on a reiserfs
> > filesystem.
>
> It turns out you got a kernel segment with ks set. Shouldnt ever happen.
>
> We werent zeroing the old contents of the segment table entry before
> inserting the new one, if we overwrote a user segment with a kernel one
> the ks bit would remain set. Its a POWER3/RS64 only bug.
>
> Give this patch a go. While I was there I modified our vsid calculation
> code to match reality (we only use 13 bits of the EA).
does not help, unless we can not blame reiserfs.
5:mon> d c0000000fffeb010
c0000000fffeb010 **************** **************** | |
5:mon>
papaya:~ # cpu 3: Vector: 300 (Data Access) at [c00000012079f2d0]
pc: c000000000087ec4 ()
lr: c000000000087dac ()
sp: c00000012079f550
msr: a000000000009032
dar: c0000000fffeb010
dsisr: a000000
current = 0xc0000001650bdb50
paca = 0xc000000000532000
pid = 27307, comm = rpm
cresprs e?sVoecrto:r :300 3(00 Da(tDaa3t:a mAcceon>s s) at [c00000012b75f390]
pc: c000000000088494 ()
lr: c00000000008830c ()
sp: c00000012b75f610
msr: a000000000001032
dar: c0000000fff87008
dsisr: a000000
current = 0xc000000167cd2d30
paca = 0xc000000000534000
pid = 27174, comm = rpm
cpu 5: Vector: 300 (Data Access) at [c00000011f72b700]
pc: c0000000000d88ac ()
lr: c0000000000d8900 ()
sp: c00000011f72b980
msr: a000000000009032
dar: c0000000ffd863e8
dsisr: a000000
current = 0xc000000174f5db50
paca = 0xc000000000536000
pid = 27227, comm = rpm
3:mon> E
cpu 3: Vector: 300 (Data Access) at [c00000012079f2d0]
pc: c000000000087ec4 (.cache_grow+0x254/0x4f4)
lr: c000000000087dac (.cache_grow+0x13c/0x4f4)
sp: c00000012079f550
msr: a000000000009032
dar: c0000000fffeb010
dsisr: a000000
current = 0xc0000001650bdb50
paca = 0xc000000000532000
pid = 27307, comm = rpm
3:mon> t
c00000012079f550 c000000000087dac
c00000012079f610 c00000000008830c
c00000012079f6b0 c00000000008884c
c00000012079f730 c0000000000b1198
c00000012079f7b0 c0000000000acde8
c00000012079f860 c0000000000aded8
c00000012079f8e0 c00000000010d6e0
c00000012079fab0 c00000000010dd0c
c00000012079fcf0 c0000000000a9564
c00000012079fd90 c0000000000a96a0
c00000012079fe30 c000000000011a44 ret_from_syscall_1
exception: c00 (System Call) regs c00000012079fea0
000000800033a3fc
<Stack drops into userspace 000001ffffffb6a0>
3:mon> T
c00000012079f550 c000000000087dac .cache_grow+0x13c/0x4f4
c00000012079f610 c00000000008830c .cache_alloc_refill+0x1a8/0x35c
c00000012079f6b0 c00000000008884c .kmem_cache_alloc+0x70/0x74
c00000012079f730 c0000000000b1198 .alloc_buffer_head+0x28/0x78
c00000012079f7b0 c0000000000acde8 .create_buffers+0x58/0x108
c00000012079f860 c0000000000aded8 .create_empty_buffers+0x24/0x15c
c00000012079f8e0 c00000000010d6e0 .reiserfs_prepare_file_region_for_write+0x984/0x9ac
c00000012079fab0 c00000000010dd0c .reiserfs_file_write+0x604/0x820
c00000012079fcf0 c0000000000a9564 .vfs_write+0x10c/0x164
c00000012079fd90 c0000000000a96a0 .sys_write+0x50/0x94
c00000012079fe30 c000000000011a44 ret_from_syscall_1
exception: c00 (System Call) regs c00000012079fea0
000000800033a3fc 0x800033a3fc
<Stack drops into userspace 000001ffffffb6a0>
3:mon> c
cpus stopped: 3* 4 5
3:mon> c4
press ? for help 4:mon> E
cpu 4: Vector: 300 (Data Access) at [c00000012b75f390]
pc: c000000000088494 (.cache_alloc_refill+0x330/0x35c)
lr: c00000000008830c (.cache_alloc_refill+0x1a8/0x35c)
sp: c00000012b75f610
msr: a000000000001032
dar: c0000000fff87008
dsisr: a000000
current = 0xc000000167cd2d30
paca = 0xc000000000534000
pid = 27174, comm = rpm
4:mon> T
c00000012b75f610 c00000000008830c .cache_alloc_refill+0x1a8/0x35c
c00000012b75f6b0 c00000000008884c .kmem_cache_alloc+0x70/0x74
c00000012b75f730 c0000000000b1198 .alloc_buffer_head+0x28/0x78
c00000012b75f7b0 c0000000000acde8 .create_buffers+0x58/0x108
c00000012b75f860 c0000000000aded8 .create_empty_buffers+0x24/0x15c
c00000012b75f8e0 c00000000010d6e0 .reiserfs_prepare_file_region_for_write+0x984/0x9ac
c00000012b75fab0 c00000000010dd0c .reiserfs_file_write+0x604/0x820
c00000012b75fcf0 c0000000000a9564 .vfs_write+0x10c/0x164
c00000012b75fd90 c0000000000a96a0 .sys_write+0x50/0x94
c00000012b75fe30 c000000000011a44 ret_from_syscall_1
exception: c00 (System Call) regs c00000012b75fea0
000000800033a3fc 0x800033a3fc
<Stack drops into userspace 000001ffffffb6a0>
4:mon> c5
press ? for help 5:mon> E
cpu 5: Vector: 300 (Data Access) at [c00000011f72b700]
pc: c0000000000d88ac (.__mark_inode_dirty+0x148/0x1a4)
lr: c0000000000d8900 (.__mark_inode_dirty+0x19c/0x1a4)
sp: c00000011f72b980
msr: a000000000009032
dar: c0000000ffd863e8
dsisr: a000000
current = 0xc000000174f5db50
paca = 0xc000000000536000
pid = 27227, comm = rpm
5:mon> T
c00000011f72b980 c0000000000d8900 .__mark_inode_dirty+0x19c/0x1a4
c00000011f72ba10 c0000000000cfd28 .inode_update_time+0xb8/0xe4
c00000011f72bab0 c00000000010db08 .reiserfs_file_write+0x400/0x820
c00000011f72bcf0 c0000000000a9564 .vfs_write+0x10c/0x164
c00000011f72bd90 c0000000000a96a0 .sys_write+0x50/0x94
c00000011f72be30 c000000000011a44 ret_from_syscall_1
exception: c00 (System Call) regs c00000011f72bea0
000000800033a3fc 0x800033a3fc
<Stack drops into userspace 000001ffffffb7f0>
--
USB is for mice, FireWire is for men!
sUse lINUX ag, nÜRNBERG
** Sent via the linuxppc64-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc64-dev
mailing list