I have an application that uses a Payara server as a gateway to datastores and JMS services through EJBs. I'm currently running a Payara 5.183 server in production. I then upgraded by development environment to Payara Server 5.194 (basically, to take advantage of the new built in monitoring capabilities), but when building my application using the payara-embedded-all library version 5.194, I get a verification exception on startup. The stack points to the call to doing a lookup on the jms connection factory. Searching for information on the exception, I see that it is usually called by mismatches between library versions, so I'm not sure why that would be the case since I have upgraded my embedded library to match the version number of the server.
java.lang.VerifyError: Stack map does not match the one at exception handler 184
Exception Details:
Location:
com/sun/jts/pi/InterceptorImpl.receive_exception(Lorg/omg/PortableInterceptor/ClientRequestInfo;)V @184: astore
Reason:
Type 'org/omg/IOP/CodecPackage/TypeMismatch' (current frame, stack[0]) is not assignable to 'org/omg/CORBA/UserException' (stack map, stack[0])
Current Frame:
bci: @159
flags: { }
locals: { 'com/sun/jts/pi/InterceptorImpl', 'org/omg/PortableInterceptor/ClientRequestInfo', 'org/omg/IOP/ServiceContext', 'org/omg/CORBA/Environment', 'org/omg/CORBA/SystemException', 'org/omg/CORBA/Any', 'org/omg/CORBA/portable/InputStream', 'java/lang/Throwable', 'java/lang/String', integer, 'org/omg/CORBA/CompletionStatus' }
stack: { 'org/omg/IOP/CodecPackage/TypeMismatch' }
Stackmap Frame:
bci: @184
flags: { }
locals: { 'com/sun/jts/pi/InterceptorImpl', 'org/omg/PortableInterceptor/ClientRequestInfo', 'org/omg/IOP/ServiceContext', 'org/omg/CORBA/Environment', 'org/omg/CORBA/SystemException', 'org/omg/CORBA/Any', 'org/omg/CORBA/portable/InputStream', 'java/lang/Throwable', 'java/lang/String', integer, 'org/omg/CORBA/CompletionStatus' }
stack: { 'org/omg/CORBA/UserException' }
Bytecode:
0x0000000: 014d 2b03 b900 4f02 004d a700 074e b14e
0x0000010: b12c c700 04b1 014e b200 24c6 000d b200
0x0000020: 24b6 0058 4ea7 000a b800 59b6 0058 4e01
0x0000030: 3a04 2bb9 005f 0100 3a05 1905 b600 603a
0x0000040: 0601 3a07 2bb9 0061 0100 3a08 1906 b600
0x0000050: 6257 1906 b600 6336 0919 06b6 0063 b800
0x0000060: 643a 0a19 0812 65b6 0066 9900 1115 0904
0x0000070: 9f00 10b2 0067 3a04 a700 08b2 0067 3a04
0x0000080: 2d19 04b6 005a 2ab4 0006 c600 0a2a b400
0x0000090: 07c7 000e bb00 5059 0319 0ab7 0052 bfb8
0x00000a0: 0054 3a0b 2ab4 0003 2cb4 0055 190b b900
0x00000b0: 2803 003a 05a7 0010 3a0b bb00 2a59 0319
0x00000c0: 0ab7 0056 bf19 05b8 0057 3a0b 2ab4 0007
0x00000d0: 2bb9 0035 0100 190b 2db9 005b 0400 a700
0x00000e0: 103a 0cbb 003d 5903 190a b700 5dbf 1906
0x00000f0: c600 5519 07c6 0017 1906 b600 68a7 0048
0x0000100: 3a08 1907 1908 b600 6aa7 003c 1906 b600
0x0000110: 68a7 0034 3a08 1908 3a07 1908 bf3a 0d19
0x0000120: 06c6 0021 1907 c600 1719 06b6 0068 a700
0x0000130: 143a 0e19 0719 0eb6 006a a700 0819 06b6
0x0000140: 0068 190d bfa7 0012 3a06 b200 14b2 006c
0x0000150: 126d 1906 b600 6eb1
Exception Handler Table:
bci [2, 10] => handler: 13
bci [2, 10] => handler: 15
bci [159, 181] => handler: 184
bci [159, 181] => handler: 184
bci [204, 222] => handler: 225
bci [248, 253] => handler: 256
bci [68, 238] => handler: 276
bci [68, 238] => handler: 285
bci [297, 302] => handler: 305
bci [276, 287] => handler: 285
bci [58, 325] => handler: 328
Stackmap Table:
full_frame(@13,{Object[#234],Object[#270],Object[#291]},{Object[#272]})
same_locals_1_stack_item_frame(@15,Object[#306])
same_frame(@17)
same_frame(@22)
append_frame(@40,Object[#293])
same_frame(@47)
full_frame(@123,{Object[#234],Object[#270],Object[#291],Object[#293],Object[#307],Object[#274],Object[#308],Object[#309],Object[#239],Integer,Object[#310]},{})
same_frame(@128)
same_frame(@148)
same_frame(@159)
same_locals_1_stack_item_frame(@184,Object[#311])
same_frame(@197)
full_frame(@225,{Object[#234],Object[#270],Object[#291],Object[#293],Object[#307],Object[#274],Object[#308],Object[#309],Object[#239],Integer,Object[#310],Object[#292]},{Object[#294]})
full_frame(@238,{Object[#234],Object[#270],Object[#291],Object[#293],Object[#307],Object[#274],Object[#308],Object[#309]},{})
same_locals_1_stack_item_frame(@256,Object[#309])
same_frame(@268)
same_locals_1_stack_item_frame(@276,Object[#309])
same_locals_1_stack_item_frame(@285,Object[#309])
full_frame(@305,{Object[#234],Object[#270],Object[#291],Object[#293],Object[#307],Object[#274],Object[#308],Object[#309],Top,Top,Top,Top,Top,Object[#309]},{Object[#309]})
same_frame(@317)
same_frame(@322)
full_frame(@325,{Object[#234],Object[#270],Object[#291],Object[#293],Object[#307],Object[#274]},{})
same_locals_1_stack_item_frame(@328,Object[#312])
same_frame(@343)
at com.sun.enterprise.transaction.jts.iiop.TransactionIIOPInterceptorFactory.createInterceptor(TransactionIIOPInterceptorFactory.java:135)
at com.sun.enterprise.transaction.jts.iiop.TransactionIIOPInterceptorFactory.createClientRequestInterceptor(TransactionIIOPInterceptorFactory.java:97)
at org.glassfish.enterprise.iiop.impl.GlassFishORBInitializer.post_init(GlassFishORBInitializer.java:133)
at com.sun.corba.ee.impl.interceptors.PIHandlerImpl.postInitORBInitializers(PIHandlerImpl.java:917)
at com.sun.corba.ee.impl.interceptors.PIHandlerImpl.initialize(PIHandlerImpl.java:267)
at com.sun.corba.ee.impl.orb.ORBImpl.postInit(ORBImpl.java:642)
at com.sun.corba.ee.impl.orb.ORBImpl.set_parameters(ORBImpl.java:705)
at com.sun.corba.ee.impl.orb.ORBImpl.setParameters(ORBImpl.java:692)
at com.sun.corba.ee.spi.osgi.ORBFactory.initialize(ORBFactory.java:107)
at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.initORB(GlassFishORBManager.java:605)
at org.glassfish.enterprise.iiop.impl.GlassFishORBManager.getORB(GlassFishORBManager.java:273)
at org.glassfish.enterprise.iiop.impl.GlassFishORBFactoryImpl.createORB(GlassFishORBFactoryImpl.java:93)
at org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getORB(GlassFishORBHelper.java:167)
at com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext.java:351)
at com.sun.enterprise.naming.impl.SerialContext.getProviderCacheKey(SerialContext.java:358)
at com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:388)
at com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:333)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:482)
at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:442)
at javax.naming.InitialContext.lookup(InitialContext.java:417)
Does anyone have any idea what might be causing this exception? I have checked every library on the classpath to make sure there are no references to an older payara version. Since it's in the InitialContext.lookup() method where the exception is thrown, is there something in the javax libraries that is old or outdated. Appreciate any help anyone can offer.