From: Thomas B. <tho...@co...> - 2009-09-16 13:00:22
|
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 |
From: Leslie P. P. <sk...@vi...> - 2009-09-16 14:28:33
|
Thomas Bakketun wrote: > 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. Have you tried this on other platforms? > 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. Are you using WITH(OUT)-INTERRUPTS somewhere? Have you or some lib you are using set up signal handlers for SIGPIPE? Leslie -- http://www.linkedin.com/in/polzer |
From: Gábor M. <me...@re...> - 2009-09-16 19:57:08
|
On Miércoles 16 Septiembre 2009, Thomas Bakketun wrote: > 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 unblock_signals_in_context_and_maybe_warn is called in four cases: 1) the control stack is exhausted 2) the binding stack is exhausted 3) the alien stack is exhausted 4) a memory fault is encountered In all cases the call to u_s_i_c_a_m_w is preceded by an fprintf to stderr: "INFO control/binding/alien stack guard page unprotected" or a corruption warning. Unless I overlooked something the output to stderr is missing. Cheers, Gabor |
From: Thomas B. <tho...@co...> - 2009-09-17 10:25:48
|
Gábor Melis wrote: > unblock_signals_in_context_and_maybe_warn is called in four cases: > 1) the control stack is exhausted > 2) the binding stack is exhausted > 3) the alien stack is exhausted > 4) a memory fault is encountered > > In all cases the call to u_s_i_c_a_m_w is preceded by an fprintf to > stderr: "INFO control/binding/alien stack guard page unprotected" or a > corruption warning. Unless I overlooked something the output to stderr > is missing. The output should be complete. To be sure I ran the application without any wrappers (detachtty and rc-scripts), but no more messages is printed when it crashes. |