On Fri, Jan 18, 2008 at 01:04:54AM +0000, sebb wrote: > On 18/01/2008, Oleg Kalnichevski <[EMAIL PROTECTED]> wrote: > > > > On Thu, 2008-01-17 at 21:02 +0000, sebb wrote: > > > On 17/01/2008, Oleg Kalnichevski <[EMAIL PROTECTED]> wrote: > > > > > > > > > > > > > > > > I think I have found the problem spot using my wife's dual-core > > > > > > Mac. I > > > > > > suspect I have never been seeing those problems because my primary > > > > > > Linux > > > > > > system is single-core. > > > > > > > > > > > > > > > > Ah - my laptop is also dual-core. > > > > > > > > > > > Thanks for all you help > > > > > > > > > > No problem. > > > > > > > > Sebastian, Anthony, et al > > > > > > > > The problem appears to have been solved. At least I am no longer able to > > > > reproduce it on my dual-core Mac. Could you please get the latest > > > > snapshot off the SVN trunk and test whether you can still reproduce the > > > > problem locally? > > > > > > > > > > I'm still getting an error: > > > > > > ------------------------------------------------------------------------------- > > > Test set: org.apache.http.nio.TestAll > > > ------------------------------------------------------------------------------- > > > Tests run: 97, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: > > > 11.391 sec <<< FAILURE! > > > testEndpointUpAndDown(org.apache.http.impl.nio.reactor.TestDefaultListeningIOReactor) > > > Time elapsed: 0.094 sec <<< FAILURE! > > > junit.framework.AssertionFailedError: expected:<1> but was:<0> > > > at junit.framework.Assert.fail(Assert.java:47) > > > at junit.framework.Assert.failNotEquals(Assert.java:282) > > > at junit.framework.Assert.assertEquals(Assert.java:64) > > > at junit.framework.Assert.assertEquals(Assert.java:201) > > > at junit.framework.Assert.assertEquals(Assert.java:207) > > > at > > > org.apache.http.impl.nio.reactor.TestDefaultListeningIOReactor.testEndpointUpAndDown(TestDefaultListeningIOReactor.java:140) > > > > > > > Sebastian > > > > I must confess I have run out of ideas. I cannot fully understand why > > this is happening and am unable to reproduce the problem locally > > (neither on Mac OS nor Linux). Seems Windows specific. Shall I just > > disable the test case for now? > > > > No, I suggest it is left as is. > > I'll see if I can run it on a multi-CPU Unix OS. >
Hi Sebastian Do not bother. After having added more sync blocks I am now getting occasional lockups. I guess I have take my time and carefully revise all endpoint management code. > BTW, how does one check the number of CPUs on Unix? > I am pretty sure it is kernel specific Oleg > > > > > > By the way, Findbugs says that the field: > > > > > > address in ListenerEndpointImpl (nio) > > > > > > is partially synchronised. > > > This seems to be due the constructor not synching the field. > > > Perhaps make it volatile and remove the existing synch blocks? > > > > > > > I declared the variable volatile. This should make Findbugs happy. The > > synch blocks are still needed because they synchronize on this > > (ListenerEndpointImpl instance), not address. This is needed to notify > > threads blocked awaiting the completion of ListenerEndpoint requests. > > > > > Also SSLIOSession$InternalByteChannel#close() appears to be an > > > infinite recursive call of itself. > > > > > > > Good catch. Fixed. > > > > Thank you once again. > > > > Oleg > > > > > > > > Oleg > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]