Saving core is broken on windows
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Incomplete
|
Undecided
|
Unassigned |
Bug Description
SBCL 2.1.2, Windows x86-64. Linux is OK.
There are random fails during save-lisp-and-die.
It may have smth to do with:
changes in sbcl-2.1.2 relative to sbcl-2.1.1:
** retain fewer dead objects when saving cores with precise collectors.
$ cat save-lisp.lisp
(format t "Before save-lisp-
(finish-output)
(sb-ext:
"a.exe"
:executable t
:application-type :console
#+sb-
:save-
:toplevel (lambda ()
$ cat run.sh
#!/bin/sh
i=0
while true
do
i=`expr $i + 1`
echo "--- Iter $i ---"
sbcl --dynamic-
./a.exe
done
$ sh run.sh
[cut]
--- Iter 4 ---
Before save-lisp-and-die
fatal error encountered in SBCL pid 1076420740:
maximum interrupt nesting depth (8) exceeded
Welcome to LDB, a low-level debugger for the Lisp runtime environment.
ldb>
Also something seems not consistent in sbcl.core, which also was the result of
save-lisp-and-die. If I add some trivial shared object load to save-lisp.lisp via cffi,
I get:
--- Iter 5 ---
debugger invoked on a SB-SYS:
#<THREAD "main thread" RUNNING {1008EE0293}>:
Unhandled memory fault at #x3100000030.
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-
0: [RETRY ] Retry EVAL of current toplevel form.
1: [CONTINUE] Ignore error and continue loading file "c:\\ws\
2: [ABORT ] Abort loading file "c:\\ws\
3: Retry EVAL of current toplevel form.
4:
Changed in sbcl: | |
status: | New → Incomplete |
May be bug is not related to "cores" but to memory corruption in general.