From: Raphael M. <Rap...@po...> - 2012-05-22 06:07:53
|
Despite the known latent memory bugs, I have decided to code-freeze the current git "devel" branch and make it a candidate release. There are two main memory bugs that I know of: a huge memory leak (only witnessed by one person, systematicallu) and a random malloc() freelist corruption that happens from time to time. The memory leak I have plans to address, but this will require significant new developments that would delay the release. Since it only affects one person, it's something that can be postponed a little bit. The random malloc() corruption is more problematic. It hit me twice in the same day, and now it's "gone". This tends to mean that it's due to a corner- case somewhere in my malloc() implementation, not a systematic corruption from the user code. However, so far, the malloc() code has withstood careful code reviews and the user code is too vast to leave finding that bug to chance. The "workaround" for the malloc() bug is to start gtk-gnutella with the --restart-on-crash option which usually allows GTKG to re-launch itself following an assertion failure. Due to the periodic and frequent context saving to disk, not much state is lost, although of course it disrupts normal operations. This has to be balanced with the fact that 0.98.2 has known bugs that have been fixed in 0.98.3, some of them important. Hence the decision. Please make sure to grab the latest "devel" branch and test it thoroughly if you can recompile your gtk-gnutella. I'm planning to release at the beginning of June, in roughly two weeks. Changes to "devel" will now be limited to bug fixes, no new features. Thanks for your support during this testing phase, especially on 64-bit platforms and on Windows, which I don't easily have access to. Raphael |