[Click] Master::run_selects with socket element bug

Beyers Cronje bcronje at gmail.com
Fri Jun 16 13:47:41 EDT 2006


Hi Eddie,

OK maybe 'hard lock' was the wrong term to use, the kernel does not hang,
BUT I loose complete keyboard access (although my console mouse still
work??? hehe ), CTRL-C doesnt work, caps lock or any of the led keys doesnt
work etc. After window drops to 0, Socket never sends data ever again, even
after window grows back to a full window a split second later. Enabling
chatter messages in Socket I see that Socket never gets scheduled again
after window 0, BUT I'm unsure if it's purely a matter of Socket not being
scheduled or click itself having problems. The keyboard lockup seems to
indicate something more though...

For my tests I just used a simple config (your config seems better for
testing though):

FromDevice(eth0) -> Queue -> Socket(TCP, 10.51.1.2, 11000) -> Discard;

Any ideas?

Beyers




On 6/16/06, Eddie Kohler <kohler at cs.ucla.edu> wrote:
>
> Hi Beyers,
>
> How exactly do you mean "hard lock"?  The kernel hangs?  Are you running
> kernel Click?
>
> So I ran this config:
>
> InfiniteSource -> Socket(TCP, 0.0.0.0, 9000) -> Print -> Discard;
> TimedSource(1) -> Print -> Discard
>
> and telneted to the relevant port, then suspended the telnet.  The receive
> window dropped to 0, but the timedsource continued just fine.
>
> Eddie
>
>
> Beyers Cronje wrote:
> > Hi all,
> >
> > I'm picking up a bug in the following scenario. I have a socket element
> > that sends data to a remote host via a TCP stream socket. Everything
> > works perfectly until the remote host TCP Window size reaches 0, as soon
> > as this happens I get a hard lock on the click box. I suspect the
> > problem comes in somewhere in the Master::run_selects function. I have
> > confirmed the hang does not occur anywhere in the socket element itself.
> >
> > Anyone has any pointers for where I should start looking? What does
> > poll() or select() return on a TCP socket when the remote host has a TCP
> > window size of 0?
> >
> > Any pointers will be greatly appreciated :)
> >
> > Cheers
> >
> > Beyers
>


More information about the click mailing list