Activity log for bug #800343

Date Who What changed Old value New value Message
2011-06-21 19:08:36 Ph. Marek bug added bug
2011-06-25 11:44:48 Paul Khuong sbcl: status New Confirmed
2011-06-25 11:46:20 Paul Khuong sbcl: importance Undecided Low
2011-06-25 11:47:30 Paul Khuong summary Stack frames hidden in backtrace generic-foo assembly routines obscure backtraces
2011-06-25 11:48:05 Paul Khuong description (declaim (optimize (debug 3) (safety 3) (speed 0))) (defun 3n+1/2 (n) (if (= 1 n) nil (if (evenp n) (floor n 2) (1+ (* 3 n))))) (3n+1/2 nil) gives a stack dump like this: debugger invoked on a SIMPLE-TYPE-ERROR in thread #<THREAD "initial thread" RUNNING {1002BCACD1}>: Argument X is not a NUMBER: NIL Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level. (SB-KERNEL:TWO-ARG-= NIL 1) 0] backtrace 0: (SB-KERNEL:TWO-ARG-= NIL 1) 1: ("no debug information for frame") 2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (|3N+1/2| NIL) #<NULL-LEXENV>) 3: (SB-EXT:INTERACTIVE-EVAL (|3N+1/2| NIL) :EVAL NIL) 4: (SB-IMPL::REPL-FUN NIL) 5: ((LAMBDA NIL)) 6: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA NIL) {10034BA559}>) 7: (SB-IMPL::TOPLEVEL-REPL NIL) 8: (SB-IMPL::TOPLEVEL-INIT) 9: ((LABELS SB-IMPL::RESTART-LISP)) Now the problem is that the function where "=" is called (3n+1/2) is not listed - all that I see is 1: ("no debug information for frame") In this case it's not a real problem; but in another case, where the function calling "=" was a LABELS generated by a macro there was no easy way to see what the problem is. Perhaps that's related to https://bugs.launchpad.net/sbcl/+bug/309079 - I have x86_64 SBCL 1.0.49.0.debian. pjb on #lisp said "I guess the reason why 3n+1/2 is not listed is that two-arg-= is open-coded, and it shadows your 3n+1/2 frame." I cannot claim to fully understand the implications, but I _do_ assert that with (debug 3) the whole stack trace should be visible - even more as eg. TCO gets turned off for such things, too. Thanks for all hints. (declaim (optimize (debug 3) (safety 3) (speed 0))) (defun 3n+1/2 (n)   (if (= 1 n)         nil         (if (evenp n)           (floor n 2)           (1+ (* 3 n))))) (3n+1/2 nil) gives a stack dump like this: debugger invoked on a SIMPLE-TYPE-ERROR in thread #<THREAD "initial thread" RUNNING {1002BCACD1}>: Argument X is not a NUMBER: NIL Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name):   0: [ABORT] Exit debugger, returning to top level. (SB-KERNEL:TWO-ARG-= NIL 1) 0] backtrace 0: (SB-KERNEL:TWO-ARG-= NIL 1) 1: ("no debug information for frame") 2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (|3N+1/2| NIL) #<NULL-LEXENV>) 3: (SB-EXT:INTERACTIVE-EVAL (|3N+1/2| NIL) :EVAL NIL) 4: (SB-IMPL::REPL-FUN NIL) 5: ((LAMBDA NIL)) 6: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA NIL) {10034BA559}>) 7: (SB-IMPL::TOPLEVEL-REPL NIL) 8: (SB-IMPL::TOPLEVEL-INIT) 9: ((LABELS SB-IMPL::RESTART-LISP)) Now the problem is that the function where "=" is called (3n+1/2) is not listed - all that I see is     1: ("no debug information for frame")
2013-04-21 18:38:43 Paul Khuong tags arch-x86 easy runtime x86-64
2013-04-21 18:39:55 Paul Khuong sbcl: assignee Paul Khuong (pvk)
2013-04-21 18:39:59 Paul Khuong sbcl: status Confirmed In Progress
2013-04-21 20:15:26 Paul Khuong attachment added backtrace-in-asm-routines.diff https://bugs.launchpad.net/sbcl/+bug/800343/+attachment/3650002/+files/backtrace-in-asm-routines.diff
2013-05-18 13:12:53 Paul Khuong sbcl: status In Progress Fix Committed
2013-05-18 13:12:57 Paul Khuong sbcl: assignee Paul Khuong (pvk)
2013-06-02 16:06:26 Christophe Rhodes sbcl: status Fix Committed Fix Released