Subject: kern/11029: pagedaemon: deadlock detected!
To: None <gnats-bugs@gnats.netbsd.org>
From: Thilo Manske <Thilo.Manske@HEH.Uni-Oldenburg.DE>
List: netbsd-bugs
Date: 09/16/2000 05:39:17
>Number: 11029
>Category: kern
>Synopsis: pagedaemon: deadlock detected!
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Sep 16 05:40:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator: Thilo Manske
>Release: 1.5Alpha and Alpha2
>Organization:
-none-
>Environment:
System: NetBSD Spika 1.5_ALPHA2 NetBSD 1.5_ALPHA2 (ELCSCSI) #5: Fri Sep 8 00:44:14 MEST 2000 thilo@Spika:/usr/src/sys/arch/sparc/compile/ELCSCSI sparc
(modified) SPARCStation ELC, 28MB RAM (25928 KB available), 16MB Swap,
running diskless
NetBSD 1.5_ALPHA2 (Max) #12: Sat Aug 19 20:58:09 MEST 2000
thilo@Max:/usr/src/sys/arch/pmax/compile/Max
DECStation 5000/240, 32MB RAM (28320 KB available), 32M Swap,
running diskless
>Description:
This is a kind of "any local user can (effectivly) halt the OS" DOS.
After running the hint benchmark with arithmetic type longlong (executable
LONGLONG in the hint distribution) for about 10-14h the kernel started
printing "pagedaemon: deadlock detected!" about 5 times a second. It wasn't
possible to log in anymore, daemons already started stopped running/couldn't
run (e.g. rwhod stopped sending out packets).
This happened on an ELC as a normal user with the default limits:
datasize 64MB
stacksize 512kB
memoryuse 25MB
memorylocked 8MB
maxproc 120
descriptors 64
I noticed this on other systems before, e.g. on a NetBSD/pmax system
(DECStation 5000/240 but with a different kernel as mentioned above (I think
it was an alpha one.))
Default limits on (that) pmax are:
datasize 32MB
stacksize 1MB
memoryuse 27MB
memorylocked 9MB
maxproc 120
descriptors 64
What may be interesting is, that a NetBSD/newsmips box with less memory
(16MB) but nearly the same limits (lower memory* of course: memoryuse=12MB,
memorylocke=4MB) didn't suffer from this. (32MB Swap, running diskless as
well).
>How-To-Repeat:
get hint, compile it, run LONGLONG and wait...
(BTW: LONGLONG is not installed by the hint-package.)
It's probably possible with other memory-hungry applications as well.
>Fix:
(Workaround): Lower the datasize limits before running hint
>Release-Note:
>Audit-Trail:
>Unformatted: