From: Nikodemus S. <nik...@ra...> - 2007-07-11 17:58:24
|
Nikodemus Siivola wrote: >> causes "Unhandled memory faults at 0x5B". I suspect the problem is in > The reduced test-case is: > > (eval '(locally (declare (optimize (debug 2) (space 0))) > (let ((fun (lambda (body) > (append > (first body) > nil)))) > (funcall fun > '((foo (bar))))))) This even more accurately, (eval '(locally (declare (optimize (sb-c::let-conversion 0) (sb-c::insert-debug-catch 3))) (declare (inline append)) (let ((fun (lambda (body) (append (first body) nil)))) (funcall fun '((foo (bar))))))) This seesm to be a problem with UNWIND-TO-FRAME-AND-CALL: if I disable the BIND/UNBIND-SENTINEL bits in ir2tran.lisp, things work once more. Cheers, -- Nikodemus |
From: Nikodemus S. <nik...@ra...> - 2007-07-11 19:55:49
|
Raymond Wiker wrote: > On Jul 11, 2007, at 19:58, Nikodemus Siivola wrote: > >> This even more accurately, >> >> (eval '(locally (declare (optimize >> (sb-c::let-conversion 0) >> (sb-c::insert-debug-catch 3))) >> (declare (inline append)) >> (let ((fun (lambda (body) >> (append >> (first body) >> nil)))) >> (funcall fun >> '((foo (bar))))))) >> >> This seesm to be a problem with UNWIND-TO-FRAME-AND-CALL: if >> I disable the BIND/UNBIND-SENTINEL bits in ir2tran.lisp, things >> work once more. >> > > Just tested this on my PowerMac G5, where it does not cause a > problem... this is with 10.0.7.13. Just an observation which may or may > not be useful to somebody :-) No wonder: there is no UNWIND-TO-FRAME-AND-CALL-VOP on PPC. Cheers, -- Nikodemus |
From: Nikodemus S. <nsi...@it...> - 2007-07-19 13:52:50
|
Nikodemus Siivola wrote: > Josip Gracin wrote: >> Hello! >> >> I couldn't isolate the bug, but it seems that using >> >> (proclaim '(optimize (space 0) (debug 3))) >> >> causes "Unhandled memory faults at 0x5B". I suspect the problem is in >> (space 0) because in various other combinations of optimizations without >> (space 0), everything works fine. > > Many thanks for the report! This seems to be an SBCL compiler bug. > > The reduced test-case is: > > (eval '(locally (declare (optimize (debug 2) (space 0))) > (let ((fun (lambda (body) > (append > (first body) > nil)))) > (funcall fun > '((foo (bar))))))) This bug has been papered over in SBCL 1.0.7.31. Cheersm -- Nikodemus |