Wed Jul 17 00:17:48 UTC 2002
Thanks for fast answer! On Tue, Jul 16, 2002 at 03:38:21PM -0600, Vernon Schryver wrote: > > From: Rafal Maszkowski <email@example.com> > >dccm from DCC 1.1.6 crashes (and sometimes even worse - stalls) on OpenBSD 2.8: I looked into the running-stalled proces with gdb and it seems to be stopped also in _thread_machdep_switch() . > > (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. I have some problems with it. With GNU gdb 4.16.1: #0 0x400a5c2f in _thread_machdep_switch () (gdb) info thr (gdb) thr 0 Thread ID 0 not known. Use the "info threads" command to see the IDs of currently known threads. (gdb) thr 1 Thread ID 1 not known. Use the "info threads" command to see the IDs of currently known threads. (gdb) No idea why. I have little experience with both threads and OpenBSD. So I compiled gdb 5.2 and: (gdb) info thr Segmentation fault (core dumped) But I have found some possible solution in: http://www.io.com/~hentosh/acs-bsd.html I have recompiled libc_r and now test it: root@gw:/etc/mail,0# ldd /var/dcc/libexec/dccm /var/dcc/libexec/dccm: -lm.0 => /usr/lib/libm.so.0.1 (0x4004b000) -lc_r.3 => /home/rzm/src/dcc/libc_r.so.3.1 (0x4005f000) I will count test as passed if it does not break until tomorrow afternoon. BTW I run dccm as: /var/dcc/libexec/dccm -d -d -b -t CMN,25,50 -t Message-ID,25,50 -l "D?log" -r "4.7.1 451 Access denied by DCC" R. -- Avec mes souvenirs/J'ai allumé le feu Mes chagrins, mes plaisirs/Je n'ai plus besoin d'eux!
More information about the DCC