Update: The problem is that HttpCore 4.4.10 was build with Java 9 by me locally when I validated RC1! Wow!
Gary On Mon, Jul 9, 2018 at 12:55 PM Gary Gregory <[email protected]> wrote: > When I update our application at work from 4.5.5 to 4.5.6, this happens > and breaks the app: > > 2018-07-09 12:47:45,862 INFO [main][o.m.d.connection] Opened connection > [connectionId{localValue:2, serverValue:2}] to localhost:1106 > Exception in thread "HMP-ListeningIoReactor-1" > java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer; > at > org.apache.http.nio.util.ExpandableBuffer.setOutputMode(ExpandableBuffer.java:88) > at > org.apache.http.nio.util.ExpandableBuffer.hasData(ExpandableBuffer.java:169) > at > org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:299) > at > org.apache.http.impl.nio.DefaultHttpServerIODispatch.onInputReady(DefaultHttpServerIODispatch.java:243) > at > org.apache.http.impl.nio.DefaultHttpServerIODispatch.onInputReady(DefaultHttpServerIODispatch.java:57) > at > org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114) > at > org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162) > at > org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337) > at > org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315) > at > org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276) > at > org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104) > at > org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588) > at java.lang.Thread.run(Unknown Source) > 2018-07-09 12:47:46,072 ERROR > [com.rs.seagull.httpmonitor.test.NHttpReverseProxyTestRule$1][c.r.s.h.NHttpReverseProxy] > Exception caught in com.rs.seagull.httpmonitor.NHttpReverseProxy: > org.apache.http.nio.reactor.IOReactorException: I/O dispatch worker > terminated abnormally > org.apache.http.nio.reactor.IOReactorException: I/O dispatch worker > terminated abnormally > at > org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:356) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > com.rs.seagull.httpmonitor.NHttpReverseProxy.init(NHttpReverseProxy.java:2208) > ~[classes/:?] > at > com.rs.seagull.httpmonitor.NHttpReverseProxy.goLoop(NHttpReverseProxy.java:2012) > ~[classes/:?] > at > com.rs.seagull.httpmonitor.test.NHttpReverseProxyTestRule$1.lambda$0(NHttpReverseProxyTestRule.java:133) > ~[test-classes/:?] > at java.lang.Thread.run(Unknown Source) [?:1.8.0_172] > Caused by: java.lang.NoSuchMethodError: > java.nio.ByteBuffer.flip()Ljava/nio/ByteBuffer; > at > org.apache.http.nio.util.ExpandableBuffer.setOutputMode(ExpandableBuffer.java:88) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > org.apache.http.nio.util.ExpandableBuffer.hasData(ExpandableBuffer.java:169) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:299) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > org.apache.http.impl.nio.DefaultHttpServerIODispatch.onInputReady(DefaultHttpServerIODispatch.java:243) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > org.apache.http.impl.nio.DefaultHttpServerIODispatch.onInputReady(DefaultHttpServerIODispatch.java:57) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104) > ~[httpcore-nio-4.4.10.jar:4.4.10] > at > org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:588) > ~[httpcore-nio-4.4.10.jar:4.4.10] > ... 1 more > > The app has already been updated from HttpCore 4.4.9 to 4.4.10 without > code changes. The app is built on Java 8. > > *Nothing else* is changed aside from changing the Maven property > for httpclient from 4.5.5 to 4.5.6. > > According to https://github.com/plasma-umass/doppio/issues/497, this can > be fixed with a class cast in > org.apache.http.nio.util.ExpandableBuffer.setOutputMode(ExpandableBuffer.java:88) > > The link suggests that this happens when you use Java 9 or later to build. > What version was used to build 4.5.6? > > Thank you, > Gary > >
