pthreads on FreeBSD

Carter Bullard carter at qosient.com
Fri Sep 29 08:07:23 EDT 2000


Hey Neil,
   I ripped out all the threads in argus and
made the components big old processes.  Primarily
to support flex/bison based filtering in each
one.  It was easier to do that than fixing the
problem we were having.  Still, thanks for the
heads up!!!

   We may have found the bogus timestamp problem,
as the new version of 2.0.0j is still(?) running
at Peter's without a time glitch.  I was convinced
the problem was caused by everybody and thing
other than my inability to program a computer.  But
reality won out in the end ;o)

Carter

-----Original Message-----
From: owner-argus at lists.andrew.cmu.edu
[mailto:owner-argus at lists.andrew.cmu.edu]On Behalf Of Neil Long
Sent: Friday, September 29, 2000 6:06 AM
To: argus
Subject: Re: pthreads on FreeBSD


Hi

I do not know if it is at all relevant but a thread (!) just started
on the freebsd-stable mail list

From:    Roman Shterenzon <roman at harmonic.co.il>
Date:    Fri Sep 29, 10:21am +0200
Subject: pthreads bug?

which indicates that there is a problem on 4.* and the attached test
code demonstrates it. It may also be a problem on other versions.

Just in case anyone is knocking themselves out over an inherent bug
which argus may just be triggering.

regards
Neil

The original posting is

I noticed some strange behavior in pthreads applications,
close on socket which is in accept() will be blocked untill there's a
connection
to port and accept returns.
It's observed on 4.0 - 4.1-STABLE, perhaps 4.1.1-STABLE as well, but I
didn't
try it. I don't have 3.5.1-STABLE system to test it there.
It affects, for example, openldap - start it , then kill -15 it.
It won't die (and it should). Now, try to telnet localhost 389 ; now it
died.
The same behavior is a program we're writing right now, it's very annoying,
in
fact we don't know how to deal with it. It works on solaris and linux.
btw, linux doesn't dump core on threaded application, how one's supposed to
debug it?
I attach example program, which, when receives SIGUSR1 should close the
socket,
but, in fact gets blocked in the close() function.
Obviously it's waiting to acquire some lock.
Does anyone have an idea?

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Dr Neil J Long, Computing Services, University of Oxford
 13 Banbury Road, Oxford, OX2 6NN, UK Tel:+44 1865 273232 Fax:+44 1865
273275
 EMail:       Neil.Long at computing-services.oxford.ac.uk
 PGP:    ID 0xE88EF71F    OxCERT: oxcert at ox.ac.uk PGP: ID 0x4B11561D
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist1.pair.net/pipermail/argus/attachments/20000929/86217287/attachment.html>


More information about the argus mailing list