From: Juho S. <js...@ik...> - 2005-03-18 10:55:24
|
The debugger has been erroring out on backtraces with the message "Argument X is not a REAL: :INVALID-VALUE-FOR-UNESCAPED-REGISTER-STORAGE" for a couple of weeks. Evaluating (sb-int::sap-ref-word (sb-int::int-sap 0) 0) and then doing a backtrace seems to be one (but not the only) reliable method of reproducing this bug, at least on Linux x86/amd64. This is rather inconvenient, so I'd like to see at least some sort of fix for the problem before the next release. The problem seems to be that SB-DEBUG::FRAME-CALL assumes the first element of (FRAME-ARGS-AS-LIST) contains the argument count for XEPs, but sometimes contains :INVALID-VALUE-FOR-UNESCAPED-REGISTER-STORAGE instead. The attached patch checks for this case and ignores the the count when it's :I-V-F-U-R-S. This fixes the symptoms, but I have no idea of whether it's the right thing to do. Does anyone with a better understanding of the debugger have any time to look at this before the freeze, or should I just commit the workaround? -- Juho Snellman |