You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
v1.0 ArgumentOutOfRangeException for DateTime before 1970 if has milliseconds. Works in 0.9.X #296
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
}
}
It looks a bug for conversion for new timestamp type, but this failure caused by unintended breaking change for date time serialization. I will add mitigation to this with timestamp conversion related bug fix.
Activity
yfakariya commentedon Jul 16, 2018
Thank you for reporting. I will investigate this.
yfakariya commentedon Sep 5, 2018
It looks a bug for conversion for new timestamp type, but this failure caused by unintended breaking change for date time serialization. I will add mitigation to this with timestamp conversion related bug fix.
Fix exception in conversion from DateTime[Offset] to Timestamp. #296
Fix exception in conversion from DateTime[Offset] to Timestamp. #296
Fix exception in conversion from DateTime[Offset] to Timestamp. #296
Fix exception in conversion from DateTime[Offset] to Timestamp. #296
Merge pull request #303 from msgpack/fix/#296-1.1