John, this doesn't speak to the general question of JDK version support.
But the particular stack trace you showed makes me wonder if the fix for
GEODE-9081 (landed on 3/30/21 on the develop branch) might get you a little
bit further. That commit 7ac9d7e4f0d04c99298067ca0611d9326e96d9cf
eliminated the reflective field access in favor of some simpler
down-casting.

On Wed, May 5, 2021 at 9:06 AM John Blum <jb...@vmware.com> wrote:

> Hi Anthony-
>
> Thank you for the quick reply.
>
> The Spring Data Team is currently looking ahead towards Java 16 when
> building and running Spring Data examples to get a sense for what works and
> what doesn't, now that Java 16 is GA along with anticipation for users with
> questions or problems.
>
> Spring Framework itself aligns and is based on LTS Java versions only,
> currently Java 8 with Spring Framework 5.  Spring Framework 6 will likely
> move the baseline to Java 11 or possibly even Java 17, we are not sure
> which yet.
>
> Just want to share our findings and give advanced notice.
>
> Thanks,
> John
>
> ________________________________
> From: Anthony Baker <bak...@vmware.com>
> Sent: Wednesday, May 5, 2021 8:14 AM
> To: u...@geode.apache.org <u...@geode.apache.org>
> Cc: geode <dev@geode.apache.org>
> Subject: Re: JDK 16 Support?
>
> Thanks for reporting this John.  The next LTS version of Java (17) is due
> later this year.  I think Geode needs to at least support every LTS version
> of Java and clearly we would need to fix errors like this. Do you see a
> need to support Java 16 now?
>
> Anthony
>
>
> On May 5, 2021, at 7:57 AM, John Blum <jb...@vmware.com<mailto:
> jb...@vmware.com>> wrote:
>
> What is the plan to support Java 16 for Apache Geode?  Timeframe?
>
> Running Apache Geode on a Java 16 Runtime produces errors like the
> following:
>
>
> - org.apache.geode.InternalGemFireException: unable to retrieve underlying
> byte buffer
> -  at org.apache.geode.internal.net
> .BufferPool.getPoolableBuffer(BufferPool.java:346)
> -  at org.apache.geode.internal.net
> .BufferPool.releaseBuffer(BufferPool.java:310)
> -  at org.apache.geode.internal.net
> .BufferPool.releaseSenderBuffer(BufferPool.java:213)
> -  at
> org.apache.geode.internal.tcp.MsgStreamer.release(MsgStreamer.java:100)
> -  at
> org.apache.geode.internal.tcp.MsgStreamer.writeMessage(MsgStreamer.java:256)
> -  at
> org.apache.geode.distributed.internal.direct.DirectChannel.sendToMany(DirectChannel.java:306)
> -  at
> org.apache.geode.distributed.internal.direct.DirectChannel.sendToOne(DirectChannel.java:182)
> -  at
> org.apache.geode.distributed.internal.direct.DirectChannel.send(DirectChannel.java:511)
> -  at
> org.apache.geode.distributed.internal.DistributionImpl.directChannelSend(DistributionImpl.java:346)
> -  at
> org.apache.geode.distributed.internal.DistributionImpl.send(DistributionImpl.java:291)
> -  at
> org.apache.geode.distributed.internal.ClusterDistributionManager.sendViaMembershipManager(ClusterDistributionManager.java:2050)
> -  at
> org.apache.geode.distributed.internal.ClusterDistributionManager.sendOutgoing(ClusterDistributionManager.java:1978)
> -  at
> org.apache.geode.distributed.internal.ClusterDistributionManager.sendMessage(ClusterDistributionManager.java:2015)
> -  at
> org.apache.geode.distributed.internal.ClusterDistributionManager.putOutgoing(ClusterDistributionManager.java:1083)
> -  at
> org.apache.geode.distributed.internal.StartupMessage.process(StartupMessage.java:279)
> -  at
> org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376)
> -  at
> org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:441)
> -  at
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
> -  at
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
> -  at
> org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:441)
> -  at
> org.apache.geode.distributed.internal.ClusterOperationExecutors.doWaitingThread(ClusterOperationExecutors.java:410)
> -  at
> org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:119)
> -  at java.base/java.lang.Thread.run(Thread.java:831)
> - Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make
> public java.lang.Object java.nio.DirectByteBuffer.attachment() accessible:
> module java.base does not "opens java.nio" to unnamed module @40f9161a
> -  at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
> -  at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> -  at
> java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
> -  at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
> -  at org.apache.geode.internal.net
> .BufferPool.getPoolableBuffer(BufferPool.java:343)
> -  ... 22 common frames omitted
> - 2021-04-30 14:57:13,638  INFO ributed.internal.membership.gms.Services:
> 606 - received leave request from
> 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149)<v1>:41001
> for
> 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149)<v1>:41001
> - 2021-04-30 14:57:13,640  INFO ributed.internal.membership.gms.Services:
> 617 - JoinLeave.processMessage(LeaveRequestMessage) invoked.
> isCoordinator=true; isStopping=false; cancelInProgress=false
> - 2021-04-30 14:57:13,647 ERROR xecutors.LoggingUncaughtExceptionHandler:
> 92 - Uncaught exception in thread Thread[P2P message reader for
> 10.99.199.28(CacheNotUsingSharedConfigurationIntegrationTest:29149)<v1>:41001
> shared unordered uid=1 local port=53039 remote port=64063,10,main]
> - org.apache.geode.InternalGemFireException: unable to retrieve underlying
> byte buffer
> -  at org.apache.geode.internal.net
> .BufferPool.getPoolableBuffer(BufferPool.java:346)
> -  at org.apache.geode.internal.net
> .BufferPool.releaseBuffer(BufferPool.java:310)
> -  at org.apache.geode.internal.net
> .BufferPool.releaseReceiveBuffer(BufferPool.java:217)
> -  at
> org.apache.geode.internal.tcp.Connection.releaseInputBuffer(Connection.java:1512)
> -  at org.apache.geode.internal.tcp.Connection.run(Connection.java:1495)
> -  at java.base/java.lang.Thread.run(Thread.java:831)
> - Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make
> public java.lang.Object java.nio.DirectByteBuffer.attachment() accessible:
> module java.base does not "opens java.nio" to unnamed module @40f9161a
> -  at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
> -  at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> -  at
> java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
> -  at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
> -  at org.apache.geode.internal.net
> .BufferPool.getPoolableBuffer(BufferPool.java:343)
> -  ... 5 common frames omitted
> - 2021-04-30 14:57:13,651 ERROR xecutors.LoggingUncaughtExceptionHandler:
> 92 - Uncaught exception in thread Thread[P2P handshake reader@53e57a03-1
> ,5,main]
> - org.apache.geode.InternalGemFireException: unable to retrieve underlying
> byte buffer
> -  at org.apache.geode.internal.net
> .BufferPool.getPoolableBuffer(BufferPool.java:346)
> -  at org.apache.geode.internal.net
> .BufferPool.releaseBuffer(BufferPool.java:310)
> -  at org.apache.geode.internal.net
> .BufferPool.releaseReceiveBuffer(BufferPool.java:217)
> -  at
> org.apache.geode.internal.tcp.Connection.releaseInputBuffer(Connection.java:1512)
> -  at org.apache.geode.internal.tcp.Connection.run(Connection.java:1495)
> -  at java.base/java.lang.Thread.run(Thread.java:831)
> - Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make
> public java.lang.Object java.nio.DirectByteBuffer.attachment() accessible:
> module java.base does not "opens java.nio" to unnamed module @40f9161a
> -  at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
> -  at
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
> -  at
> java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:199)
> -  at java.base/java.lang.reflect.Method.setAccessible(Method.java:193)
> -  at org.apache.geode.internal.net
> .BufferPool.getPoolableBuffer(BufferPool.java:343)
> -  ... 5 common frames omitted
>
> Regards,
>
> -John
>
>

Reply via email to