-
Notifications
You must be signed in to change notification settings - Fork 306
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Payara 5.2021.9 + Remote EJB + JDK 17 does not work/FISH-6027 #5510
Comments
Hi @AleksNo, Would you be able to provide us with a proper reproducer app. Also, please describe the steps to build and deploy the app on the Payara server and instructions to produce the issue along with it. If you are looking for support on your application I would recommend you to consider Payara Enterprise. |
Closing due to no response. |
Hello, I am having this same Remote EJB issue using Payara 5.2021.9 and JDK 17 running on Centos 7. I am using a separate java application to call a remote EJB on the server and am getting this error:
I have made a sample that demonstrates this error. As mentioned above, the client must be started with the -Dorg.glassfish.gmbal.no.multipleUpperBoundsException=true property. Here is the command I used to run the client java application:
|
Hello and sorry for the late answer. I have made a document, which describes how to get running my reproducer project. I hope it helps. Cheers |
I am able to reproduce this issue. I have raised an internal issue with JIRA |
Hi @AleksNo and @pattycakelol, The issue you are getting here is actually caused by orb-gmbal-pfl which is used in Payara. The code causing this can be found here: eclipse-ee4j/orb-gmbal-pfl - JDK 17 banned illegal reflective access, hence you only get this issue on JDK 17 and not JDK 11. You should specify As you used the Eclipse IDE to run the client application in the provided reproducer, I have attached a screenshot of my run configuration which allowed me to use your reproducer successfully: You also stated
As of Payara 5.2022.2 this has been addressed and you no longer need to start the client application with this parameter Thank you, |
Description
If you start a remote EJB client with JDK 17 then no connection is established and the client throws an exception.
Expected Outcome
The remote EJB client should connect to the server.
Current Outcome
The client thows this exception:
javax.naming.CommunicationException: Communication exception for SerialContext[myEnv={java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory, java.naming.factory.url.pkgs=com.sun.enterprise.naming, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl} [Root exception is java.lang.NullPointerException: Cannot invoke "com.sun.enterprise.naming.impl.SerialContextProvider.lookup(String)" because "prvdr" is null]
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:518)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:442)
at java.naming/javax.naming.InitialContext.lookup(InitialContext.java:409)
at remoteejbclient.RemoteEjbClient.getInitialContext(RemoteEjbClient.java:78)
at remoteejbclient.RemoteEjbClient$EjbConnect.mouseClicked(RemoteEjbClient.java:29)
at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:278)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6629)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
at java.desktop/java.awt.Component.processEvent(Component.java:6391)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4584)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.NullPointerException: Cannot invoke "com.sun.enterprise.naming.impl.SerialContextProvider.lookup(String)" because "prvdr" is null
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:483)
If the client applicazion is started with JDK 11 then it works fine.
Steps to reproduce
I am not familiar with maven. So i cannot provide a maven project. I have attached the sourcecode of a test application.
And i am sure that every remote EJB client application is affected.
It is also important that the client application must be started with this parameter:
-Dorg.glassfish.gmbal.no.multipleUpperBoundsException=true
because of this issue:
eclipse-ee4j/orb-gmbal#22
Environment
reproducer.zip
The text was updated successfully, but these errors were encountered: