On 18/01/2008, Oleg Kalnichevski <[EMAIL PROTECTED]> wrote:
>
> On Fri, 2008-01-18 at 02:28 +0000, sebb wrote:
> > On 18/01/2008, Oleg Kalnichevski <[EMAIL PROTECTED]> wrote:
> > > 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:
> > > > > > >
>
> > BTW, further testing on Windows seems to show that the exception stack
> > traces that were commented out are often associated with the failure,
> > so it might be sensible to add a one line trace back in.
> >
> > Also, the assertion relates to the number of items in the endPoints list.
> > I put in some debug to show when getEndPoints() finds a selector that
> > is not open or a key that is not valid. It seems that invalid keys are
> > always associated with the error. Selector not open is associated with
> > the error if it occurs more than once; this seems to happen when one
> > of the ignored Exceptions occurs.
> >
>
> Sebastian
>
> The only theory I can think of it that you still had a runaway Java
> process running still bound to the port 9999. This did happen to me and
> took me a while to figure out what was wrong.
>
> Anyways, I made changes to the end point management code. The problem
> appears to have been solved. Could you please get the latest snapshot
> off the SVN trunk and re-run the tests?
>

Seems OK with Java 1.5.0_13 - tried 6 or so tests, and no failures.

However, when I test with Java 1.6.0_03, I get the error:

-------------------------------------------------------------------------------
Test set: org.apache.http.nio.TestAll
-------------------------------------------------------------------------------
Tests run: 97, Failures: 1, Errors: 0, Skipped: 0, Time elapsed:
11.703 sec <<< FAILURE!
testEndpointUpAndDown(org.apache.http.impl.nio.reactor.TestDefaultListeningIOReactor)
 Time elapsed: 0.016 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)

4 out of 5 times.

This was after doing a "mvn clean", so the code was compiled with Java 1.6

> Oleg
>
> > Might be worth testing with Java 1.6 as well - errors seem to happen a
> > bit more frequently for me with that.
> >
> > > > 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]
> > >
> > >
> >
> > ---------------------------------------------------------------------
> > 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]

Reply via email to