libera/#sbcl - IRC Chatlog
Search
7:30:42
Shinmera
Another Windows thing: sometimes the stack trace appears completely useless, consisting merely of a few frames of SB-KERNEL:INTERNAL-ERROR above two foreign function frames. Makes figuring out what the heck the error was very, very difficult.
8:59:03
luis
Shinmera: the problem, I think, is that the win64 calling convention omits the frame pointer so we need to call CaptureStackBackTrace or something similar which knows how to map <instruction addresses> to <stack pointer offsets to the frame base> essentially
9:01:50
luis
it's not easy to check with a C debugger because that'll become confused by the Lisp frames on top
9:03:48
Shinmera
This is captured and automatically submitted from some random user's machine. I have no way of reproducing it and since the trace tells me nothing no way of even pinpointing where the failure point would be.
9:08:36
Shinmera
The thread is lisp-controlled and the error is definitely in lisp land. There's no callbacks in there.
10:16:08
luis
hmm. That's the kind of error that's triggered via BREAKPOINT_EXCEPTION so there's some foreign functions (handle_exception_ex(), veh()) in between
10:28:06
luis
ah, I think I've reproduced it. It gets confused with the exception handling frames indeed. What parameters are you passing to sb-debug:print-backtrace to get that backtrace?
11:41:44
luis
Shinmera: SB-KERNEL:INTERNAL-ERROR binds SB-DEBUG:*STACK-TOP-HINT* to the frame that caused the error. That frame is below the foreign functions that handle the exception, so the backtrace doesn't get confused.
11:51:56
luis
watch out that it's not always a frame, sometimes it's just a symbol and you need to apply SB-DEBUG::RESOLVE-STACK-TOP-HINT on it. See SWANK's CALL-WITH-DEBUGGING-ENVIRONMENT.
11:52:20
Shinmera
confusing that the raw variable is exported, but not the resolve function, though.
17:57:49
prokhor_
how do i get rid of this: Lock on package SB-SYS violated when interning COMMENT-READER while in
18:12:00
|3b|
don't try to intern comment-reader into sb-sys (or update/fix whatever software you loaded that tries to do so)
19:20:15
_death
heads up, sbcl signals a bug when loading cl-mathstats (as usual, policy is debug/safety 3) https://plaster.tymoon.eu/view/3136#3136