Broken ghc-7.0.3/vector combination?

Daniel Fischer at
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 <
> at> 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 mailing list