httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ralf S. Engelschall" <...@engelschall.com>
Subject Re: Apache/pthread and locking problem
Date Tue, 10 Aug 1999 18:53:01 GMT

In article <19990810134224.C14272@io.com> you wrote:
> On Tue, Aug 10, 1999 at 08:21:03PM +0200, Ralf S. Engelschall wrote:

>> That's the problem. For a nice backtrace via gdb I can use -X, but
>> then the problem doesn't occur. When I start without -X and attach
>> gdb to the processes I get a bogus backtrace.
> 
> Does your gdb have thread support working correctly?

No, it has no thread support and that seem to be the problem, of course.

>> And when I use ktrace
>> I cannot really see the locking problem, because it then looks more
>> like an endless waitpid() related loop.
> 
> Weeeird. Some sort of artifact of the FreeBSD thread libraries?

The problem occurs both with FreeBSD uthread and GNU Pth.  So its either a
problem inside other parts of FreeBSD or inside Apache, I concluded.

>> (gdb) bt
>> #0  0x180e05a4 in _flock ()
>> #1  0x80689db in accept_mutex_on (locknum=0) at acceptlock.c:612
>> #2  0x806817a in accept_thread (dummy=0x80c6130) at http_accept.c:126
>> #3  0x81bffac in ?? ()
>> 
>> This is with USE_ACCEPT_QUEUE after I connected to the child.
> 
> Keep USE_ACCEPT_QUEUE off and use USE_MULTI_ACCEPT instead. The accept
> queue stuff may still work, but it hasn't gotten anywhere near as much
> testing lately.

I've tried both variants. Both block forever after
a connection is established. Hmmmm...

> You may get better results with gdb if you define NO_THREADS. This
> doesn't change the common run path, so you should still see the same
> bug.

I'll try...
                                       Ralf S. Engelschall
                                       rse@engelschall.com
                                       www.engelschall.com

Mime
View raw message