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.
