Alexey Kukushkin created IGNITE-12860:
-----------------------------------------

             Summary: .NET NullReferenceException when serializing fields of 
the same type in different order
                 Key: IGNITE-12860
                 URL: https://issues.apache.org/jira/browse/IGNITE-12860
             Project: Ignite
          Issue Type: Bug
    Affects Versions: 2.8
            Reporter: Alexey Kukushkin
            Assignee: Pavel Tupitsyn


.NET NullReferenceException when serializing fields of the same type in 
different order

+*Steps to reproduce*+:
 * Implement IBinarizable for a type having multiple fields and randomly select 
subset of the fields in the  IBinarizable.WriteBinary implementation
 * Serialize the type multiple times

+*Actual result*+:

Eventual NullReferenceException at some iteration of serialization:

{{Object reference not set to an instance of an object.  }}{{at 
Apache.Ignite.Core.Impl.Binary.Structure.BinaryStructure.GetFieldId(String 
fieldName, Byte fieldType, Int32& pathIdx, Int32 actionIdx)}}{{   at 
Apache.Ignite.Core.Impl.Binary.Structure.BinaryStructureTracker.GetFieldId(String
 fieldName, Byte fieldTypeId)}}{{   at 
Apache.Ignite.Core.Impl.Binary.BinaryWriter.WriteFieldId(String fieldName, Byte 
fieldTypeId)}}{{   at 
Apache.Ignite.Core.Impl.Binary.BinaryWriter.WriteInt(String fieldName, Int32 
val)}}{{   at 
Sbt.Cashflow.Grid.Ignite.Serialization.<>c.<.cctor>b__8_26(IBinaryWriter w, 
String k, Object v) in 
d:\Repos\Sbt.CMS.Cashflow\sbt.cashflow.grid.subrepo\Sbt.Cashflow.Grid\Sbt.Cashflow.Grid\Ignite\Serialization.cs:line
 231}}{{   at Sbt.Cashflow.Grid.Ignite.Serialization.Write(IBinaryWriter 
writer, Type type, String name, Object val) in 
d:\Repos\Sbt.CMS.Cashflow\sbt.cashflow.grid.subrepo\Sbt.Cashflow.Grid\Sbt.Cashflow.Grid\Ignite\Serialization.cs:line
 51}}{{   at 
Sbt.CMS.Infrastructure.Ignite.Objects.CacheItem.WriteBinary(IBinaryWriter 
writer) in 
d:\Repos\Sbt.CMS.Cashflow\sbt.cms.subrepo\Sbt.CMS.Infrastructure\Ignite\Objects\CacheItem.cs:line
 162}}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to