incubator-yoko-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick McGuire <rick...@gmail.com>
Subject Re: Strange marshaling problem.
Date Wed, 13 Dec 2006 17:48:25 GMT
Dain Sundstrom wrote:
> Just a guess, but are some of the arrays reused? Basically, are they 
> serializing the exact same array instance twice in the same request 
> (or object stream)?  If so, it could be a back reference.
Nope, already been down that path.  There are no indirect references in 
this stream.  The bogus type value is also not the indirection marker, 
which would be "ffffffff". 

Rick


>
> Again, just a guess...
>
> -dain
>
> On Dec 13, 2006, at 9:27 AM, Rick McGuire wrote:
>
>> Oops, never mind the previous.  The test case is populating the 
>> integers using nested loops and using values of (i*j) for the 
>> insertions.  The numbers I'm seeing are the correct sequence.  The 
>> input stream seems to be carrying extra unexpected values.  This is 
>> even more evidence that things are working correctly up to the 
>> failure point.
>>
>> Rick
>>
>>
>> Rick McGuire wrote:
>>> Ok, I've figured out something a little more here.  By checking the 
>>> values of the unmarshalled Integer objects, I've discovered that on 
>>> the array where the error occurs, the unmarshalling is somehow 
>>> skipping values.  The first object read is ok, the second object 
>>> should be third, the 3rd object is the 5th, and the 4th read ends up 
>>> giving the error.  Any suggestions on what could suddenly cause 
>>> values to start getting skipped like this, or where I can try 
>>> probing to find the cause of the error?
>>>
>>> Rick
>>>
>>>
>>> Rick McGuire wrote:
>>>> I'm working on a fairly complicated test case that involves sending 
>>>> and receiving a very large object across RMI.  The object in 
>>>> question is a 3-dimensional array of Vectors.  The Vectors are all 
>>>> 5 elements in size, each element consisting of an Integer 
>>>> instance.  There were a number of problems I needed to fix first in 
>>>> array handling, but things appear to be working correctly now.  The 
>>>> Vectors appear to be deserializing correctly.  Each one contains an 
>>>> Object array that appears to be the correct size.
>>>> The Integers are getting deserialized ok, until around the 50th or 
>>>> so value is read from the stream.  At that point, I'm getting a 
>>>> MARSHAL exception for an invalid value type code.  The bogus value 
>>>> is 0x3800.  I don't know here this value came from, since the 
>>>> serialized object was generated by a Sun RMI server.  Does this 
>>>> value have an special meaning to anybody?  Is it possibly a 
>>>> chunking marker, or is something else going on here?
>>>>
>>>> Rick
>>>>
>>>
>>>
>
>


Mime
View raw message