I'm experiencing crashes with SBCL on FreeBSD. SBCL drops into the LDB
with the message "Signal 13 masked". The application is a multi threaded
mod_lisp based web server application. I have experienced the crash on
FreeBSD 6.3 with SBCL 1.0.27 and on FreeBSD 7.2 with SBCL 1.0.30.
Below is an example of a crash. Every crash happens in the same spot
with a very similar backtrace. As signal 13 is SIGPIPE, it's quite
obvious that this bug is somehow triggered by trying to write a reply to
closed connection. Unfortunately I haven't been able find a predictable
way to reproduce this crash yet.
Any ideas of what might cause this problem?
* Signal 13 masked
fatal error encountered in SBCL pid 94897(tid 673190768):
some blockable signals blocked, some unblocked
Welcome to LDB, a low-level debugger for the Lisp runtime environment.
ldb> backtrace
Backtrace:
0: Foreign function monitor_or_something, fp = 0x2947f178, ra = 0x8057b9e
1: Foreign function ldb_monitor, fp = 0x2947f2e8, ra = 0x8057893
2: Foreign function monitor_or_something, fp = 0x2947f2f8, ra = 0x80578db
3: Foreign function lose, fp = 0x2947f328, ra = 0x8054bf5
4: Foreign function all_signals_blocked_p, fp = 0x2947f358, ra = 0x8055a1b
5: Foreign function blockables_blocked_p, fp = 0x2947f378, ra = 0x8055c61
6: Foreign function check_blockables_blocked_or_lose, fp = 0x2947f388,
ra = 0x8055c81
7: Foreign function maybe_defer_handler, fp = 0x2947f3a8, ra = 0x8056107
8: Foreign function unblock_signals_in_context_and_maybe_warn, fp =
0x2947f3d8, ra = 0x80566ab
9: Foreign fp = 0x2947f71c, ra = 0xbfbfffb4
10: (COMMON-LISP::FLET SB-UNIX::%WRITE)
11: (SB-C::TL-XEP SB-UNIX::UNIX-WRITE)
12: SB-IMPL::FLUSH-OUTPUT-BUFFER
13: SB-IMPL::OUTPUT-BYTES/UTF-8
14: SB-IMPL::FD-SOUT
15: SB-IMPL::%WRITE-STRING
16: SB-IMPL::%WRITE-STRING
17: SB-IMPL::ANSI-STREAM-WRITE-SEQUENCE
18: (SB-C::TL-XEP COMMON-LISP::WRITE-SEQUENCE)
19: COMMON-LISP-USER::WRITE-REPLY
20: (SB-PCL::FAST-METHOD
COMMON-LISP-USER::PROCESS-APACHE-REQUEST-WRITE-REPLY
(COMMON-LISP-USER::APACHE-REQUEST))
21: COMMON-LISP-USER::HANDLE-CONNECTION
22: (COMMON-LISP::LAMBDA ())
23: (COMMON-LISP::FLET WITHOUT-INTERRUPTS-BODY-[BLOCK402]407)
24: (COMMON-LISP::FLET SB-THREAD::WITH-MUTEX-THUNK)
25: (COMMON-LISP::FLET WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]267)
26: SB-THREAD::CALL-WITH-MUTEX
27: (COMMON-LISP::LAMBDA ())
28: Foreign function call_into_lisp, fp = 0x2947ff58, ra = 0x8063a2b
29: Foreign function funcall0, fp = 0x2947ff78, ra = 0x8051cad
30: Foreign function new_thread_trampoline, fp = 0x2947ff98, ra = 0x805bf28
31: Foreign function pthread_getprio, fp = 0x2947ffe8, ra = 0x280a378c
|