[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

LFS memory leak? (Re: Fujitsu MB87030/MB89352 (SPC) manual)



<030714004946.M0109258@mirage.ceres.dti.ne.jp>の記事において
私は書きました。

> #hp300 では意味もなく ccd + LFS とかして遊んでたんですが。

本題とは全然関係ありませんが……

/usr/src と /usr/obj を ccd 上の LFS にして build.sh してたら
4日目 usr/share あたりを dependall しているときに

---
panic: malloc: out of space in kmem_map
Stopped in pid 1550.1 (lfs_cleanerd) at netbsd:cpu_Debugger+0x6:        unlk    a6
db> tr
cpu_Debugger(2000,2000,d,165cac,63ac28) + 6
panic(14a9eb,4,2000,0,2000) + ac
malloc(2000,165c64,0,2000,2000) + 164
lfs_malloc(1c68800,2000,4,2000,1) + 2a
lfs_newbuf(1c68800,610f00,0,11,2000) + a0
lfs_fakebuf(1c68800,610f00,11,2000,da800) + 50
lfs_markv(56f008,1dd9a70,2037000,3d6) + 532
lfs_fcntl(63ad88,4e2e60,63ae1c,b008cc03,14fdcc) + 170
VOP_FCNTL(4e2e60,b008cc03,63ae1c,1,1cb4080,56f008,4e2e60) + 52
vn_fcntl(4f4738,b008cc03,63ae1c,56f008) + 3c
fcntl_forfs(6,56f008,b008cc03,ffeff974) + be
sys_fcntl(4df934,63af44,63af3c,63afb4,0) + 64
syscall_plain(5c,4df934,63afb4,3d6,3d6) + c2
syscall(5c) + 48
trap0() + e
db> 
---

で落ちてしまいました。そのあとの起動時には

---
Mounting all filesystems...
lfs_mountfs: please consider increasing BUFPAGES to at least 582
lfs_mountfs: please consider increasing NBUF to at least 1320
lfs_mountfs: please consider increasing BUFPAGES to at least 3001
---

と言われたんですが、これって
・LFS は実際にメモリをかなり消費する
・どこかで free() 抜けがある
のどっちなんでしょう?

ぱっと見たところでは sys/ufs/lfs/lfs_syscalls.c:lfs_markv() の中の
lfs_fakebuf() で割り当てたメモリを解放しているところが
ちょっとわからなかったんですが……。
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp