Skip to content
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

WLS JMS connector - JMSException is loaded by wrong classloader #5839

Closed
2 tasks
danielkec opened this issue Jan 12, 2023 · 0 comments · Fixed by #5852 or #5854
Closed
2 tasks

WLS JMS connector - JMSException is loaded by wrong classloader #5839

danielkec opened this issue Jan 12, 2023 · 0 comments · Fixed by #5852 or #5854
Assignees
Labels
3.x Issues for 3.x version branch 4.x Version 4.x bug Something isn't working messaging Reactive Messaging P2

Comments

@danielkec
Copy link
Contributor

danielkec commented Jan 12, 2023

Errors from WLS server can't be deserialized because of that.

2023.01.12 10:36:54 SEVERE io.helidon.messaging.connectors.jms.JmsConnector Thread[jms-1,5,jms-thread-pool-4]: Error intercepted from channel to-wls
java.util.concurrent.CompletionException: java.lang.RuntimeException: io.helidon.messaging.MessagingException: Error during sending JMS message.
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1770)
	at io.helidon.common.context.Contexts.runInContext(Contexts.java:117)
	at io.helidon.common.context.ContextAwareExecutorImpl.lambda$wrap$7(ContextAwareExecutorImpl.java:154)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.RuntimeException: io.helidon.messaging.MessagingException: Error during sending JMS message.
	at io.helidon.messaging.connectors.wls.ThinClientClassLoader.executeInIsolation(ThinClientClassLoader.java:114)
	at io.helidon.messaging.connectors.wls.WeblogicConnector.consumeAsync(WeblogicConnector.java:165)
	at io.helidon.messaging.connectors.jms.JmsConnector.lambda$consume$17(JmsConnector.java:574)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
	... 5 more
Caused by: io.helidon.messaging.MessagingException: Error during sending JMS message.
	at io.helidon.messaging.connectors.jms.JmsConnector.lambda$sendingErrorHandler$19(JmsConnector.java:611)
	at io.helidon.messaging.connectors.jms.JmsConnector.consumeAsync(JmsConnector.java:597)
	at io.helidon.messaging.connectors.wls.WeblogicConnector.lambda$consumeAsync$4(WeblogicConnector.java:165)
	at io.helidon.messaging.connectors.wls.ThinClientClassLoader.executeInIsolation(ThinClientClassLoader.java:112)
	... 8 more
Caused by: jakarta.jms.JMSException: weblogic.messaging.dispatcher.DispatcherException: java.rmi.UnmarshalException: Problem deserializing error response; nested exception is: 
	java.io.InvalidClassException: javax.jms.JMSException; local class incompatible: stream classdesc serialVersionUID = 8951994251593378324, local class serialVersionUID = 2368476267211489441
	at io.helidon.messaging.connectors.jms.shim.ShimUtil.exception(ShimUtil.java:67)
	at io.helidon.messaging.connectors.jms.shim.ShimUtil.run(ShimUtil.java:42)
	at io.helidon.messaging.connectors.jms.shim.JakartaMessageProducer.send(JakartaMessageProducer.java:106)
	at io.helidon.messaging.connectors.jms.JmsConnector.consumeAsync(JmsConnector.java:594)
	... 10 more
	Suppressed: weblogic.jms.common.JMSException: weblogic.messaging.dispatcher.DispatcherException: java.rmi.UnmarshalException: Problem deserializing error response; nested exception is: 
	java.io.InvalidClassException: javax.jms.JMSException; local class incompatible: stream classdesc serialVersionUID = 8951994251593378324, local class serialVersionUID = 2368476267211489441
		at thinClientClassLoader//weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:133)
		at thinClientClassLoader//weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncTran(DispatcherAdapter.java:60)
		at thinClientClassLoader//weblogic.jms.client.JMSProducer.toFEProducer(JMSProducer.java:1559)
		at thinClientClassLoader//weblogic.jms.client.JMSProducer.deliveryInternalUnified(JMSProducer.java:953)
		at thinClientClassLoader//weblogic.jms.client.JMSProducer.sendInternal(JMSProducer.java:618)
		at thinClientClassLoader//weblogic.jms.client.JMSProducer.sendWithListenerUnified(JMSProducer.java:437)
		at thinClientClassLoader//weblogic.jms.client.JMSProducer.sendWithListener(JMSProducer.java:425)
		at thinClientClassLoader//weblogic.jms.client.JMSProducer.send(JMSProducer.java:418)
		at thinClientClassLoader//weblogic.jms.client.WLProducerImpl.send(WLProducerImpl.java:974)
		at io.helidon.messaging.connectors.jms.shim.JakartaMessageProducer.lambda$send$6(JakartaMessageProducer.java:106)
		at io.helidon.messaging.connectors.jms.shim.ShimUtil.run(ShimUtil.java:40)
		... 12 more
	Caused by: weblogic.messaging.dispatcher.DispatcherException: java.rmi.UnmarshalException: Problem deserializing error response; nested exception is: 
	java.io.InvalidClassException: javax.jms.JMSException; local class incompatible: stream classdesc serialVersionUID = 8951994251593378324, local class serialVersionUID = 2368476267211489441
		at thinClientClassLoader//weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSyncTran(DispatcherWrapperState.java:400)
		at thinClientClassLoader//weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncTran(DispatcherAdapter.java:58)
		... 21 more
	Caused by: java.rmi.UnmarshalException: Problem deserializing error response; nested exception is: 
	java.io.InvalidClassException: javax.jms.JMSException; local class incompatible: stream classdesc serialVersionUID = 8951994251593378324, local class serialVersionUID = 2368476267211489441
		at thinClientClassLoader//weblogic.rjvm.ResponseImpl.getThrowable(ResponseImpl.java:261)
		at thinClientClassLoader//weblogic.messaging.dispatcher.DispatcherProxy.unmarshalResponse(DispatcherProxy.java:564)
		at thinClientClassLoader//weblogic.messaging.dispatcher.DispatcherProxy.dispatchSyncTranFuture(DispatcherProxy.java:224)
		at thinClientClassLoader//weblogic.messaging.dispatcher.DispatcherWrapperState.dispatchSyncTran(DispatcherWrapperState.java:390)
		... 22 more
	Caused by: java.io.InvalidClassException: javax.jms.JMSException; local class incompatible: stream classdesc serialVersionUID = 8951994251593378324, local class serialVersionUID = 2368476267211489441
		at java.base/java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:597)
		at java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2051)
		at java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1898)
		at java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2051)
		at java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1898)
		at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2224)
		at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1733)
		at java.base/java.io.ObjectInputStream$FieldValues.<init>(ObjectInputStream.java:2606)
		at java.base/java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:647)
		at java.base/java.lang.Throwable.readObject(Throwable.java:912)
		at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
		at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
		at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
		at java.base/java.lang.reflect.Method.invoke(Method.java:568)
		at java.base/java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1100)
		at java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2423)
		at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2257)
		at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1733)
		at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:509)
		at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:467)
		at thinClientClassLoader//weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:218)
		at thinClientClassLoader//weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:638)
		at thinClientClassLoader//weblogic.rjvm.ResponseImpl.getThrowable(ResponseImpl.java:259)
		... 25 more

PR's

@danielkec danielkec added messaging Reactive Messaging 3.x Issues for 3.x version branch labels Jan 12, 2023
@danielkec danielkec added 4.x Version 4.x bug Something isn't working labels Jan 12, 2023
@m0mus m0mus added the P2 label Jan 12, 2023
This was linked to pull requests Jan 13, 2023
@danielkec danielkec linked a pull request Jan 13, 2023 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.x Issues for 3.x version branch 4.x Version 4.x bug Something isn't working messaging Reactive Messaging P2
Projects
Archived in project
2 participants