Moral of the story: Don't build with Java 9 unless you are going to run on Java 9 or greater. What a mess!
Gary On Mon, Jul 9, 2018 at 1:10 PM Gary Gregory <[email protected]> wrote: > 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 >> >>
