02-08-2002
You can get a core dump because of many things. It normally is because of environment variables not being correct. I get the following every time I forget to set my term to vt100 -
$ echo $TERM
dtterm
$ vi /etc/motd
dtterm: Unknown terminal type
[Using open mode]
Segmentation Fault(coredump)
$ ls -l core
-rw-r--r-- 1 tghunter sysadmin 562480 Feb 8 10:13 core
$ file core
core: ELF 32-bit MSB core file SPARC Version 1, from 'vi'
As you can see I tried to vi a file but my term was dtterm instead of vt100 (I was doing a telnet to another server). It dumps a core file which can be removed. Programmers will use core files to check their code when they have a problem. Most admins have a cron job to remove core files from the filesystems (but watch out, some applications have files called somethingcore - removing them causes headaches!)
Example of programmers having problems:
Calls to Performance Library routines cause segmentation faults. What could be wrong and what can I do?
You may be experiencing stack overflow in your program. There are two types of stack space that need to be addressed.
First, there is the stack space allocated to a process. This is controlled by the limit command. Try unlimiting your process stack by saying:
% unlimit stacksize
Secondly, if your program is multi-threaded each thread must have its own stack space. This is controlled by the ${STACKSIZE} environment variable. The units are in KB so saying:
% setenv STACKSIZE 4000
sets each thread's stack size to 4 MB. This is the minimum value that Performance Library requires, so make sure that ${STACKSIZE} is set to at least 4000. You may need to increase this value if your program uses large stack based variables.
10 More Discussions You Might Find Interesting
1. Programming
what r the situations to receive an error msg like the one below
Segmentation Fault (core dumped) (2 Replies)
Discussion started by: bankpro
2 Replies
2. UNIX for Advanced & Expert Users
I use SCO UNIX 5.07 on a Compaq Proliant Machine. Each time I press the Escape or Delete key while running a program or issuing a FoxBase+ command from the dot prompt, I receive the error message: "Memory Fault - Core Dumped" and the screen locks up immediately.
I would appreciate if necessary... (0 Replies)
Discussion started by: bayuz
0 Replies
3. Solaris
i am getting Segmentation Fault (core dumped) on solaris,
but when i run the same program with same input on linux it runs successfully.
How can i trace the fault in program on solaris. (6 Replies)
Discussion started by: junaid.nehvi
6 Replies
4. Solaris
i am getting segmentation fault (core dumped)
i tried following things but couldn't understand what is wrong with my prog and where the problem is....
i have only adb debugger available on solaris....
so plz help
bash-3.00$ pstack core
core 'core' of 765: ./mod_generalised_tapinread... (4 Replies)
Discussion started by: junaid.nehvi
4 Replies
5. Red Hat
Hi All,
I am getting "Segmentation fault (core dumped)" error in the runtime. I am new this please can you tell me why is that i am getting this error and I am not sure of my compilation :
gcc -c avc_test.c
gcc -c md5.c
gcc avc_test.o md5.o -shared -Llibcoreavc_sdk.so -o proj
... (1 Reply)
Discussion started by: fido.genial
1 Replies
6. Programming
i am executing following program
int main()
{ char str;
FILE * fp;
int i=0; ... (4 Replies)
Discussion started by: bhavesh.sapra
4 Replies
7. UNIX for Advanced & Expert Users
When I was trying to mirror in my v880 server after OS up gradation from 8 to 10
metadb -afc 3 /dev/dsk/c1t1d0s7
I got an error
metadb: Segmentation Fault
Segmentation Fault (core dumped)
Then I logged a case to Oracle/sun team they suggest
"Please could you try
metadb -ac 3... (0 Replies)
Discussion started by: taherahmed
0 Replies
8. Programming
When I run programm show this message: Memory Fault (core dumped)
Does anyone can help me and tell me what is wrong? please
#include <stdlib.h>
#include <stdio.h>
#include <process.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(int argc, char *argv) { ... (3 Replies)
Discussion started by: ebasse2
3 Replies
9. UNIX and Linux Applications
Can anyone tell me why I keep getting a Segmentation fault when I try to run tilda?
$ tilda
Segmentation fault (core dumped)
It seemed to run after I deleted my tilda directory like this thread said to do. Unfortunately it wouldn't let me set my keybinding with anything I tried.
... (0 Replies)
Discussion started by: cokedude
0 Replies
10. UNIX for Dummies Questions & Answers
Hi,
thanks to a precedent post, and thanks to the reply of derekludwig of the forum, I have convert my first awk command as :
test.txt is : AAAAAGHIJKLAjKMEFJKLjklABCDJkLEFGHIJKL
awk -f findstring.awk test.txt > textreturn.txtfindstring.awk is :
BEGIN{ SLENGTH = 3 }
{
... (3 Replies)
Discussion started by: thewizarde6
3 Replies
LEARN ABOUT OPENSOLARIS
_stack_grow
_stack_grow(3C) Standard C Library Functions _stack_grow(3C)
NAME
_stack_grow - express an intention to extend the stack
SYNOPSIS
#include <ucontext.h>
void *_stack_grow(void *addr);
DESCRIPTION
The _stack_grow() function indicates to the system that the stack is about to be extended to the address specified by addr. If extending
the stack to this address would violate the stack boundaries as retreived by stack_getbounds(3C), a SIGSEGV is raised.
If the disposition of SIGSEGV is SIG_DFL, the process is terminated and a core dump is generated. If the application has installed its own
SIGSEGV handler to run on the alternate signal stack, the signal information passed to the handler will be such that a call to stack_viola-
tion(3C) with these parameters returns 1.
The addr argument is a biased stack pointer value. See the Solaris 64-bit Developer's Guide.
This function has no effect if the specified address, addr, is within the bounds of the current stack.
RETURN VALUES
If the _stack_grow() function succeeds and does not detect a stack violation, it returns addr.
ERRORS
No errors are defined.
USAGE
The _stack_grow() function does not actually adjust the stack pointer register. The caller is responsible for manipulating the stack
pointer register once _stack_grow() returns.
The _stack_grow() function is typically invoked by code created by the compilation environment prior to executing code that modifies the
stack pointer. It can also be used by hand-written assembly routines to allocate stack-based storage safely.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
|MT-Level |Async-Signal-Safe |
+-----------------------------+-----------------------------+
SEE ALSO
stack_getbounds(3C), stack_inbounds(3C), stack_violation(3C), attributes(5)
Solaris 64-bit Developer's Guide
SunOS 5.11 18 Jul 2002 _stack_grow(3C)