03-28-2019
Ah, now you're starting to jump between function with different amounts of local variables. Meaning these local variables may not actually be allocated properly when you use them or freed properly when you return, causing corruption on the stack (i.e. important pointer values on the stack overwritten with your local variables since stack space was never made for them), causing potential crashes on return when RET jumps into lala land. This is not recommended.
Also, main() is somewhat special, to the point newer compilers have stopped letting you take the address of it.
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. AIX
Hello,
I am running on a AIX5.2 server with Oracle 10g and 9i. My code compiles and works fine in 32-bit mode. The
same code compiles in 64-bit and runs good. The program catches CNTRL-C signal to terminate. Only on 64-bit code
when i hit CNTRL-C, the program exits with segmentation... (0 Replies)
Discussion started by: sumesh0710
0 Replies
3. UNIX for Dummies Questions & Answers
The java program is a part of speech tagger -> The Stanford NLP (Natural Language Processing) Group
The goal is to use this script as part of a webpage to tag parts of speech based on a user-inputted string.
I have no idea what to do with the files - I'm a complete *nix noob. I tried running... (4 Replies)
Discussion started by: tguillea
4 Replies
4. Programming
I'm getting a segmentation fault. I'm new to Linux programming. Thanks so much for all of your input.:eek:
#include </usr/include/mysql++/mysql++.h>
#include <stdio.h>
#include <iostream>
#include <sstream>
#include <string.h>
using namespace std;
int outputToImport(const char*... (1 Reply)
Discussion started by: sepoto
1 Replies
5. Programming
Hi Friends,
I have written a small code in C which performs the below operations
Task : 1 ) read line by line from a file.
2 ) assuming 3th and 4th fields of the file as GN and GNTO
3 ) The target file should contain all the fields except GNTO.
4... (3 Replies)
Discussion started by: kiran_bhatter
3 Replies
6. UNIX for Advanced & Expert Users
What does this mean and why is this happening?
$ ps -ef | grep ocular
Segmentation fault (core dumped)
$ ps -ef | grep ocular
Segmentation fault (core dumped)
$ ps aux | grep ocular
Segmentation fault (core dumped)
$ ps
Segmentation fault (core dumped)
$ pkill okular
$ ps... (1 Reply)
Discussion started by: cokedude
1 Replies
7. 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
8. Programming
#include<stdlib.h>
#include <pthread.h>
#include "tlpi_hdr.h"
#include <stdio.h>
static volatile int glob = 0;
static struct {
pthread_t t1,t2;
} *thread;
static void * /* Loop 'arg' times incrementing 'glob' */
threadFunc(void *arg)
{
int loops = *((int *) arg); ... (1 Reply)
Discussion started by: fwrlfo
1 Replies
9. Solaris
Hi Guys,
I just installed and booted a zone called testzone. When I logged in remotely and tried changing to root user I get this error:
"Segmentation fault"
Can someone please help me resolve this?
Thanks alot (2 Replies)
Discussion started by: cjashu
2 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
CHMEM(1) General Commands Manual CHMEM(1)
NAME
chmem - change memory allocation
SYNOPSIS
chmem [+] [-] [=] amount file
EXAMPLES
chmem =50000 a.out # Give a.out 50K of stack space
chmem -4000 a.out # Reduce the stack space by 4000 bytes
chmem +1000 file1 # Increase each stack by 1000 bytes
DESCRIPTION
When a program is loaded into memory, it is allocated enough memory for the text and data+bss segments, plus an area for the stack. Data
segment growth using malloc , brk , or sbrk eats up stack space from the low end. The amount of stack space to allocate is derived from a
field in the executable program's file header. If the combined stack and data segment growth exceeds the stack space allocated, the pro-
gram will be terminated.
It is therefore important to set the amount of stack space carefully. If too little is provided, the program may crash. If too much is
provided, memory will be wasted, and fewer programs will be able to fit in memory and run simultaneously. MINIX does not swap, so that
when memory is full, subsequent attempts to fork will fail. The compiler sets the stack space to the largest possible value (for the Intel
CPUs, 64K - text - data). For many programs, this value is far too large. Nonrecursive programs that do not call brk , sbrk , or malloc ,
and do not have any local arrays usually do not need more than 8K of stack space.
The chmem command changes the value of the header field that determines the stack allocation, and thus indirectly the total memory required
to run the program. The = option sets the stack size to a specific value; the + and - options increment and decrement the current value by
the indicated amount. The old and new stack sizes are printed.
SEE ALSO
install(1), brk(2).
CHMEM(1)