rif wrote on Thu, Oct 02, 2003 at 06:54:48PM -0400: 
> 
> 
> My code is segfaulting, and I'm not sure why.  In the past, I've
> always handled segfaults by recompiling with speed turned down and
> safety turned way up.  It seems now that everything (well, at least at
> my application level, I'm still using cllib for instance) is compiled
> with speed 1, debug 3 and safety 3.  I run my function, and I get the
> following error:
> 
> Error in function UNIX::SIGSEGV-HANDLER:  Segmentation Violation at #x49934AC3.
>    [Condition of type SIMPLE-ERROR]
> 
> Restarts:
>   0: [ABORT] Return to Top-Level.
> 
> Debug  (type H for help)
> 
> (UNIX::SIGSEGV-HANDLER #<unused-arg>
>                        #<unused-arg>
>                        #.(SYSTEM:INT-SAP #x3FFFEC98))
> Source: Error finding source: 
> Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM:  Source file no longer exists:
>   target:code/signal.lisp.
> 
> A backtrace doesn't seem helpful:
> 
> 0] backtrace
> 0: (UNIX::SIGSEGV-HANDLER #<unused-arg>
>                           #<unused-arg>
>                           #.(SYSTEM:INT-SAP #x3FFFEC98))
> 1: (UNIX::SIGSEGV-HANDLER 3
>                           #<unused-arg>
>                           #<unused-arg>
>                           #.(SYSTEM:INT-SAP #x3FFFEC98))[:EXTERNAL]

Is sthis the full backtrace?

If so it has been truncated, you are supposed to see frame from
outside the signal handler.

If it is truncated in a way that backtrace can only find callframe
within the signal handler, but not outside, then the cause is most
likely that somebody damaged the stack (which can lead both to a
segfault and make the debugger unable to find frames).

Martin
-- 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <[EMAIL PROTECTED]>   http://www.cons.org/cracauer/
 No warranty.    This email is probably produced by one of my cats 
 stepping on the keys. No, I don't have an infinite number of cats.

Reply via email to