Subject: kern/3721: an accounting file can't be on nfs.
To: None <gnats-bugs@gnats.netbsd.org>
From: None <enami@ba2.so-net.or.jp>
List: netbsd-bugs
Date: 06/08/1997 17:22:11
>Number: 3721
>Category: kern
>Synopsis: an accounting file can't be on nfs.
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: kern-bug-people (Kernel Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jun 8 01:35:02 1997
>Last-Modified:
>Originator: enami tsugutomo
>Organization:
>Release: NetBSD-current 1997 June 06
>Environment:
System: NetBSD pavlov.enami.ba2.so-net.or.jp 1.2F NetBSD 1.2F (PAVLOV) #282: Sun Jun 8 16:48:33 JST 1997 enami@pavlov.enami.ba2.so-net.or.jp:/b/netbsd/kernel/compile/PAVLOV i386
>Description:
An accounting file /var/account/acct can't be on nfs. If do so,
kernel panics because of null pointer access (curproc is NULL
when sosend is called).
>How-To-Repeat:
For example, put /var on nfs and enable accounting. System starts
normally, but it will panic after 15 seconds.
Here is panic message and ddb trace:
clearing /tmp
updating motd.
turning on accounting
standard daemons: update cron.
starting network daemons: routed timed printer sendmail rarpd inetd.
starting local daemons: sshd.
Sun Jun 8 16:51:26 JST 1997
NetBSD/i386 (pavlov.enami.ba2.so-net.or.jp) (tty00)
login: kernel: page fault trap, code=0
Stopped at _sosend+0x8b: movl 0x18(%ecx),%eax
db> trace
_sosend(f88b8700,f88b9180,0,f891b380,0) at _sosend+0x8b
_nfs_send(f88b8700,f88b9180,f891b380,f891a640,f891b700) at _nfs_send+0x91
_nfs_request(f88b9580,f8918c80,12,0,f891bb00) at _nfs_request+0x335
_nfs_statfs(f888c000,fefb8c6c,0,0,fefb8c84) at _nfs_statfs+0x387
_acctwatch(0) at _acctwatch+0xc9
_softclock(f886f7a0,f8908000,0,fefb8da8,f81bf837) at _softclock+0x68
_hardclock(fefb8db4,fefb8db0,f8100d3b,fefb8db4,0) at _hardclock+0x3e3
_clockintr(fefb8db4) at _clockintr+0xb
_Xresume0() at _Xresume0+0x2e
--- interrupt ---
_idle(0,0,4,100,fefb8f40) at _idle+0xd
bpendtsleep(f81d3944,118,f8127633,fa63,f81c9eb4) at bpendtsleep
_sys_select(f8908000,fefb8f88,fefb8f80,0,0) at _sys_select+0x31e
_syscall() at _syscall+0x154
--- syscall (number 93) ---
0x40043083:
db>
>Fix:
Not known, Probably, disk capacity check need to be done at least
out of interrupt time.
>Audit-Trail:
>Unformatted: