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: