You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Paul Querna <ch...@force-elite.com> on 2005/08/14 04:48:00 UTC

KQueue Broken on OS X 10.4.x, was Re: APR 1.2.1

Garrett Rooney wrote:
> Seems to work fine my Linux box, but I'm having trouble with the tests
> on Mac OS X 10.4.2.
> 
....
> Then, once I run 'make install' so the tests can run testsock seem to go
> into an infinite loop in the sockchild binary, it seems to be looping
> around the apr_wait_for_io_or_timeout in apr_socket_recv.  The actual
> testall process appears to be stuck in apr_proc_wait waiting for
> sockchild to die.  This appears to be the same problem that Justin
> pointed out with the last tarball.  This problem seems slightly more
> worrisome, and I'm a little uncomfortable voting +1 on the tarball as a
> result.
> 
> Does anyone who knows the pollset/sockets code have any idea what could
> cause this kind of thing?

So, it looks like Apple screwed up KQueue in their 10.4 kernel.

libevent recently added code that attempts to detect this bug, and if
found, reverts to select:
http://cvs.sourceforge.net/viewcvs.py/levent/libevent/kqueue.c?r1=1.24&r2=1.25

SO, it would be nice if Apple stopped being shit and fixed kqueue *and*
poll, but I guess all we can really do at this point is just revert to
using select on OSX.

-Paul

Re: KQueue Broken on OS X 10.4.x, was Re: APR 1.2.1

Posted by Wilfredo Sánchez Vega <ws...@apple.com>.
   I just filed Radar 4216473: "kqueue malfunctioning".

   And have been tracking Radar 4074138: "poll() indicates writable  
socket, then blocking write yields EAGAIN".

     -wsv


On Aug 13, 2005, at 7:48 PM, Paul Querna wrote:

> SO, it would be nice if Apple stopped being shit and fixed kqueue  
> *and*
> poll, but I guess all we can really do at this point is just revert to
> using select on OSX.


Re: KQueue Broken on OS X 10.4.x, was Re: APR 1.2.1

Posted by Michael Vergoz <mv...@binarysec.com>.
Le Dimanche 14 Août 2005 04:48, Paul Querna a écrit :

Wow, interesting. i'll get Tiger in few days i'll look that.
Everything looks okay onto 10.3 / 10.2.
Darwin folks are informed ?

Thanks,
Michael

> Garrett Rooney wrote:
> > Seems to work fine my Linux box, but I'm having trouble with the tests
> > on Mac OS X 10.4.2.
>
> ....
>
> > Then, once I run 'make install' so the tests can run testsock seem to go
> > into an infinite loop in the sockchild binary, it seems to be looping
> > around the apr_wait_for_io_or_timeout in apr_socket_recv.  The actual
> > testall process appears to be stuck in apr_proc_wait waiting for
> > sockchild to die.  This appears to be the same problem that Justin
> > pointed out with the last tarball.  This problem seems slightly more
> > worrisome, and I'm a little uncomfortable voting +1 on the tarball as a
> > result.
> >
> > Does anyone who knows the pollset/sockets code have any idea what could
> > cause this kind of thing?
>
> So, it looks like Apple screwed up KQueue in their 10.4 kernel.
>
> libevent recently added code that attempts to detect this bug, and if
> found, reverts to select:
> http://cvs.sourceforge.net/viewcvs.py/levent/libevent/kqueue.c?r1=1.24&r2=1
>.25
>
> SO, it would be nice if Apple stopped being shit and fixed kqueue *and*
> poll, but I guess all we can really do at this point is just revert to
> using select on OSX.
>
> -Paul