I've been unable to get CMUCL to save a core image from a compiled file.
After loading "myapp.x86f" -- I'm running CMU Common Lisp 19c on
debian 2.4.27-2-386, BTW -- into memory, executing (ext:save-lisp
"myapp.core") always results in a "Segmentation Violation".
But when I try (ext:save-lisp "myapp.core") after loading the source
file "myapp.lisp" -- instead of "myapp.x86f" -- I can always save the
core image successfuly.
So is saving core images not available for compiled files?
I've also tried explicitly setting :purify nil in the (ext:save-lisp)
call, but the result is the same.
Here's one such attempt and debugger backtrace:
* (ext:save-lisp "myapp.core")
[Doing purification:
Error in function UNIX::SIGSEGV-HANDLER: Segmentation Violation at #x805292D.
[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 #x3FFFC950))
Source: Error finding source:
Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists:
target:code/signal.lisp.
0] backtrace
0: (UNIX::SIGSEGV-HANDLER #<unused-arg>
#<unused-arg>
#.(SYSTEM:INT-SAP #x3FFFC950))
1: (UNIX::SIGSEGV-HANDLER 3
#<unused-arg>
#<unused-arg>
#.(SYSTEM:INT-SAP #x3FFFC950))[:EXTERNAL]
2: ("call_into_lisp+#x8C [#x8054A5C] /usr/local/cmucl-19c/bin/lisp")
3: ("funcall3+#x29 [#x805486B] /usr/local/cmucl-19c/bin/lisp")
4: ("interrupt_handle_now+#xF0 [#x80504CF] /usr/local/cmucl-19c/bin/lisp")
5: ("NIL+#x805509C [#x805509C] /usr/local/cmucl-19c/bin/lisp")
6: ("NIL+#x80550D4 [#x80550D4] /usr/local/cmucl-19c/bin/lisp")
7: ("Foreign function call land")
8: ("NIL+#x8053926 [#x8053926] /usr/local/cmucl-19c/bin/lisp")
9: ("NIL+#x805339C [#x805339C] /usr/local/cmucl-19c/bin/lisp")
10: ("NIL+#x805390D [#x805390D] /usr/local/cmucl-19c/bin/lisp")
11: ("purify+#x194 [#x8053DF5] /usr/local/cmucl-19c/bin/lisp")
12: (LISP::%PURIFY 671088651 671088651)
13: ((FLET #:G5
LISP::SUB-GC))
14: (LISP::SUB-GC :VERBOSE-P T :FORCE-P T ...)
15: (PURIFY :ROOT-STRUCTURES NIL :ENVIRONMENT-NAME "Auxiliary")
16: (SAVE-LISP "myapp.core" :PURIFY T :ROOT-STRUCTURES ...)
17: (INTERACTIVE-EVAL (SAVE-LISP "myapp.core"))
18: (LISP::%TOP-LEVEL)
19: ((LABELS LISP::RESTART-LISP
SAVE-LISP))
0]