[Mono-dev] Infinite loop in SsllServerStream

Sebastien Pouliot sebastien.pouliot at gmail.com
Fri Sep 23 13:41:02 EDT 2005


Hello Ian,

On Fri, 2005-23-09 at 10:59 -0600, Ian Moir wrote:
> Hi Sebastien
> 
> I just tried my app in 1.1.9.1 and the problem is still there.

:(

>  In fact, 
> more threads seem to end up taking lots of CPU and seem to be in 
> infinite loops.

The new code did from "better" to "*a*lot*better*" for all my tests.
Hopefully the problem you're seeing it related to the bug...

> I will get a demo app out asap

Thanks. BTW it's not worth it to debug/reproduce this under any version
prior to 1.1.9 (as the code is too different).

> Ian
> 
> Ian Moir wrote:
> 
> > Bonjour Sebastien
> >
> > Sorry about that. The version I am working on is old, 1.1.5, but a 
> > colleage has verified that this problem does occur in 1.1.8, and I 
> > believe that he has also seen it in 1.1.9, but I will be confirming 
> > that sometime today for myself. I'll let you know how when I am done 
> > with that. We are reluctant to change version unless we find a good 
> > reason to do so, such as a bug fix we are interested in.
> >
> > Ian
> >
> > Sebastien Pouliot wrote:
> >
> >> Hello Ian,
> >>
> >> On Fri, 2005-23-09 at 09:12 -0600, Ian Moir wrote:
> >>  
> >>
> >>> Hello
> >>>
> >>> I am trying to track down the cause of an infinite loop I am seeing 
> >>> in the class Mono.Security.Protocol.Tls.SslServerStream(). I can 
> >>> easily get some threads in my app into infinite loops by making 
> >>> several quick http type requests and one or more threads reading the 
> >>> request may end up in infinite loops. The loops seem to be in the 
> >>> SslServerStream.doHandshake() method, stuck in the following code:
> >>>
> >>>               while (this.context.LastHandshakeMsg != 
> >>> HandshakeType.Finished)
> >>>               {
> >>>                   this.protocol.ReceiveRecord();
> >>>               }
> >>>   
> >>
> >>
> >> Which version of Mono are you using ?
> >>
> >> There's been major changes in 1.1.9 so debugging this issue with earlier
> >> version of Mono won't help much.
> >>
> >>  
> >>
> >>> I have not found an obvious way to get it out of this loop, such as 
> >>> the socket has closed or diconnected. Any socket experts out there 
> >>> that can suggest some guidance on this, even with just this short 
> >>> explanation?
> >>>
> >>> I will report this as a bug, and am working on some code to demo 
> >>> this bug, but have not got to that point  yet. I will publish some 
> >>> demo code as soon as I have it reasonably isolated.
> >>>   
> >>
> >>
> >> Thanks :)
> >>
> >>  
> >>
> >
> > _______________________________________________
> > Mono-devel-list mailing list
> > Mono-devel-list at lists.ximian.com
> > http://lists.ximian.com/mailman/listinfo/mono-devel-list
> >
> 




More information about the Mono-devel-list mailing list