pool, persistent, persistent-sqlite: Space leak

Hello Michael, hello fellow Haskellers, there seems to be a space leak in either 'pool', 'persistent' or 'persistent-sqlite'. From the behaviour I suspect the bug to be in 'pool'. When I run a transaction in an infinite loop, my program keeps eating more and more memory, even if the transaction itself doesn't do anything: forever $ runSqlPool (return ()) pool This doesn't happen for non-pooled connections, i.e. the following code runs in constant space as expected: forever $ runSqlConn (return ()) conn Versions are pool-0.0.1, persistent-0.4.2, persistent-sqlite-0.4.0. It happens for both file and in-memory databases. Greets, Ertugrul -- nightmare = unsafePerformIO (getWrongWife >>= sex) http://ertes.de/

Good catch, that was most definitely a space leak in pool. I've
uploaded version 0.0.1.1, would you mind testing?
Thanks,
Michael
On Thu, Mar 31, 2011 at 2:52 AM, Ertugrul Soeylemez
Hello Michael, hello fellow Haskellers,
there seems to be a space leak in either 'pool', 'persistent' or 'persistent-sqlite'. From the behaviour I suspect the bug to be in 'pool'. When I run a transaction in an infinite loop, my program keeps eating more and more memory, even if the transaction itself doesn't do anything:
forever $ runSqlPool (return ()) pool
This doesn't happen for non-pooled connections, i.e. the following code runs in constant space as expected:
forever $ runSqlConn (return ()) conn
Versions are pool-0.0.1, persistent-0.4.2, persistent-sqlite-0.4.0. It happens for both file and in-memory databases.
Greets, Ertugrul
-- nightmare = unsafePerformIO (getWrongWife >>= sex) http://ertes.de/
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Michael Snoyman
Good catch, that was most definitely a space leak in pool. I've uploaded version 0.0.1.1, would you mind testing?
Great! I will test it and report back, as soon as I'm at home. Many thanks. Greets, Ertugrul -- nightmare = unsafePerformIO (getWrongWife >>= sex) http://ertes.de/
participants (2)
-
Ertugrul Soeylemez
-
Michael Snoyman