Do threads conflict?

Dan Nelson dnelson at allantgroup.com
Tue Oct 14 08:44:27 PDT 2003


In the last episode (Oct 14), Mark said:
> From: "Dan Nelson" <dnelson at allantgroup.com>
> > In the last episode (Oct 13), Mark said:
> > > I just installed Sendmail::Milter, which I believe uses the
> > > ithreads model for Perl. I created my own Milter (Perl-threaded
> > > 5.8.0), and everything runs fine... Except that now, when the
> > > Milter is running, tinyproxy 1.5.0 goes haywire, filling up its
> > > log like crazy with this message:
> > >
> > > "Accept returned an error (Resource temporarily unavailable)...
> > > retrying."
> >
> > They shouldn't conflict. That sounds like a libc_r bug; I think the
> > wrapper for accept() should retry the accept() call for the user.
> >
> > You might want to try updating to 4.8; there were a couple of
> > important commits to libc_r that fixed bugs that usually affected
> > threaded daemons:
> 
> Upgrading to 4.8 is not directly possible on this production server.
> But can I not just recompile the kernel with a patch?

You don't even need to rebuild the kernel.  Just updating libc and
libc_r should do it (don't forget to reinstall /usr/include too).  I'm
actually runing a 4.8 libc on a 4.4 kernel with no problems on one
machine here (don't want to lose the 400-day uptime :)

> This may be the one affecting me. After your hinting me to the
> problem, I did some further googling; but it sounds as if 5.1 still
> suffers from the same malady; for instance:
> 
> http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/1588

That's not the same error that you were talking about, so chances are
it's a different issue.

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-questions mailing list