02-19-2005
segmentation fault
sometimes for this code i get a segmentation fault for codes llike this
:
int main{
int * a= 0;
int b;
a = (int*)malloc(sizeof(int));
///some code using these variable but no freeing of a
if(a){
free(a);
a = 0;
}
return 0;
}
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
hello all,
I tried a program on an array to intialise array elements from the standard input device.it is an integer array of 5 elements.but after entering the 4th element it throws a message called "Segmentation Fault" and returns to the command prompt without asking for the 5th element.
... (3 Replies)
Discussion started by: compbug
3 Replies
2. Programming
I have written a program which takes a directory as command line arguments and displays all the dir and files in it.
I don't know why I have a problem with the /etc directory.It displays all the directories and files untill it reaches a sub directory called peers which is in /etc/ppp/peers.the... (4 Replies)
Discussion started by: vijlak
4 Replies
3. Programming
ive written my code in C for implementation of a simple lexical analyser using singly linked list hence am making use of dynamic allocation,but when run in linux it gives a segmentation fault is it cause of the malloc function that ive made use of????any suggestions as to what i could do???
thank... (8 Replies)
Discussion started by: rockgal
8 Replies
4. AIX
Hi ,
During execution a backup binary i get following error
"Program error 11 (Segmentation fault), saving core file in '/usr/datatools"
Riyaz (2 Replies)
Discussion started by: rshaikh
2 Replies
5. Programming
Hi,
Why I don't receive a segmentation fault in the following sample.
int main(void)
{
char buff;
sprintf(buff,"Hello world");
printf("%s\n",buff);
}
If I define a buffer of 10 elements and I'm trying to put inside it twelve elements, Should I receive a sigsev... (22 Replies)
Discussion started by: lagigliaivan
22 Replies
6. UNIX for Dummies Questions & Answers
Hi,
While comparing primary key data of two tables thr bteq script I am getting this Error. This script is a shell script.
*** Error: The following error was encountered on the output file.
Script.sh: 3043492 Segmentation fault(coredump)
Please let me know how to get through it.
... (5 Replies)
Discussion started by: monika
5 Replies
7. Programming
Hi,
I am having this segmentation fault not in the following program, bt. in my lab program . My lab program is horrible long so cannot post it here bt. I am using the following logic in my program which is giving the segmentation fault. Bt. if I run this sample program as it is it dosen't give... (3 Replies)
Discussion started by: mind@work
3 Replies
8. Programming
I use a binary name (ie polo) it gets some parameter , so for debugging normally i do this :
i wrote script for watchdog my app (polo) and check every second if it's not running then start it , the problem is , if my app , remain in state of segmentation fault for a while (ie 15 ... (6 Replies)
Discussion started by: pooyair
6 Replies
9. Homework & Coursework Questions
this is a network programming code to run a rock paper scissors in a client and server.
I completed it and it was working without any error. After I added the findWinner function to the server code it starts giving me segmentation fault.
-the segmentation fault is fixed
Current problem -Also... (3 Replies)
Discussion started by: femchi
3 Replies
10. Programming
Oddities with gcc, 2.95.3 for the AMIGA and 4.2.1 for MY current OSX 10.14.1...
I am creating a basic calculator for the AMIGA ADE *NIX emulator in C as it does not have one.
Below are two very condensed snippets of which I have added the results inside the each code section.
IMPORTANT!... (11 Replies)
Discussion started by: wisecracker
11 Replies
LEARN ABOUT REDHAT
njamdpm
NJAMDPM(1) General Commands Manual NJAMDPM(1)
NAME
njamdpm - Not Just Another Malloc Debugger Post-Mortem
SYNOPSIS
njamdpm [OPTIONS] <HEAP FILE>
DESCRIPTION
njamdpm is a companion utility that allows you to examine the persistent heap saved by libnjamd(3) You can do things like query for certain
addresses, show memory leaks, and show all past allocated memory. As of NJAMD 0.6.0, gdb(1) is required to make sense of the return
addresses.
USAGE
Options
HEAP FILE
The heap file will be in the current directory with a name of the form njamd-<pid>-heap, but only if NJAMD_PERSISTANT_HEAP was in
the environment at the time of program execution
-a address
Search through the heap file for a chunk of memory that contains address. This can be VERY helpful when using gdb. Simply find the
address that you accessed to cause the segmentation fault, use njamdpm to look it up in the heap, and viola! You have all sorts of
info about the chunk: When it was allocated, when it was freed, how big is is, etc.
-d depth
When displaying return address info, only display depth return addresses. The max is specified in ./include/lib/njamd.h in the
define TRACE_DEPTH (default is 3).
-t Trim the heap file down to only the used portion. This is useful if for some reason the program somehow exits without trimming its
own heap file down first. Note that when the heap file appears huge it's not actually taking up disk space.
-s Dump basic status info about peak memory usage, NJAMD overhead, etc. Useful for determining if you should buy more ram, or write me
an angry email :)
-l Dump memory leaks in the heap. Also shows you info about where the memory was leaked, along with a total. Do note that this total
and the subtotals are aligned bytes. They are aligned to the alignment of your architecture, or as specified by the value the
NJAMD_ALIGN environment variable had when the heap was created.
-f Dump freed memory in the heap. This option is only available if LIBNJAMD ran without NJAMD_CHK_FREE=none set.
Using gdb with njamdpm
When a segmentation fault happens, it's because, of course, you accessed an invalid address. So all you need to do is get gdb to give you
the address you accessed, and then feed it to njamdpm. Ie if the segfault occurs on a line that does buf[i] = 2, issue print &buf[i] to
gdb. Note that libnjamd(3) now has a function __nj_ptr_info that can be called from gdb that performs all this without njamdpm.
To get gdb to translate these return addresses into something meaningful, issue
info line *0xaddress
to obtain the line number of the allocation request, or
list *0xaddress
to see the adjacent code as well.
NOTES
Eventually I hope to add symbol translation right into njamdpm.
AUTHORS
Mike Perry <mikepery@fscked.org>
SEE ALSO
http://freshmeat.net/appindex/development/debugging.html
njamd(3), efence(3), malloc(3), mmap(2), mprotect(2)
NJAMD - 5 Oct 2000 NJAMDPM(1)