Vernon Schryver
vjs@calcite.rhyolite.com
Tue, 16 Jul 2002 15:38:21 -0600 (MDT)
> From: Rafal Maszkowski <rzm@icm.edu.pl> >dccm from DCC 1.1.6 crashes (and sometimes even worse - stalls) on OpenBSD 2.8: > ... > (gdb) bt > #0 0x400a5c2f in _thread_machdep_switch () > #1 0x400f2308 in _sigq_check_reqd () > #2 0x400a4e36 in _thread_kern_sched_state () > #3 0x400bbd06 in select () > #4 0xe5c0 in dcc_clnt_op (emsg=0x54328 "", ctxt=0x2bac10, anum=-1, msg=0x2ccc14, msg_len=188, op=DCC_OP_REPORT, resp=0x2ccb6c, > resp_max_len=168, resp_su=0x0) at clnt_send.c:1877 > ... A naive reading of that stack trace is that there is something wrong in the OpenBSD POSIX threads library, because that's where _thread_machdep_switch(), _sigq_check_reqd(), and _thread_kern_sched_state(), live. Line 1877 of clnt_send.c in the first DCC code is unlocking function. However, that may be too naive a reading. Perhaps the crash is in some other thread and gdb is being obscure. It might be interesting to use the gdb command "info thr" to find all of the threads, and then "thr X" followed by "bt" for X each of the thread numbers. Vernon Schryver vjs@rhyolite.com