Broken ghc-7.0.3/vector combination?
daniel.is.fischer at googlemail.com
Wed Apr 20 21:01:31 CEST 2011
On Wednesday 20 April 2011 20:25:34, Bryan O'Sullivan wrote:
> On Wed, Apr 20, 2011 at 10:44 AM, Daniel Fischer <
> daniel.is.fischer at googlemail.com> wrote:
> > I'll prepare a bundle, I'm afraid it won't be small, though. And it
> > might be architecture dependent, so I can't guarantee that you will
> > be able to reproduce it. But Bryan said on IRC yesterday that others
> > have reported similar issues with criterion output, so it may well be
> > cross-platform reproducible.
> Daniel, are you sure this is down to a 7.0.2/7.0.3 difference, and not
> perhaps due to just a bug in criterion itself?
I'm sure it's not criterion, because after I've found that NaNs were
introduced to the resamples vectors during sorting (check the entire
vectors for NaNs before and aftersorting, tracing the count; before: 0,
afterwards often quite a number, sometimes close to 10%), the further tests
didn't involve criterion anymore. criterion is simply the most obvious
place to see the NaNs show up (with 5-10% NaNs among the resamples, it
won't take too long to see one pop up).
It could be a bug in statistics, but I'm pretty sure this one's not due to
statistics either, since fiddling with vector-algorithms made the NaNs
disappear - btw., Bryan, using the heap sort instead of introsort, I
haven't found any NaNs in my tests, so temporarily switching the algorithm
might cure the symptoms.
Dan Doel and I spent not too little time scrutinising the vector-algorithms
code without finding an issue. Also, replacing the unsafe access with
bounds-checked access (apparently) eliminated the NaNs, and 7.0.1 and 7.0.2
didn't produce any in my tests, yet more points to believe that it's none
of these packages producing the behaviour, but rather something that
changed between 7.0.2 and 7.0.3 -- however, so far in this matter my
guesses as to what's responsible have been wrong, so I wouldn't be
surprised if it's something entirely different.
More information about the Glasgow-haskell-users