[OpenAFS-devel] vmalloc memory leak in 1.3.84/85?

Miles Davis miles@CS.Stanford.EDU
Sat, 23 Jul 2005 16:20:10 -0700


--9jxsPFA5p3P2qPhR
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline


I think I may have come across a memory leak in 1.3.84/1.3.85. It's 
happening on a heavily used shell/imap/pop server running Fedora Core 4, 
kernel 2.6.12-1.1398_FC4smp. I first noticed the problem after upgrading 
the box to FC4 from RedHat 9, when it crashed after about 8 hours with a 
kernel panic (see attachment).

I increased the vmalloc size to 256MB, and thought it was helping when 
the vmalloc memory usage seemed to taper off around 220MB (by taper off, 
I mean that the slope of the increase was no longer a straight line), 
but it crept up again in a more jagged pattern until it once again 
exhausted the vmalloc area.

I do not see this on any other system, including another (hardware) 
identical system. It happened with 1.3.84 and 1.3.85. Client is running 
with options 

-fakestat -stat 2800 -dcache 2400 -daemons 5 -volumes 128 -afsdb -dynroot

I haven't tried changing those yet, since I'm not sure what vmalloc()s 
are used for in the client.

Any help is appreciated, and I'm happy to send more information if 
needed.

Thanks,

-- 
// Miles Davis - miles@cs.stanford.edu - http://www.cs.stanford.edu/~miles
// Computer Science Department - Computer Facilities
// Stanford University

--9jxsPFA5p3P2qPhR
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=messages2

kernel: allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.
kernel: allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.
kernel: allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.
last message repeated 3 times
kernel: allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.
kernel: afs_osi_Alloc: Can't vmalloc 12084 bytes.
kernel: rxi_Alloc error<1>Unable to handle kernel paging request at virtual address ffffffff
kernel:  printing eip:
kernel: f948bbc3
kernel: *pde = 00000000
kernel: Oops: 0002 [#1]
kernel: SMP 
kernel: Modules linked in: ipt_REJECT ipt_state ip_conntrack iptable_filter ip_tables parport_pc lp parport nfsd exportfs lockd md5 ipv6 libafs(U) autofs4 i2c_dev i2c_core sunrpc dm_mod video button battery ac uhci_hcd ehci_hcd hw_random shpchp e1000 floppy sg ext3 jbd raid1 mptscsih mptbase sd_mod scsi_mod
kernel: CPU:    1
kernel: EIP:    0060:[<f948bbc3>]    Tainted: P      VLI
kernel: EFLAGS: 00010292   (2.6.12-1.1398_FC4smp) 
kernel: EIP is at osi_Panic+0x26/0x32 [libafs]
kernel: eax: 00000012   ebx: 0000000a   ecx: c035ca4c   edx: 00000296
kernel: esi: 00002f34   edi: e47db92c   ebp: f141c360   esp: e4598d38
kernel: ds: 007b   es: 007b   ss: 0068
kernel: Process imapd (pid: 1707, threadinfo=e4598000 task=ec2b7550)
kernel: Stack: badc0ded f94b00aa 00000292 c035ca14 0000000a 00000000 f948305a 0000000a 
kernel:        00000000 e4ecf260 e47db92c f9493620 e47db920 000000d5 e45ff5a4 00000000 
kernel:        f9495043 000000c3 e4ecf260 e45ff580 f141c360 f944e21a 000000c3 e46ff980 
kernel: Call Trace:
kernel:  [<f948305a>] rxi_Alloc+0x63/0x65 [libafs]
kernel:  [<f9493620>] rxkad_NewClientSecurityObject+0x46/0xf7 [libafs]
kernel:  [<f9495043>] osi_linux_alloc+0x63/0x106 [libafs]
kernel:  [<f944e21a>] afs_ConnBySA+0x27d/0x474 [libafs]
kernel:  [<f944dee7>] afs_Conn+0x137/0x1ed [libafs]
kernel:  [<f94675cf>] afs_FetchStatus+0x38/0x5d1 [libafs]
kernel:  [<f949a89c>] afs_linux_lookup+0x14e/0x246 [libafs]
kernel:  [<c016e598>] real_lookup+0xb1/0xd1
kernel:  [<f9468896>] afs_GetAccessBits+0xb6/0xc7 [libafs]
kernel:  [<f9479fac>] afs_GetVolume+0x1a/0x57 [libafs]
kernel:  [<c017774f>] dput+0xe5/0x1df
kernel:  [<c016f3ed>] __link_path_walk+0xbbb/0xf9d
kernel:  [<f9468f32>] afs_CopyOutAttrs+0x132/0x1fd [libafs]
kernel:  [<f9497ed4>] vcache2inode+0x1f/0x25 [libafs]
kernel:  [<f946896c>] afs_AccessOK+0xc5/0x164 [libafs]
kernel:  [<f9468d61>] afs_access+0x356/0x3f5 [libafs]
kernel:  [<f949b871>] afs_linux_permission+0x78/0xd3 [libafs]
kernel:  [<f949b7f9>] afs_linux_permission+0x0/0xd3 [libafs]
kernel:  [<c016e356>] permission+0x49/0xb5
kernel:  [<c016100a>] sys_chdir+0x35/0x67
kernel:  [<c0104025>] syscall_call+0x7/0xb
kernel: Code: e9 d3 ff ff ff 53 83 ec 10 85 c0 bb 49 01 4b f9 0f 44 c3 8b 5c 24 18 89 5c 24 0c 89 4c 24 08 89 54 24 04 89 04 24 e8 94 5f c9 c6 <c6> 05 ff ff ff ff 2a 83 c4 10 5b c3 55 57 56 53 83 ec 04 89 04 

--9jxsPFA5p3P2qPhR--