[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: traceback
From: |
Hans Aberg |
Subject: |
Re: traceback |
Date: |
Sat, 17 Feb 2001 20:44:42 +0100 |
At 15:19 +0300 2001/02/17, Vladimir Rykov wrote:
> Hello! As I said - I use bison/flex based convereter under Windows
> Sometimes I meet a horrible msg like this - sometimes not Maybe
>someone would tell me the meaning of it?
>C:\rykov\>a.exe < zz > oe118
>Exiting due to signal SIGSEGV
>Stack Fault at eip=000020f1
SIGSEGV means segmentation fault, typically you try to write in some
forbidden address. If you write code in C/C++ this code happen if you to
write in a place where you have not allocated memory. Say:
class A { ... };
A* a; // a pointer pointing just anywhere
*a = 5; // trying to give it a value
The code should have been:
A* a; // a pointer pointing just anywhere
A = new A();
*a = 5; // give it a value
So somewhere you have a memory problem. It says "Stack Fault", which could
mean that the parameter stack that the functions use has run out of memory,
which could happen if a function calls itself recursively in an infinite
loop. Sometimes this may happen if one plugs in a bad grammar in Bison.
(SIGSEGV may also happen if your OS for some reason refuses to allocate
more memory. -- If MSOS works as MacOS, one will have too allocate more
memory for the program before trying to restart it.)
Or something.
Hans Aberg
- traceback, Vladimir Rykov, 2001/02/17
- Re: traceback,
Hans Aberg <=