home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.sys.hp:10105 comp.unix.admin:4896
- Newsgroups: comp.sys.hp,comp.unix.admin,ctp.it
- Path: sparky!uunet!usc!sdd.hp.com!scd.hp.com!cupnews0.cup.hp.com!pdg
- From: pdg@cup.hp.com (Paul Gootherts)
- Subject: Re: Enormous core dumps
- Sender: news@cupnews0.cup.hp.com
- Message-ID: <Bu4tCB.BG5@cup.hp.com>
- Date: Sun, 6 Sep 1992 00:57:47 GMT
- References: <1992Sep4.163132.22011@ctp.com>
- Organization: Hewlett-Packard
- X-Newsreader: Tin 1.1.3 PL5
- Lines: 32
-
- > What kinds of problems can lead to processes crashing and leaving behind
- > huge (for example, we had a 50 megabyte one this morning) core files?
- > I know how to limit this with limit or ulimit, but I'd like to know
- > more about the events that can cause such core dumps to occur.
-
- Program crashes that leave core files are usually caused by receipt of a
- signal that was not being caught or ignored. A list of the signals that
- cause core dumps can be found on signal(5). I believe note "B"
- indicates which signals cause core files.
-
- Such a signal could be sent by the process itself, another process, or
- it could have been generated by the kernel in response to something the
- process tried to do. For example, dereferencing an (int *) whose value
- is not word aligned (a multiple of 4) will cause a SIGBUS.
-
- As to the size of the core file: It could have been a big program when
- it was exec'd. Run size(1) on the a.out to check. The data and bss
- sizes contribute to the size of core files. The text size does not.
-
- Or it could have grown while it was running. This happens when the
- stack and/or data areas grow.
-
- Procedure calls can grow the stack. Look for runaway recursion or a
- procedure with an enormous number local variables or really huge local
- variables. (Locals go on the stack.)
-
- The data area grows when you call brk(2) or sbrk(2). These may have
- been called on your behalf by malloc(3) or a relation.
-
- --
-
- Paul Gootherts, pdg@cup.hp.com
-