fslaborg / Deedle

Easy to use .NET library for data and time series manipulation and for scientific programming
http://fslab.org/Deedle/
BSD 2-Clause "Simplified" License
933 stars 195 forks source link

Testing Travis update to Mono 3.2.8 #275

Closed dsyme closed 9 years ago

adamklein commented 9 years ago

@tpetricek FYI the failures in the associated Travis CI build above are exactly what I was seeing when I test/built locally on Mac OSX using Xamarin Studio's mono.

tpetricek commented 9 years ago

Sadly, I don't have a Mac to try this myself at the moment - @dsyme do you have and idea what might be causing this?

dsyme commented 9 years ago

Looking at the log, all the errors except one look like this:

System.IndexOutOfRangeException : Array index is out of range. at Deedle.Vectors.ArrayVector.ArrayVectorBuilder.Deedle-Vectors-IVectorBuilder-Build[IVector]

The "Build" implementation of IVectorBuilder is pretty long. I notice a lot of array accesses in that, but also a couple of array slices. One possible cause is an F# 3.x change to give consistency in raising IndexOutOfRangeException when a negative index is used in a slicing range s1.[.. -1], see https://github.com/fsharp/fsharp/commit/d8ee80fe45c348cb98fd13d8649993e09131cfa0.

But I suspect some broken array indexing in that method. It might be necessary to adjust this PR to put some post-hoc logging into that method at each array access or array slice to try to work out what's wrong

Thre is also a test failure bout producng documentation where FSHarp.Data is not found. But I'd recommend fixing the IndexOutOfRange exception first.

dsyme commented 9 years ago

Trialling some logging and a 3.10.0 update here: https://github.com/BlueMountainCapital/Deedle/pull/278

dsyme commented 9 years ago

Let's continue the discussion on that thread - #278

dsyme commented 9 years ago

OK, see #278, #279 and #280

dsyme commented 9 years ago

After #279 and #280 are accepted, the travis update in #278 should be made (but do not accept #278 since it contains all the logging junk)