OS?
Not sure about Macs; but Linux boxes support strace. There are
similar tools out
there (Solaris has "truss"). You might want to start a mongrel
instance or two inside
of strace and send the logging to a file. You'll get a dump of every
system call generated
by the process; you might find a smoking gun pattern in there.
Also you'll want to identify why the process exited (signal, SEGV,
exit?) This information
is available to the process that spawns mongrel; so you might want to
start a few up outside
of mongrel cluster. Your strace output may or may not help you see
this.
If you still have no luck; you might want to get a build a ruby
executable w/ the debugging on
and rig it (via ulimit) to generate a core file (if it is indeed core
dumping).
Then you can load it into GDB (or other tool) and look at the stack
trace.
Also I've got a little script called blackBox that I've used for
years. Basically it work like a
flight recorder so I get a snapshot of activity on the box when some
event occurs. I'll usually
monitor things like vmstat, netstat, iostat to see if there's some
sort of correlation between some
environmental issue and the problem. For example you might be
crashing because the process runs
out of file descriptors; but you might not see this in the logs but
you would see this in strace and
you might see it via data collection in netstat and/or lsof.
Its a bash script ... but I can get you hooked up w/ it if you want.
good luck!
-bdw