A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/msgpack/msgpack-cli/issues/296 below:

v1.0 ArgumentOutOfRangeException for DateTime before 1970 if has milliseconds. Works in 0.9.X · Issue #296 · msgpack/msgpack-cli · GitHub

The code snippet below works with versions 0.9.0, 0.9.1, 0.9.2, but faults on 1.0.0 with this error:

System.ArgumentOutOfRangeException: 'nanoseconds must be non negative value and lessor than 999,999,999. Parameter name: nanoseconds

It seems MsgPack-CLI version 1.0 faults for certain values of DateTime.
Fails: 1969-12-31T23:59:59.001 to 1969-12-31T23:59:59.999
Works: 1969-12-31T23:59:59.000
Works: 1970-01-01

It always seems to work after 1970-01-01 and always fail to serialize dates before 1970-01-01 if and only if the milliseconds are non-zero.

    public class MyClass
    {
        public DateTime MyDate;
    }

    public static void TestBrokenMessagePack()
    {
        var serializerMPMyClass = SerializationContext.Default.GetSerializer<MyClass>();
        using (var stream = new MemoryStream())
        {
            var my = new MyClass
            {
                MyDate =
                DateTime.Parse("1969-12-31T23:59:59.001")
            };
            serializerMPMyClass.Pack(stream, my); // << This line faults
        }
    }

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4