java.lang.reflect.InaccessibleObjectException while looking up EJBs in JDK 16

1,653 views
Skip to first unread message

Jasvant Singh

unread,
Jul 21, 2021, 2:19:27 AM7/21/21
to WildFly
Hi,
I am getting the following error while looking up EJB in JDK 16. It works fine in JDK 8.

Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private static final java.lang.reflect.Method jdk.proxy29.$Proxy136.m0 accessible: module jdk.proxy29 does not "opens jdk.proxy29" to unnamed module @182f9a0
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.Field.checkCanSetAccessible(Field.java:177) ~[?:?]
at java.base/java.lang.reflect.Field.setAccessible(Field.java:171) ~[?:?]
at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBProxyInformation$1.doCompute(EJBProxyInformation.java:101) ~[jboss-client.jar:24.0.0.Final]
at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBProxyInformation$1.computeValue(EJBProxyInformation.java:72) ~[jboss-client.jar:24.0.0.Final]
at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBProxyInformation$1.computeValue(EJBProxyInformation.java:66) ~[jboss-client.jar:24.0.0.Final]
at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:228) ~[?:?]
at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:210) ~[?:?]
at java.base/java.lang.ClassValue.get(ClassValue.java:116) ~[?:?]
at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBProxyInformation.forViewType(EJBProxyInformation.java:242) ~[jboss-client.jar:24.0.0.Final]
at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBLocator.getProxyInformation(EJBLocator.java:375) ~[jboss-client.jar:24.0.0.Final]
at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBLocator.getProxyConstructor(EJBLocator.java:370) ~[jboss-client.jar:24.0.0.Final]
at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBLocator.createProxyInstance(EJBLocator.java:387) ~[jboss-client.jar:24.0.0.Final]
at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBClient.createProxy(EJBClient.java:161) ~[jboss-client.jar:24.0.0.Final]
at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBClient.createProxy(EJBClient.java:156) ~[jboss-client.jar:24.0.0.Final]
at org.jbos...@23.0.0.Final//org.jboss.as.ejb3.remote.RemoteViewManagedReferenceFactory.getReference(RemoteViewManagedReferenceFactory.java:105) ~[?:?]
at org.jbos...@23.0.0.Final//org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor$2$1.getReference(EjbJndiBindingsDeploymentUnitProcessor.java:268) ~[?:?]
at org.jboss...@23.0.0.Final//org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:143) ~[?:?]
... 14 more

Thanks,
Jasvant

fanste

unread,
Jul 21, 2021, 3:28:46 AM7/21/21
to WildFly
This should be fixed in the WF24.

=> Released in jboss-ejb-client-4.0.41.Final which is part of WF24

Jasvant Singh

unread,
Jul 21, 2021, 9:22:25 AM7/21/21
to WildFly
Hi,

Wildfly 24 is still on org.jboss....@4.0.39.Final and not on 4.0.41

Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private static final java.lang.reflect.Method jdk.proxy31.$Proxy140.m0 accessible: module jdk.proxy31 does not "opens jdk.proxy31" to unnamed module @182f9a0
    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.Field.checkCanSetAccessible(Field.java:177) ~[?:?]
    at java.base/java.lang.reflect.Field.setAccessible(Field.java:171) ~[?:?]
    at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBProxyInformation$1.doCompute(EJBProxyInformation.java:101) ~[jboss-client.jar:24.0.0.Final]
    at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBProxyInformation$1.computeValue(EJBProxyInformation.java:72) ~[jboss-client.jar:24.0.0.Final]
    at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBProxyInformation$1.computeValue(EJBProxyInformation.java:66) ~[jboss-client.jar:24.0.0.Final]
    at java.base/java.lang.ClassValue.getFromHashMap(ClassValue.java:228) ~[?:?]
    at java.base/java.lang.ClassValue.getFromBackup(ClassValue.java:210) ~[?:?]
    at java.base/java.lang.ClassValue.get(ClassValue.java:116) ~[?:?]
    at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBProxyInformation.forViewType(EJBProxyInformation.java:242) ~[jboss-client.jar:24.0.0.Final]
    at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBLocator.getProxyInformation(EJBLocator.java:375) ~[jboss-client.jar:24.0.0.Final]
    at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBLocator.getProxyConstructor(EJBLocator.java:370) ~[jboss-client.jar:24.0.0.Final]
    at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBLocator.createProxyInstance(EJBLocator.java:387) ~[jboss-client.jar:24.0.0.Final]
    at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBClient.createProxy(EJBClient.java:161) ~[jboss-client.jar:24.0.0.Final]
    at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBClient.createProxy(EJBClient.java:156) ~[jboss-client.jar:24.0.0.Final]
    at org.jbos...@23.0.0.Final//org.jboss.as.ejb3.remote.RemoteViewManagedReferenceFactory.getReference(RemoteViewManagedReferenceFactory.java:105) ~[?:?]
    at org.jbos...@23.0.0.Final//org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor$2$1.getReference(EjbJndiBindingsDeploymentUnitProcessor.java:268) ~[?:?]
    at org.jboss...@23.0.0.Final//org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:143) ~[?:?]
    ... 14 more

Thanks,
Jasvant

fanste

unread,
Jul 21, 2021, 9:38:06 AM7/21/21
to WildFly
Are you sure, that you started WF 24?
  1. Your stacktrace contains entries pointing to a WF 23 installation (like  org.jboss.as.ejb3@23.0.0.Final)
  2. I just downloaded a fresh archive of the normal WF 24 (as I'm using WF 24 preview) and it really contains 4.0.41.Final and not 4.0.39.Final
Ensure that your JBOSS_HOME environment variable, etc is setup correctly. Maybe it points to an older installation and mixes up WF 24 with WF 23.

Jasvant Singh

unread,
Jul 21, 2021, 10:46:59 AM7/21/21
to WildFly
Hi,
My EJB server is 23 but I upgraded jboss-client.jar on client with jboss-client.jar shipped with wildfly24.0.0.Final.
I can see following line is coming from jboss-client.jar:24.0.0.Final:
at org.jboss....@4.0.39.Final//org.jboss.ejb.client.EJBClient.createProxy(EJBClient.java:156) ~[jboss-client.jar:24.0.0.Final]

Do I need to upgrade server also?

Thanks,
Jasvant

Jasvant Singh

unread,
Jul 21, 2021, 10:58:06 AM7/21/21
to WildFly
Hi,
I do see that Wildfly24 ships jboss-ejb-client:4.0.41 in modules but in jboss-client.jar it might be shipping jboss-ejb-client:4.0.39.
I am connecting to wildfly server from client which is running inside tomcat 9.

Thanks,
Jasvant
Reply all
Reply to author
Forward
0 new messages