From: Cyrus H. <ch...@bo...> - 2008-10-20 20:43:06
|
Gabor, This breaks the build on OSX: ... //entering make-target-2.sh //doing warm init - compilation phase This is SBCL 1.0.21.33, an implementation of ANSI Common Lisp. More information about SBCL is available at <http://www.sbcl.org/>. SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. internal error #26 SC: 14, Offset: 4 $1= 0x1124149f: other pointer fatal error encountered in SBCL pid 11650(tid 2689322912): internal error too early in init, can't recover Welcome to LDB, a low-level debugger for the Lisp runtime environment. ldb> backtrace Backtrace: 0: Foreign function ldb_monitor, fp = 0x11ff918, ra = 0x8525 1: Foreign function lose, fp = 0x11ff948, ra = 0x6233 2: Foreign function interrupt_internal_error, fp = 0x11ff988, ra = 0x72d8 3: Foreign function signal_emulation_wrapper, fp = 0x11ff9a8, ra = 0xeff6 4: Foreign function os_get_runtime_executable_path, fp = 0x11ff9d8, ra = 0xebe0 5: Foreign function os_get_runtime_executable_path, fp = 0x11ffd70, ra = 0xebe0 6: (FLET WITHOUT-GCING-BODY-[MAKE-LUTEX]201) 7: (TL-XEP MAKE-LUTEX) 8: (TL-XEP MAKE-MUTEX) 9: (TL-XEP %MAKE-THREAD) 10: INIT-INITIAL-THREAD 11: THREAD-INIT-OR-REINIT 12: !COLD-INIT 13: (TL-XEP !COLD-INIT) ldb> any suggestions? thanks, Cyrus Begin forwarded message: > From: "Gábor Melis" <me...@us...> > Date: October 20, 2008 5:00:55 AM PDT > To: sbc...@li... > Subject: [Sbcl-commits] CVS: sbcl/src/compiler aliencomp.lisp, > 1.34,1.35 > > Update of /cvsroot/sbcl/sbcl/src/compiler > In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv26384/src/ > compiler > > Modified Files: > aliencomp.lisp > Log Message: > 1.0.21.32: hack around truncated backtraces with lost frames > > On :C-STACK-IS-THE-CONTROL-STACK platforms when calling an alien > function stash the current frame pointer and return address away so > that no matter how the alien stack frames are laid out the debugger > can find its way back to lisp land. > > > Index: aliencomp.lisp > =================================================================== > RCS file: /cvsroot/sbcl/sbcl/src/compiler/aliencomp.lisp,v > retrieving revision 1.34 > retrieving revision 1.35 > diff -u -d -r1.34 -r1.35 > --- aliencomp.lisp 30 Jul 2008 13:44:55 -0000 1.34 > +++ aliencomp.lisp 20 Oct 2008 12:00:53 -0000 1.35 > @@ -613,6 +613,29 @@ > `(lambda (function ,@names) > (alien-funcall (deref function) ,@names)))) > > +;;; A per-thread list of frame pointer, program counter conses. > +(defvar *saved-fp-and-pcs* ()) > + > +#!+:c-stack-is-control-stack > +(declaim (inline invoke-with-saved-fp-and-pc)) > +#!+:c-stack-is-control-stack > +(defun invoke-with-saved-fp-and-pc (fn) > + (let* ((fp-and-pc (multiple-value-bind (fp pc) > + (%caller-frame-and-pc) > + (cons fp pc))) > + (*saved-fp-and-pcs* (cons fp-and-pc *saved-fp-and-pcs*))) > + (declare (truly-dynamic-extent fp-and-pc *saved-fp-and-pcs*)) > + (funcall fn))) > + > +(defun find-saved-fp-and-pc (fp) > + (dolist (x *saved-fp-and-pcs*) > + (when (#!+:stack-grows-downward-not-upward > + sap> > + #!-:stack-grows-downward-not-upward > + sap< > + (int-sap (get-lisp-obj-address (car x))) fp) > + (return (values (car x) (cdr x)))))) > + > (deftransform alien-funcall ((function &rest args) * * :important t) > (let ((type (lvar-type function))) > (unless (alien-type-type-p type) > @@ -667,6 +690,11 @@ > `(multiple-value-bind ,(temps) ,body > (values ,@(results))))) > (setf body `(naturalize ,body ',return-type))) > + ;; Remember this frame to make sure that we can get back > + ;; to it later regardless of how the foreign stack looks > + ;; like. > + #!+:c-stack-is-control-stack > + (setf body `(invoke-with-saved-fp-and-pc (lambda > () ,body))) > (/noshow "returning from DEFTRANSFORM ALIEN- > FUNCALL" (params) body) > `(lambda (function ,@(params)) > ,body))))))) > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win > great prizes > Grand prize is a trip for two to an Open Source event anywhere in > the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > Sbcl-commits mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-commits |