On Fri, Jun 10, 2016 at 12:07:45PM +0100, Brian Foley wrote: > On Fri, Jun 10, 2016 at 12:33:23PM +0200, 'Iustin Pop' via ganeti-devel wrote: > > On Fri, Jun 10, 2016 at 12:30:03PM +0200, Iustin Pop wrote: > > > It looks like commit c429dd26 introduced the use of atomicModifyIORef', > > > which > > > is only present in base 4.6 (GHC 7.6). Let's temporarily fix that by > > > adding a > > > small compat layer (which undoes the optimisations of using strict on > > > 7.4, but > > > at least it works), until we decide to officially drop support for 7.4. > > > > Forgot to add that I manually tested this on both ghc 7.4 (wheezy) and > > 7.6.3. > > > > iustin > > Thanks. > > I also noticed this problem later on when reading some the docs, but didn't > get around to fixing it. Given the memory leak was pretty severe, could we > just > put the implementation of atomicModifyIORef' from base-4.6.0.0 into the #ifdef > rather than making it non-strict? > > https://hackage.haskell.org/package/base-4.6.0.0/docs/src/Data-IORef.html#line-132
Good point. I chose the lazier way as I was not sure we care about wheezy performance, but this is trivial enough indeed. > Also, could you make this patch against stable-2.15 please (given that's where > atomicModifyIORef' was introduced). I'll merge it forward to all the newer > branches. Sure thing! I looked at the commit and it was not included in any tag (git describe --contains), so I thought it was done on master. thanks, iustin
