-
Bug
-
Resolution: Done
-
Blocker
-
None
-
None
-
False
-
None
-
False
-
-
-
-
-
-
---
-
---
-
-
After RHPAM-4816, KieServerRouter tests fail with jdk8:
java.lang.NoSuchMethodError: java/nio/ByteBuffer.clear()Ljava/nio/ByteBuffer; (loaded from /qa/tools/opt/x86_64/ibm-java-sdk-8.0-8.6/jre/lib/rt.jar by <Bootstrap Loader>) called from class io.undertow.server.DefaultByteBufferPool (loaded from file:/home/hudson/hudson_workspace/workspace/TESTING/RHBA/7.13/RHPAM-CR/products_integration/certifications/community-tests-integration-jvmos-matrix/c7144de4/tests/s/droolsjbpm-integration/kie-server-parent/kie-server-router/kie-server-router-proxy/target/kie-server-router-proxy-7.67.0.Final-redhat-00026.jar by sun.misc.Launcher$AppClassLoader@bdb36a31).
at io.undertow.server.DefaultByteBufferPool.allocate(DefaultByteBufferPool.java:157)
at io.undertow.server.protocol.http.HttpOpenListener.<init>(HttpOpenListener.java:90)
at io.undertow.Undertow.start(Undertow.java:182)
at org.kie.server.router.KieServerRouter.start(KieServerRouter.java:273)
This error is due to compiling with JDK 9+ with release 8 produces incorrect bytecode for these ByteBuffer methods:
position(int)
limit(int)
mark()
reset()
clear()
flip()
rewind()
Other projects have found the same issue: Debezium, Eclipse Jetty, Apache Pulsar, Eclipse Vert.x, Apache Thrift, the Yugabyte DB client.
the issue is that undertow-core is now productized (undertow-core-2.2.28.Final-redhat-00001.jar) and in the manifest is shown:
Built-By: PNC-Builder
Build-Jdk: 11.0.3
vs non-productized version that works fine: Build-Jdk: 1.8.0_302