Just had a moment to poke around this code. The stack implies that
ObjectStore has nulls in its object map. And of course I can't
reproduce it via simple serialization tests. We'll have to see what
debugging in your environment reveals.
Andrus
On Dec 1, 2006, at 7:06 PM, Cris Daniluk wrote:
> This is also not during Tomcat startup. Initially I suspected it might
> be because the Configuration hadn't been initialized on all of the
> nodes, but that doesn't seem to be the case. It's hard to debug on a
> cluster :)
>
> Right now I've changed to debug on STABLE-1.2 HEAD. The NPE is on line
> 1807 there. I'll let you know if I find anything
>
> Cris
>
> On 12/1/06, Andrus Adamchik <andru..bjectstyle.org> wrote:
>> Hi Cris,
>>
>> I am leaving to catch the train now. I'll take a look over the
>> weekend. This is strange indeed - we had issues in the past on
>> deserialization during Tomcat startup, but those were due to
>> ClassLoaders not being in the right state. This scenario is
>> different.
>>
>> Andrus
>>
>> On Dec 1, 2006, at 6:48 PM, Cris Daniluk wrote:
>>
>> > I've turned on Tomcat clustering on an existing application, and
>> thus
>> > the session-bound user DataContext is being serialized across the
>> > wire. Whenever I connect to a Tomcat node, the nodes that are
>> > replicated to report the attached exception. Based on the line
>> number
>> > (Cayenne 1.2.1), it looks like the objectStore has null elements in
>> > it, which does not make any sense.
>> >
>> > Any ideas?
>> >
>> > Cris
>> >
>> >
>> > ERROR [org.apache.catalina.cluster.tcp.TcpReplicationThread[1]] -
>> > 2006-12-01 10:44:42,264 Manager [/integration]: Unable to receive
>> > message through TCP channel
>> > java.lang.NullPointerException
>> > at org.objectstyle.cayenne.access.DataContext.readObject
>> > (DataContext.java:1806)
>> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
>> Method)
>> > at sun.reflect.NativeMethodAccessorImpl.invoke
>> > (NativeMethodAccessorImpl.java:39)
>> > at sun.reflect.DelegatingMethodAccessorImpl.invoke
>> > (DelegatingMethodAccessorImpl.java:25)
>> > at java.lang.reflect.Method.invoke(Method.java:585)
>> > at java.io.ObjectStreamClass.invokeReadObject
>> > (ObjectStreamClass.java:946)
>> > at java.io.ObjectInputStream.readSerialData
>> > (ObjectInputStream.java:1809)
>> > at java.io.ObjectInputStream.readOrdinaryObject
>> > (ObjectInputStream.java:1719)
>> > at java.io.ObjectInputStream.readObject0
>> > (ObjectInputStream.java:1305)
>> > at java.io.ObjectInputStream.defaultReadFields
>> > (ObjectInputStream.java:1908)
>> > at java.io.ObjectInputStream.readSerialData
>> > (ObjectInputStream.java:1832)
>> > at java.io.ObjectInputStream.readOrdinaryObject
>> > (ObjectInputStream.java:1719)
>> > at java.io.ObjectInputStream.readObject0
>> > (ObjectInputStream.java:1305)
>> > at java.io.ObjectInputStream.defaultReadFields
>> > (ObjectInputStream.java:1908)
>> > at java.io.ObjectInputStream.readSerialData
>> > (ObjectInputStream.java:1832)
>> > at java.io.ObjectInputStream.readOrdinaryObject
>> > (ObjectInputStream.java:1719)
>> > at java.io.ObjectInputStream.readObject0
>> > (ObjectInputStream.java:1305)
>> > at java.io.ObjectInputStream.readObject
>> > (ObjectInputStream.java:348)
>> > at org.apache.catalina.cluster.session.DeltaRequest
>> > $AttributeInfo.readExternal(DeltaRequest.java:334)
>> > at
>> > org.apache.catalina.cluster.session.DeltaRequest.readExternal
>> > (DeltaRequest.java:246)
>> > at
>> > org.apache.catalina.cluster.session.DeltaManager.loadDeltaRequest
>> > (DeltaManager.java:697)
>> > at
>> >
>> org.apache.catalina.cluster.session.DeltaManager.handleSESSION_DELTA
>> > (DeltaManager.java:1572)
>> > at
>> > org.apache.catalina.cluster.session.DeltaManager.messageReceived
>> > (DeltaManager.java:1522)
>> > at
>> >
>> org.apache.catalina.cluster.session.DeltaManager.messageDataReceived
>> > (DeltaManager.java:1271)
>> > at
>> >
>> org.apache.catalina.cluster.session.ClusterSessionListener.messageRec
>> e
>> > ived(ClusterSessionListener.java:85)
>> > at org.apache.catalina.cluster.tcp.SimpleTcpCluster.receive
>> > (SimpleTcpCluster.java:1167)
>> > at
>> >
>> org.apache.catalina.cluster.tcp.ClusterReceiverBase.messageDataReceiv
>> e
>> > d(ClusterReceiverBase.java:426)
>> > at org.apache.catalina.cluster.io.ObjectReader.execute
>> > (ObjectReader.java:107)
>> > at
>> > org.apache.catalina.cluster.tcp.TcpReplicationThread.drainChannel
>> > (TcpReplicationThread.java:138)
>> > at org.apache.catalina.cluster.tcp.TcpReplicationThread.run
>> > (TcpReplicationThread.java:69)
>> >
>>
>>
>
This archive was generated by hypermail 2.0.0 : Thu Dec 07 2006 - 03:34:20 EST