chewlies has asked for the wisdom of the Perl Monks concerning the following question:

I have a script that collects SNMP information on a bunch of routers that continues to seg fault on me about 10-25 % of the time.

It creates an array of Net::SNMP objects and then steps through that array, querying each router for certain information and then writing it all out to an RRD file.

I have it doing some minor logging, but since it runs on a crontab I've never actually seen it seg fault. I believe it's doing it during the gather phase, but I'm not sure.

My longwinded question is this: Is there any way I can track down what's causing this or at least where it's happening ? Moreover, what exactly causes a segmentation fault?
I've tried to throw some eval statements, but that doesn't stop the segmentation fault

BTW, I'm running it on a FreeBSD 3.4 box with 512Mb of RAM. The box is rather busy, so could it be a lack of memory issue ?

Any help at all would be greatly appreciated.

Replies are listed 'Best First'.
(redmist) Re: Segmentation Faults 10-20% of the time
by redmist (Deacon) on Dec 07, 2000 at 23:10 UTC
    "Moreover, what exactly causes a segmentation fault?"

    From the Jargon File:

    segmentation fault n.

    {Unix} 1. {techspeak} An error in which a running program attempts to access memory not allocated to it and core dumps with a segmentation violation error. This is often caused by improper usage of pointers in the source code, dereferencing a null pointer, or (in C) inadvertently using a non-pointer variable as a pointer. The classic example is:

    int i; scanf ("%d", i); /* should have used &i */

    2. To lose a train of thought or a line of reasoning. Also uttered as an exclamation at the point of befuddlement.

    redmist
    Silicon Cowboy
Re: Segmentation Faults (moved post)
by Russ (Deacon) on Dec 07, 2000 at 22:12 UTC