My suspicion is that it is not really the kernel sending SEGV's, but
rather that the programs are calling malloc, which discovers that it
cannot grab more virtual memory, and so returns NULL to its caller.
The caller, blithely ignoring warnings to always check malloc's return
value, attempts to use it and promptly segment-faults.
Supposedly, if virtual memory runs out, Unix is supposed to kill off
processes, starting with the most recently initiated one. Since init
is the oldest process, it is safe.
None of this explains why init dies. Perhaps init is not checking the
return value from malloc?
Dale
-- Dale R. Worley Ariadne Internet Services Voice: +1 617-899-7949 Fax: +1 617-899-7946 E-mail: worley@ariadne.com "Internet-based electronic commerce solutions to real business problems."