Weird serialization error with NestableDelegate

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Weird serialization error with NestableDelegate

David J. M. Karlsen
I'm calling an EJB on a WebSphere 5.0.2.x server from a WebSphere 6.1,
which is throwing (serverside) an Exception which is extending
NestableRuntimeException.
I'm using commons-lang 2.1 on both sides.

All Serializable classes involved (in my app) declare serializationUID
constants.

Still, I get this serialization error:

org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge :
Mismatched serialization UIDs : Source (RepId
RMI:org.apache.commons.lang.exception.NestableDelegate:4F998DA78EFC2530:EAEF728564560A6A)
= EAEF728564560A6A whereas Target (RepId
RMI:org.apache.commons.lang.exception.NestableDelegate:4F998DA78EFC2530:F68F1455DDEE96BB)
= F68F1455DDEE96BB  vmcid: IBM  minor code: 89A  completed: No
        at
com.ibm.rmi.iiop.CDRInputStream.read_value(CDRInputStream.java:2105)

I've checked the websphere environment - and it does not seem to include
any of the commons-lang classes.

Have anybody else experienced this?

--
David J. M. Karlsen - +47 90 68 22 43
http://www.davidkarlsen.com
http://mp3.davidkarlsen.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Weird serialization error with NestableDelegate

Henri Yandell
On 1/25/07, David J. M. Karlsen <[hidden email]> wrote:

> I'm calling an EJB on a WebSphere 5.0.2.x server from a WebSphere 6.1,
> which is throwing (serverside) an Exception which is extending
> NestableRuntimeException.
> I'm using commons-lang 2.1 on both sides.
>
> All Serializable classes involved (in my app) declare serializationUID
> constants.
>
> Still, I get this serialization error:
>
> org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge :
> Mismatched serialization UIDs : Source (RepId
> RMI:org.apache.commons.lang.exception.NestableDelegate:4F998DA78EFC2530:EAEF728564560A6A)
> = EAEF728564560A6A whereas Target (RepId
> RMI:org.apache.commons.lang.exception.NestableDelegate:4F998DA78EFC2530:F68F1455DDEE96BB)
> = F68F1455DDEE96BB  vmcid: IBM  minor code: 89A  completed: No
>         at
> com.ibm.rmi.iiop.CDRInputStream.read_value(CDRInputStream.java:2105)
>
> I've checked the websphere environment - and it does not seem to include
> any of the commons-lang classes.
>
> Have anybody else experienced this?

Just this issue a couple of days ago:
https://issues.apache.org/jira/browse/DBUTILS-36

"For instance, IBM JVM 1.4.1 has a different way of calculating
serialVersionUID for Serializable class that does not have
serialVersionUID defined than JVM 5.0."

Do you have different VMs at each end?

Hen

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: Weird serialization error with NestableDelegate

Jörg Schaible-2
In reply to this post by David J. M. Karlsen
Henri Yandell wrote on Tuesday, January 30, 2007 1:23 AM:

> On 1/25/07, David J. M. Karlsen <[hidden email]> wrote:
>> I'm calling an EJB on a WebSphere 5.0.2.x server from a WebSphere
>> 6.1, which is throwing (serverside) an Exception which is extending
>> NestableRuntimeException. I'm using commons-lang 2.1 on both sides.
>>
>> All Serializable classes involved (in my app) declare
>> serializationUID constants.
>>
>> Still, I get this serialization error:
>>
>> org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge :
>> Mismatched serialization UIDs : Source (RepId
>>
> RMI:org.apache.commons.lang.exception.NestableDelegate:4F998DA
> 78EFC2530:EAEF728564560A6A)
>> = EAEF728564560A6A whereas Target (RepId
>>
> RMI:org.apache.commons.lang.exception.NestableDelegate:4F998DA
> 78EFC2530:F68F1455DDEE96BB)
>> = F68F1455DDEE96BB  vmcid: IBM  minor code: 89A  completed: No      
>> at
>> com.ibm.rmi.iiop.CDRInputStream.read_value(CDRInputStream.java:2105)
>>
>> I've checked the websphere environment - and it does not seem to
>> include any of the commons-lang classes.
>>
>> Have anybody else experienced this?
>
> Just this issue a couple of days ago:
> https://issues.apache.org/jira/browse/DBUTILS-36
>
> "For instance, IBM JVM 1.4.1 has a different way of calculating
> serialVersionUID for Serializable class that does not have
> serialVersionUID defined than JVM 5.0."
>
> Do you have different VMs at each end?

Keep in mind that any Eclipse compiled class has also a different serialVersionUID (independend of the selected JDK) ...

- Jörg

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Weird serialization error with NestableDelegate

David J. M. Karlsen
In reply to this post by Henri Yandell
Henri Yandell wrote:

> On 1/25/07, David J. M. Karlsen <[hidden email]> wrote:
>> I'm calling an EJB on a WebSphere 5.0.2.x server from a WebSphere 6.1,
>> which is throwing (serverside) an Exception which is extending
>> NestableRuntimeException.
>> I'm using commons-lang 2.1 on both sides.
>>
>> All Serializable classes involved (in my app) declare serializationUID
>> constants.
>>
>> Still, I get this serialization error:
>>
>> org.omg.CORBA.MARSHAL: Unable to read value from underlying bridge :
>> Mismatched serialization UIDs : Source (RepId
>> RMI:org.apache.commons.lang.exception.NestableDelegate:4F998DA78EFC2530:EAEF728564560A6A)
>>
>> = EAEF728564560A6A whereas Target (RepId
>> RMI:org.apache.commons.lang.exception.NestableDelegate:4F998DA78EFC2530:F68F1455DDEE96BB)
>>
>> = F68F1455DDEE96BB  vmcid: IBM  minor code: 89A  completed: No
>>         at
>> com.ibm.rmi.iiop.CDRInputStream.read_value(CDRInputStream.java:2105)
>>
>> I've checked the websphere environment - and it does not seem to include
>> any of the commons-lang classes.
>>
>> Have anybody else experienced this?
>
> Just this issue a couple of days ago:
> https://issues.apache.org/jira/browse/DBUTILS-36
>
> "For instance, IBM JVM 1.4.1 has a different way of calculating
> serialVersionUID for Serializable class that does not have
> serialVersionUID defined than JVM 5.0."
>
> Do you have different VMs at each end?
Yes - this is the underlying problem - as the computed (due to no
explicit serial uid defined) serializationID on both sides differ.

The solutions are:

1) Deploy the applications on the same JDK level (thus computing the
same serial uid)
2) Upgrade to commons-lang 2.2 which declares serial uids (at least for
these classes/what hits me - haven't checked all).

I'll guess 2) will break compability with clients using commons lang <
2.2, but when the upgrade is complete the problem should disappear "for
ever" (until possible changes will force a change of serial uid, which
is probably not likely in the 2.x series).


--
David J. M. Karlsen - +47 90 68 22 43
http://www.davidkarlsen.com
http://mp3.davidkarlsen.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]