X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=BUGS;h=93b3ecbe69b4b819e285fc866a16b46c22d39d7f;hb=1f23c9f7828d8aebeda92c8c1126114e10461ffa;hp=e6de843dcf159e1a72f73772516fcde0d2d88810;hpb=ab9ae982b1b242fc1b25547b5ef5939ee44aec1c;p=sbcl.git diff --git a/BUGS b/BUGS index e6de843..93b3ecb 100644 --- a/BUGS +++ b/BUGS @@ -2083,3 +2083,17 @@ WORKAROUND: Type deriver for CONJUGATE thinks that it returns an object of the same type as its argument, which is wrong for such types as (EQL #C(1 2)). + +377: Memory fault error reporting + On those architectures where :C-STACK-IS-CONTROL-STACK is in + *FEATURES*, we handle SIG_MEMORY_FAULT (SEGV or BUS) on an altstack, + so we cannot handle the signal directly (as in interrupt_handle_now()) + in the case when the signal comes from some external agent (the user + using kill(1), or a fault in some foreign code, for instance). As + of sbcl-0.8.20.20, this is fixed by calling + arrange_return_to_lisp_function() to a new error-signalling + function, but as a result the error reporting is poor: we cannot + even tell the user at which address the fault occurred. We should + arrange such that arguments can be passed to the function called from + arrange_return_to_lisp_function(), but this looked hard to do in + general without suffering from memory leaks.