On 1/25/08, Leslie P. Polzer <leslie.polzer@...> wrote:
> > Getting the backtrace (type "ba" without the quotes and press enter)
> > might help.
> There you go:
> 43: SB-UNIX::CALL-WITHOUT-INTERRUPTS
> 44: SB-SYS::INVOKE-INTERRUPTION
> 45: (SB-C::VARARGS-ENTRY (COMMON-LISP::FLET SB-UNIX::RUN-HANDLER))
> 46: Foreign fp = 0xb77fa778, ra = 0x806378c
> 47: Foreign fp = 0xb77fa7a8, ra = 0x8051e32
> 48: Foreign fp = 0xb77fa8d8, ra = 0x8055d9a
> 49: Foreign fp = 0xb77faa08, ra = 0x80564fe
> 50: Foreign fp = 0xb77fab28, ra = 0x80568be
> 51: Foreign fp = 0xb77faeec, ra = 0xb7fe5440
> 52: SB-UNIX::CALL-WITHOUT-INTERRUPTS
> 53: SB-SYS::INVOKE-INTERRUPTION
> 54: (SB-C::VARARGS-ENTRY (COMMON-LISP::FLET SB-UNIX::RUN-HANDLER))
Thanks (to Vitaly as well, who kindly provided another similar backtrace!)
What is happening is that we're receiving a pending interrupt when
returning from the UNWIND-PROTECT in CALL-WITHOUT-INTERRUPTS. Nothing
stranger then interrupts coming close on each others heels.
I need to find my old notes on signal handling stuff in SBCL before I
make more adventuresome suggestions, but a increasing MAX_INTERRUPTS
back to something larger seems like a sensible and non-dangerous
bandaid to me.