Various things that are definitely fixes for something
... s/DO-PENDING-INTERRUPT/RECEIVE-PENDING-INTERRUPT/
in ppc/system.lisp (as suggested by Lennart Staflin
sbcl-help 2004-01-01). This may not fix everything,
but it's clearly part of *a* problem if not *the*
problem.
... define and use a fixnump() static inline function in
gencgc.c and purify.c, correcting along the way the
problem in ptrans_code (CSR sbcl-devel 2004-01-08)
Let's see what difference that makes, shall we?