I report this in case it points a finger towards inadequate limit checking in
the kernel:
(how i managed to induce the bug, with my mangled ports make set up,
doesn't worry me, it's the kernel reaction that is of interest )
As last line in my /etc/rc.local I used to have
sysctl -w kern.maxproc=300
An innocent
cd /usr/ports ; make -i
would then always crash the system (even when compiled as normal user,
& with everything in ports having been changed to owner jhs (thus no suid 0
stuff lurking in /usr/ports)).
Probably because the proc table is not dynamically sized. Basically, you
can't change maxproc - it probably should not by managed by sysctl.
I would merely get on console:
Feb 19 11:38:32 vector kernel.nu: proc: table is full
(The system was forking a series of nominal ncftp's & makes recursively)
Increase the maxusers parameter in your kernel config file.
-DG