eclipse-ee4j / orb

Eclipse ORB is a CORBA orb for use in Jakarta EE and GlassFish and other projects that still need an ORB.

Home Page:https://projects.eclipse.org/projects/ee4j.orb

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

4.2.4 version doesn't work with Java 17

WriteWithPaint opened this issue · comments

When I run the 4.2.4 version of the orb under java 17, I get the following stack trace when I call

ORB.init

Exception in thread "main" java.lang.UnsupportedOperationException: WARNING: GMBALTLIB00004: Multiple upper bounds not supported on S
at jdk.proxy2/jdk.proxy2.$Proxy36.multipleUpperBoundsNotSupported(Unknown Source)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.lookup(TypeEvaluator.java:631)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitTypeVariable(TypeEvaluator.java:573)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.evaluateType(TypeEvaluator.java:397)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitMethodDeclaration(TypeEvaluator.java:552)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.access$600(TypeEvaluator.java:372)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:716)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:712)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:70)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:93)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.processClass(TypeEvaluator.java:710)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.getCorrectDeclaration(TypeEvaluator.java:668)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitClassDeclaration(TypeEvaluator.java:445)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.evaluateType(TypeEvaluator.java:391)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$1.evaluate(TypeEvaluator.java:537)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$1.evaluate(TypeEvaluator.java:535)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:70)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:93)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitMethodDeclaration(TypeEvaluator.java:533)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.access$600(TypeEvaluator.java:372)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:716)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:712)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:70)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:93)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.processClass(TypeEvaluator.java:710)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.getCorrectDeclaration(TypeEvaluator.java:668)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitClassDeclaration(TypeEvaluator.java:445)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.evaluateType(TypeEvaluator.java:391)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitMethodDeclaration(TypeEvaluator.java:552)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.access$600(TypeEvaluator.java:372)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:716)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:712)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:70)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:93)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.processClass(TypeEvaluator.java:710)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.getCorrectDeclaration(TypeEvaluator.java:668)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitClassDeclaration(TypeEvaluator.java:445)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.evaluateType(TypeEvaluator.java:391)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$2.evaluate(TypeEvaluator.java:694)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$2.evaluate(TypeEvaluator.java:692)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:70)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:93)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.processClass(TypeEvaluator.java:690)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.getCorrectDeclaration(TypeEvaluator.java:668)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitClassDeclaration(TypeEvaluator.java:445)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.evaluateType(TypeEvaluator.java:391)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$1.evaluate(TypeEvaluator.java:537)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$1.evaluate(TypeEvaluator.java:535)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:70)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:93)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitMethodDeclaration(TypeEvaluator.java:533)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.access$600(TypeEvaluator.java:372)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:716)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:712)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:70)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:93)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.processClass(TypeEvaluator.java:710)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.getCorrectDeclaration(TypeEvaluator.java:668)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitClassDeclaration(TypeEvaluator.java:445)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.evaluateType(TypeEvaluator.java:391)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitMethodDeclaration(TypeEvaluator.java:552)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.access$600(TypeEvaluator.java:372)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:716)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:712)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:70)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:93)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.processClass(TypeEvaluator.java:710)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.getCorrectDeclaration(TypeEvaluator.java:668)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitClassDeclaration(TypeEvaluator.java:445)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.evaluateType(TypeEvaluator.java:391)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitMethodDeclaration(TypeEvaluator.java:552)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.access$600(TypeEvaluator.java:372)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:716)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$4.evaluate(TypeEvaluator.java:712)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:70)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:93)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.processClass(TypeEvaluator.java:710)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.getCorrectDeclaration(TypeEvaluator.java:668)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitClassDeclaration(TypeEvaluator.java:445)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.evaluateType(TypeEvaluator.java:391)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$2.evaluate(TypeEvaluator.java:694)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$2.evaluate(TypeEvaluator.java:692)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:70)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:93)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.processClass(TypeEvaluator.java:690)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.getCorrectDeclaration(TypeEvaluator.java:668)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitClassDeclaration(TypeEvaluator.java:445)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.evaluateType(TypeEvaluator.java:391)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$2.evaluate(TypeEvaluator.java:694)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor$2.evaluate(TypeEvaluator.java:692)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:70)
at org.glassfish.pfl.basic.algorithm.Algorithms.map(Algorithms.java:93)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.processClass(TypeEvaluator.java:690)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.getCorrectDeclaration(TypeEvaluator.java:668)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.visitClassDeclaration(TypeEvaluator.java:445)
at org.glassfish.gmbal.typelib.TypeEvaluator$TypeEvaluationVisitor.evaluateType(TypeEvaluator.java:391)
at org.glassfish.gmbal.typelib.TypeEvaluator.getEvaluatedType(TypeEvaluator.java:285)
at org.glassfish.gmbal.impl.ManagedObjectManagerImpl.constructMBean(ManagedObjectManagerImpl.java:618)
at org.glassfish.gmbal.impl.MBeanTree.setRoot(MBeanTree.java:72)
at org.glassfish.gmbal.impl.ManagedObjectManagerImpl.createRoot(ManagedObjectManagerImpl.java:414)
at com.sun.corba.ee.spi.orb.ORB.createORBManagedObjectManager(ORB.java:754)
at com.sun.corba.ee.impl.orb.ORBImpl.initManagedObjectManager(ORBImpl.java:373)
at com.sun.corba.ee.impl.orb.ORBImpl.postInit(ORBImpl.java:553)
at com.sun.corba.ee.impl.orb.ORBImpl.set_parameters(ORBImpl.java:676)
at org.omg.CORBA.ORB.init(ORB.java:352)

Are there any settings or other changes that I can try to get this to run. It works in Java 11.

You could try setting the org.glassfish.gmbal.no.multipleUpperBoundsException system property, e.g.

-Dorg.glassfish.gmbal.no.multipleUpperBoundsException=true.

See eclipse-ee4j/orb-gmbal@c36970e

I updated to gmbal-4.0.3 and this fix worked. The rest of the corba code in my applications seems to be working fine with this setting.