Run the following test code, it will throw "Object reference not set to an instance of an object" in KeyValuePairComparer<TKey, TValue> class:


        private static void TestByteArray()
        {
            using (IStorageEngine engine = STSdb.FromFile("test.stsdb4"))
            {
                //part 1
                var table1 = engine.OpenXTable<string, byte[]>("binary");
                var b1 = new byte[] { 0x01, 0x02, 0x03, 0x04 };
                table1["b"] = b1;
                engine.Commit();


                var b2 = table1["b"];
                Debug.Assert(b2 != null);




                //part 2
                var table2 = engine.OpenXTable<byte[], string>("guid");
                var k = Guid.NewGuid().ToByteArray();
                var v = "value";
                table2[k] = v;
                engine.Commit();


                var v2 = table2[k];
                Debug.Assert(v == v2);
            }
        }
If you run part1 or part2 separately, it is fine.