You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Alexey Kukushkin (Jira)" <ji...@apache.org> on 2020/04/02 22:02:00 UTC

[jira] [Created] (IGNITE-12860) .NET NullReferenceException when serializing fields of the same type in different order

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)