Thanks to all who replied to my "dumping core" question!
Recently I asked:
Quote:> Hello, I'm learning about Unix but I'm not a programmer. Tonight while
> trying to create some rn macros to save articles to my mailbox, something
> choked and I got the message:
> Badly compiled pattern
> 96
> Caught a SIGSEGV--.newsrc restored
> Abort - core dumped
> So what happened?
As a little background, I'm using a public-access site with an
Xwindows/menu interface (although if I join the unix users group, I can
get shell access). Ordinary users don't have much access to the
nuts-n-bolts of how things run; we can't do a regular directory listing,
for example, although there is are menu choices to download or delete
saved news articles. Unfortunately this function offers only Kermit
protocol, whereas mailbox messages can be downloaded by Zmodem.
|
| The first part of the message looks like a problem with the way that
| the regular-expression matching functions regex/regcmp or re_exec/re_comp
| are being called [....]
|
| This problem appears to have caused rn to try to access some area of
| memory which it does not have permission to access. This means that the
| kernel sends a segmentation violation signal to the program.
|
| The program traps the signal, restores your .newsrc to some hopefully sane
| state, and then quits, leaving a complete ``core'' image of the running
| program in the file ./core so that, if required, you can use it do
| find out why the program went wrong.
|
| ``Dumping core'' is just the process of writing the whole program's core
| memory image into a file.
I was working on an rn macro to save an entire thread of messages to my
mailbox for fast & convenient Zmodem downloading. I thought a good way
to do this would be to use /%s/ to search for the same subject line...
until I ran across a subject line with illegal characters. *dump* (Now
I'm using /%i/ to look for the message-id in the replies. Much better.)
|
| Your program attempted to access memory it did not own. When this
| happens, Unix does the right thing and signals something called a
| segmentation violation, and (usually) 'dumps core', that is to say,
| writes a file which corresponds with the state of the program, and
| has the memory image, registers, et. al. of the program.
|
| Programmers can in some cases use this core file to track down where
| a problem occured.
|
| If you haven't already, look for a file called 'core' or 'core.rn' in
| your home directory. I'd advise removing it if it is just going to
| take up space.
I found the ./core file and was able to trick the news-article-deletion
tool to look in my home directory (really it's just a shell for rm, so
instead of a file name I told it "-i ../"), and after deleting the core
file, freed up some 3500 blocks. (Evidently core has dumped before. For
quite some time, I've noted some 5000+ blocks in use whenever I checked
my disk usage. Now I've got about 1500 blocks in use.)
replied along much the same lines.
-- Pete
--
NOTICE: My site is having newsfeed problems thanks to PSI. News is arriving
here intermittently and up to five days after posting. Please email if you
want a timely response. I'll post summaries. Thanks!