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
>>
>>

Reply via email to