Subject: SysV IPC works... but how to I get a crash dump?
To: None <>
From: Simon J. Gerraty <>
List: current-users
Date: 12/02/1993 00:27:48
Some years ago I wrote a neato double buffered shared memory filter to
make my tape device stream nicely.
So naturally when the sysv semaphores etc became available, I figured
I'd try building it for NetBSD.

I've built a kernel containing:

options		SYSVSHM			# System V shared memory; broken
options		"SHMMAXPGS=256"
options		SYSVMSG			# System V-like message queues
options		SYSVSEM			# System V-like semaphores

and used the examples in Stevens' "UNIX Network Progamming" to verify
behaviour.   All three facilities appeared to work fine.  Even the
multi buffered shared mem example works (though I think I found a bug
in the book...)

Anyway, once I was satisfied I built dbuf and it too worked fine

	dbuf < /netbsd > /tmp/netbsd


BUT! doing

	dbuf < /dev/rst0 | tar tvf -

gets some sort of trap - sorry the system resets itself much too
quickly, so all I can spot is "trap".  Savecore (I created /var/crash)
seems to find nothing so I have no other evidence.

I checked that 

	cat < /dev/rst0 | tar tvf -

worked ok, so compared what cat did to dbuf, and saw that cat adjusts
its io request size to suite the blksize of stdout.  I made this same
change to dbuf but still the system crashes.

I've never been able to boot any kernel I compile that contains DDB 
[it gets to the point of saying...

text 0x75000 ...  entry point 0x100020 

and then the system reboots.  So my options are limited.  

As for save core, I have 16Mb RAM and two 16Mb swap partitions, I
suspect I need to force crash dumps into the 2nd partion so that they
are still intact by the time savecore runs (yes it does run) since it
finds nothing.  I'm assuming a panic or reset of this nature would
have left a dump?  If not how can I force this to be done.

Any help appreciated, and if anyone can help me get a working kernel
with DDB in it that would be great too.