[slime-devel] Re: slime-edit-definition woes

Edi Weitz edi at agharta.de
Sat Mar 5 23:00:12 UTC 2005


On 05 Mar 2005 22:40:34 +0100, Luke Gorrie <luke at synap.se> wrote:

> Have you tried 'kill -INT <pid>' on Lisp when it starts going nuts?
> Would be interesting to see the backtrace before heap explosion
> occurs.

Here it is.  I've expanded the interesting frames further down below.
Does that help?

Interrupted at #x10044616.
   [Condition of type SIMPLE-CONDITION]

Restarts:
  0: [CONTINUE] Return from BREAK.
  1: [ABORT] Abort handling SLIME request.
  2: [ABORT] Return to Top-Level.

Backtrace:
  0: (UNIX::SIGINT-HANDLER #<#1=unused-arg> #<#1#> #.(SYSTEM:INT-SAP #x3FFFB728))
  1: (UNIX::SIGINT-HANDLER 3 #<#1=unused-arg> #<#1#> #.(SYSTEM:INT-SAP #x3FFFB728))[:EXTERNAL]
  2: ("call_into_lisp+#x8C [#x805495C] /usr/bin/lisp")
  3: ("funcall3+#x32 [#x8054768] /usr/bin/lisp")
  4: ("interrupt_handle_now+#xFB [#x8050070] /usr/bin/lisp")
  5: ("interrupt_handle_pending+#xB9 [#x804FF6E] /usr/bin/lisp")
  6: ("sigtrap_handler+#xE6 [#x8054566] /usr/bin/lisp")
  7: ((FLET #:G24 LISP::SUB-GC))[:CLEANUP]
  8: (LISP::SUB-GC :VERBOSE-P NIL :FORCE-P NIL ...)
  9: (LISP::MAYBE-GC NIL)
 10: ("call_into_lisp+#x8C [#x805495C] /usr/bin/lisp")
 11: ("funcall0+#x27 [#x80546DE] /usr/bin/lisp")
 12: ("alloc+#xDF [#x805D9E6] /usr/bin/lisp")
 13: ("alloc_overflow_edx+#xE [#x8054B62] /usr/bin/lisp")
 14: (LISP::READ-MAYBE-NOTHING #<String-Input Stream> #\[)
 15: (LISP::READ-LIST #<String-Input Stream> #<unused-arg>)
 16: (LISP::READ-MAYBE-NOTHING #<String-Input Stream> #\()
 17: (LISP::READ-LIST #<String-Input Stream> #<unused-arg>)
 18: (LISP::READ-MAYBE-NOTHING #<String-Input Stream> #\()
 19: (LISP::READ-LIST #<String-Input Stream> #<unused-arg>)
 20: (LISP::READ-PRESERVING-WHITESPACE-INTERNAL #<String-Input Stream> T NIL T)
 21: (LISP::READ-PRESERVING-WHITESPACE-INTERNAL #<String-Input Stream> T NIL NIL)
 22: (LISP::READ-PRESERVING-WHITESPACE-INTERNAL 4 #<String-Input Stream> T NIL ...)[:EXTERNAL]
 23: (LISP::READ-INTERNAL #<String-Input Stream> T NIL NIL)
 24: (READ #<String-Input Stream> T NIL NIL)
 25: (SWANK-BACKEND::READ-SOURCE-FORM 4 #<String-Input Stream>)
 26: (SWANK-BACKEND::FORM-NUMBER-STREAM-POSITION 4 0 #<String-Input Stream>)
 27: (SWANK-BACKEND::CODE-LOCATION-STREAM-POSITION #<Compiled-Code-Location GET-PROJECTS-FOR-COSTS> #<String-Input Stream>)
 28: (SWANK-BACKEND::LOCATION-IN-FILE #1="/tmp/foo/foo1.lisp" #<Compiled-Code-Location GET-PROJECTS-FOR-COSTS> #S(C::DEBUG-SOURCE :FROM :FILE :NAME #1# :COMMENT NIL :CREATED 3319048151 :COMPILED 3319052075 ...))
 29: (SWANK-BACKEND::CODE-LOCATION-SOURCE-LOCATION #<Compiled-Code-Location GET-PROJECTS-FOR-COSTS>)
 30: (SWANK-BACKEND::FUNCTION-DEFINITIONS GET-PROJECTS-FOR-COSTS)
 31: ((METHOD SWANK-BACKEND:FIND-DEFINITIONS NIL (T)) #<#1=unused-arg> #<#1#> GET-PROJECTS-FOR-COSTS)
 32: (SWANK:FIND-DEFINITIONS-FOR-EMACS "get-projects-for-costs")
 33: ("DEFUN EVAL-FOR-EMACS")
 34: ((METHOD SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK NIL (T T)) #<#1=unused-arg> #<#1#> #<Function SWANK:SWANK-DEBUGGER-HOOK {588825D1}> #<Closure Over Function "DEFUN EVAL-FOR-EMACS" {5892C8D1}>)
 35: ("DEFUN HANDLE-REQUEST")
 36: (SWANK::CALL-WITH-REDIRECTED-IO #<SWANK::CONNECTION {58A52B65}> #<Function "DEFUN HANDLE-REQUEST" {58762091}>)
 37: (SWANK::HANDLE-REQUEST #<SWANK::CONNECTION {58A52B65}>)
 38: (SWANK::PROCESS-AVAILABLE-INPUT #<Stream for descriptor 6> #<Closure Over Function "DEFUN INSTALL-SIGIO-HANDLER" {5892BF19}>)
 39: ((FLET SWANK::HANDLER SWANK::INSTALL-SIGIO-HANDLER))
 40: (SWANK-BACKEND::SIGIO-HANDLER #<#1=unused-arg> #<#1#> #<#1#>)
 41: ("call_into_lisp+#x8C [#x805495C] /usr/bin/lisp")
 42: ("funcall3+#x32 [#x8054768] /usr/bin/lisp")
 43: ("interrupt_handle_now+#xFB [#x8050070] /usr/bin/lisp")
 44: ("NIL+#x80504B7 [#x80504B7] /usr/bin/lisp")
 45: ("NIL+#x4006D678 [#x4006D678] /lib/libc.so.6")
 46: (SYSTEM:WAIT-UNTIL-FD-USABLE 0 :INPUT NIL)
 47: (LISP::DO-INPUT #<Stream for Standard Input>)
 48: (LISP::INPUT-CHARACTER #<Stream for Standard Input> NIL (LISP::*EOF*))
 49: (LISP::SYNONYM-IN #<Synonym Stream to SYSTEM:*STDIN*> NIL (LISP::*EOF*))
 50: (LISP::TWO-WAY-IN #<Two-Way Stream, Input = #<Synonym Stream to SYSTEM:*STDIN*>, Output = #<Synonym Stream to SYSTEM:*STDOUT*>> NIL (LISP::*EOF*))
 51: (LISP::SYNONYM-IN #<Synonym Stream to SWANK::*CURRENT-STANDARD-INPUT*> NIL (LISP::*EOF*))
 52: (READ-CHAR #<Synonym Stream to SWANK::*CURRENT-STANDARD-INPUT*> NIL (LISP::*EOF*) NIL)
 53: (LISP::READ-PRESERVING-WHITESPACE-INTERNAL #<Synonym Stream to SWANK::*CURRENT-STANDARD-INPUT*> NIL (:EOF) T)
 54: (LISP::READ-PRESERVING-WHITESPACE-INTERNAL #<Synonym Stream to SWANK::*CURRENT-STANDARD-INPUT*> NIL (:EOF) NIL)
 55: (LISP::READ-PRESERVING-WHITESPACE-INTERNAL 4 #<Synonym Stream to SWANK::*CURRENT-STANDARD-INPUT*> NIL (:EOF) ...)[:EXTERNAL]
 56: (LISP::READ-INTERNAL #<Synonym Stream to SWANK::*CURRENT-STANDARD-INPUT*> NIL (:EOF) NIL)
 57: (READ #<Synonym Stream to SWANK::*CURRENT-STANDARD-INPUT*> NIL (:EOF) NIL)
 58: (LISP::%TOP-LEVEL)
 59: ((LABELS LISP::RESTART-LISP EXTENSIONS:SAVE-LISP))


 14: (LISP::READ-MAYBE-NOTHING #<String-Input Stream> #\[)
      Locals:
        ARRAY = #:INVALID
        CHAR = #\[
        LISP::RETVAL = #:INVALID
        STREAM = #<String-Input Stream>
      [No catch-tags]

 15: (LISP::READ-LIST #<String-Input Stream> #<unused-arg>)
      Locals:
        ARRAY = #:INVALID
        ARRAY#1 = #:INVALID
        LISP::FIRSTCHAR = #:INVALID
        LISP::LISTOBJ = #:INVALID
        LISP::LISTTAIL = (NIL)
        LISP::NEXTCHAR = #:INVALID
        LISP::RT = #:INVALID
        STREAM = #<String-Input Stream>
        LISP::THELIST = (NIL NIL (QUOTE NIL) NIL NIL NIL NIL NIL NIL NIL ...)
      [No catch-tags]

 16: (LISP::READ-MAYBE-NOTHING #<String-Input Stream> #\()
      Locals:
        ARRAY = #:INVALID
        CHAR = #\(
        LISP::RETVAL = #:INVALID
        STREAM = #<String-Input Stream>
      [No catch-tags]

 17: (LISP::READ-LIST #<String-Input Stream> #<unused-arg>)
      Locals:
        ARRAY = #:INVALID
        ARRAY#1 = #:INVALID
        LISP::FIRSTCHAR = #:INVALID
        LISP::LISTOBJ = #:INVALID
        LISP::LISTTAIL = (NIL)
        LISP::NEXTCHAR = #:INVALID
        LISP::RT = #:INVALID
        STREAM = #<String-Input Stream>
        LISP::THELIST = (NIL NIL)
      [No catch-tags]

 18: (LISP::READ-MAYBE-NOTHING #<String-Input Stream> #\()
      Locals:
        ARRAY = #:INVALID
        CHAR = #\(
        LISP::RETVAL = #:INVALID
        STREAM = #<String-Input Stream>
      [No catch-tags]

 19: (LISP::READ-LIST #<String-Input Stream> #<unused-arg>)
      Locals:
        ARRAY = #:INVALID
        ARRAY#1 = #:INVALID
        LISP::FIRSTCHAR = #:INVALID
        LISP::LISTOBJ = #:INVALID
        LISP::LISTTAIL = ((NIL))
        LISP::NEXTCHAR = #:INVALID
        LISP::RT = #:INVALID
        STREAM = #<String-Input Stream>
        LISP::THELIST = (NIL NIL NIL (NIL))
      [No catch-tags]

 20: (LISP::READ-PRESERVING-WHITESPACE-INTERNAL #<String-Input Stream> T NIL T)
      Locals:
        ARRAY = #:INVALID
        ARRAY#1 = #:INVALID
        CHAR = #:INVALID
        LISP::EOF-ERRORP = T
        LISP::EOF-VALUE = NIL
        LISP::RECURSIVEP = T
        LISP::RESULT = #:INVALID
        LISP::RT = #:INVALID
        STREAM = #<String-Input Stream>
      [No catch-tags]

 21: (LISP::READ-PRESERVING-WHITESPACE-INTERNAL #<String-Input Stream> T NIL NIL)
      Locals:
        ARRAY = #:INVALID
        ARRAY#1 = #:INVALID
        CHAR = #:INVALID
        LISP::EOF-ERRORP = T
        LISP::EOF-VALUE = NIL
        LISP::RECURSIVEP = NIL
        LISP::RESULT = #:INVALID
        LISP::RT = #:INVALID
        STREAM = #<String-Input Stream>
      [No catch-tags]

 22: (LISP::READ-PRESERVING-WHITESPACE-INTERNAL 4 #<String-Input Stream> T NIL ...)[:EXTERNAL]
      Locals:
        #:G2 = 4
        #:G3 = #<String-Input Stream>
        #:G4 = T
        #:G5 = NIL
        #:G6 = NIL
      [No catch-tags]

 23: (LISP::READ-INTERNAL #<String-Input Stream> T NIL NIL)
      Locals:
        ARRAY = #:INVALID
        LISP::EOF-ERRORP = T
        LISP::EOF-VALUE = NIL
        LISP::RECURSIVEP = NIL
        LISP::RT = #:INVALID
        STREAM = #<String-Input Stream>
        LISP::WHITECHAR = #:INVALID
      [No catch-tags]

 24: (READ #<String-Input Stream> T NIL NIL)
      Locals:
        LISP::EOF-ERRORP = T
        LISP::EOF-VALUE = NIL
        LISP::RECURSIVEP = NIL
        STREAM = #<String-Input Stream>
      [No catch-tags]

 25: (SWANK-BACKEND::READ-SOURCE-FORM 4 #<String-Input Stream>)
      Locals:
        SWANK-BACKEND::I = 3
        SWANK-BACKEND::N = 4
        STREAM = #<String-Input Stream>
      [No catch-tags]

 26: (SWANK-BACKEND::FORM-NUMBER-STREAM-POSITION 4 0 #<String-Input Stream>)
      Locals:
        ARRAY = #:INVALID
        SWANK-BACKEND::FORM-NUMBER = 0
        SWANK-BACKEND::PATH-TABLE = #:INVALID
        SWANK-BACKEND::POSITION-MAP = #:INVALID
        STREAM = #<String-Input Stream>
        SWANK-BACKEND::TLF = #:INVALID
        SWANK-BACKEND::TLF-NUMBER = 4
      [No catch-tags]

 27: (SWANK-BACKEND::CODE-LOCATION-STREAM-POSITION #<Compiled-Code-Location GET-PROJECTS-FOR-COSTS> #<String-Input Stream>)
      Locals:
        SWANK-BACKEND::CODE-LOCATION = #<Compiled-Code-Location GET-PROJECTS-FOR-COSTS>
        SWANK-BACKEND:LOCATION = #:INVALID
        SWANK-BACKEND::POS = #:INVALID
        STREAM = #<String-Input Stream>
      [No catch-tags]

 28: (SWANK-BACKEND::LOCATION-IN-FILE #1="/tmp/foo/foo1.lisp" #<Compiled-Code-Location GET-PROJECTS-FOR-COSTS> #S(C::DEBUG-SOURCE :FROM :FILE :NAME #1# :COMMENT NIL :CREATED 3319048151 :COMPILED 3319052075 ...))
      Locals:
        SWANK-BACKEND::CODE-LOCATION = #<Compiled-Code-Location GET-PROJECTS-FOR-COSTS>
        SWANK-BACKEND::DEBUG-SOURCE = #S(C::DEBUG-SOURCE :FROM :FILE :NAME "/tmp/foo/foo1.lisp" :COMMENT NIL :CREATED 3319048151 :COMPILED 3319052075 :SOURCE-ROOT 0 :START-POSITIONS #(0 88 224 341 386) :INFO NIL)
        SWANK-BACKEND::FILENAME = "/tmp/foo/foo1.lisp"
        SWANK-BACKEND::S = #<String-Input Stream>
      [No catch-tags]

 29: (SWANK-BACKEND::CODE-LOCATION-SOURCE-LOCATION #<Compiled-Code-Location GET-PROJECTS-FOR-COSTS>)
      Locals:
        SWANK-BACKEND::C = #:INVALID
        SWANK-BACKEND::CODE-LOCATION = #<Compiled-Code-Location GET-PROJECTS-FOR-COSTS>
      [No catch-tags]

 30: (SWANK-BACKEND::FUNCTION-DEFINITIONS GET-PROJECTS-FOR-COSTS)
      Locals:
        FUNCTION = #:INVALID
        SWANK-BACKEND::NAME = GET-PROJECTS-FOR-COSTS
      [No catch-tags]

 31: ((METHOD SWANK-BACKEND:FIND-DEFINITIONS NIL (T)) #<#1=unused-arg> #<#1#> GET-PROJECTS-FOR-COSTS)
      Locals:
        SWANK-BACKEND::NAME = GET-PROJECTS-FOR-COSTS
      [No catch-tags]

 32: (SWANK:FIND-DEFINITIONS-FOR-EMACS "get-projects-for-costs")
      Locals:
        SWANK::DSPEC = #:INVALID
        ERROR = #:INVALID
        SWANK::LOC = #:INVALID
        SWANK::NAME = "get-projects-for-costs"
        SWANK::SEXP = #:INVALID
      [No catch-tags]



More information about the slime-devel mailing list