Hi,

On Mon, 23 May 2005, Wijnand Wiersma wrote:

> Hi Stefan,
>
> thanks for your reply.
>
> 2005/5/23, Stefan Kell <[EMAIL PROTECTED]>:
> > >   [...snip...]
> > >   9519 jabberd  CALL  
> > > select(0x1b,0x3c032d10,0x3c032c90,0x3c032c10,0x3c032a58)
> > >   9519 jabberd  RET   select 0
> > >   [...snip...]
> > >   9519 jabberd  CALL  read(0x4,0x3c032d90,0x80)
> > >   9519 jabberd  RET   read -1 errno 35 Resource temporarily unavailable
> >
> > that's an easy one: jabberd makes an select call, which returns 0
> > (timeout) and starts a read on a file descriptor which has probably been
> > used in the read-fd-set for select. And this read gives error 35 which
> > is correct as the select has timed out. Details are in man 2 select, man
> > read and man 2 intro. This is a programming error.
>
> For you this is easy :-)
>
> Should I raise the openfiles-cur for jabber?

Don't know, I am not the specialist for jabber :-(

>
> > Now the difficult part: jabberd does not make the select call by itself
> > but uses GNU-pth also called portable-threads. Somewhere inside this
> > beast there must be the culprit but I don't have the time or patience to
> > look into this unless I know the version of pth which you have been using.
>
> pth-1.4.1 from the 3.7-RELEASE ports.

ports or packages?

I have looked at the pth-code and it seems to me that jabberd might loop
if it has absolutely nothing to do. Than pth might start to simply poll
which is cpu intensive. But someone else with better knowledge about the
changes between OpenBSD 3.5 and 3.7 should have a look at it.

Sorry for not more help

Stefan Kell

Reply via email to