chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] [PATCH] Avoid context switch during TCP errno repo


From: Peter Bex
Subject: Re: [Chicken-hackers] [PATCH] Avoid context switch during TCP errno reporting
Date: Wed, 20 Mar 2013 14:36:33 +0100
User-agent: Mutt/1.4.2.3i

On Wed, Mar 20, 2013 at 02:27:41PM +0100, Jörg F. Wittenberger wrote:
> Hi all,
> 
> During the development I learned that Peter is *absolutely
> correct* about the "strange error message" I needed help to
> interpret a few days back.  (When the logged error indicated
> that a type test - (struct <uri>) it happend to read - failed
> while the failed type was the same as the required one.)
> 
> This is obviously due to some stack corruption.
>  The same appears to apply to several other errors I observed
> all sudden.  Most prominent among them "heap full while resizing".
> 
> With the tcp replacement code, all those frequent errors are
> suddenly gone.  The code runs as stable as before now.

Is your replacement code also using select()?  It was pointed out that
tcp is still using select(), which is susceptible to a buffer overrun
just like the scheduler.  This will happen in any program which has
a sufficient number of open file descriptors and result in strange
random-seeming errors.

I'll need some time to dig in and see why this is being done and
if we need to replace the select() with poll() like we did in the
scheduler or whether the select() stuff can be completely ripped
out of the tcp unit, and rely on the scheduler.

Cheers,
Peter
-- 
http://www.more-magic.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]