help-bison
[Top][All Lists]
Advanced

[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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]