1.1.6 crashes on OpenBSD 2.8

Rafal Maszkowski rzm@icm.edu.pl
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 <rzm@icm.edu.pl>
> >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 mailing list

Contact vjs@rhyolite.com by mail or use the form.