Alo Sarv
lead developer

Donate via

Latest Builds

version 0.3
tar.gz tar.bz2
Boost 1.33.1 Headers
MLDonkey Downloads Import Module Development
Payment completed
Development in progress.
Developer's Diary

Tuesday, March 01, 2005

Networking fixed (hopefully); no progress at dead-compiler-land

Was hoping to take today off development to gather some strength after last weeks extensive development, however, one thing led to another, and here I am again, writing blog post with progress reports. Damn you chemical :)

One topic of discussion was the problems regarding hydranode networking kinda dieing after 6-8 hour uptime. While for a long time, we were blaming chemical's ISP changing his IP address every day 6am, thorough investigation actually turned out that it wasn't the issue at all. Suspicions started raising about internal hydranode resource leak problems (noticining that memory usage had raised to 30+mb after 6h uptime). At the end of the day, I believe I found at least one bug and squashed it - namely we weren't lowering active connections counter when a socket was deleted w/o being explicitly or implicitly disconnected prior to that. While this seems to have cleared up the networking system shutting down after 8 hours uptime, there still seems to be some memory leaks hiding somewhere around the corner - with some 2000 sources and 20 temp files, I'm still getting like 30+mb memory usage, and raising...

Other topic was the compiler crashes on darwin (and on some old linux distros, e.g. suse 8.2). We'v been discussing the topics with MultiIndex library author via e-mail, however, with little progress. While Boost 1.33 snapshot does lower the symbol lengths generated by MultiIndex library, it seems it's not the only issue. Considering that Boost.MultiIndex is most useful at locations which are already big and complex to start with, MultiIndex tends to add that last feather that breaks the camels back. In current state, while most GCC 3.2+ compilers handle it nicely, on darwin they crash (request: someone owning a fast mac could perhaps try compiling vanilla GCC 3.4 and compiling hydranode with it?) . MSVC 7.1 crashes on four files in ed2k module right now, with little or no hints towards how to resolve it. Worst-case scenario? Drop support for all compilers below GCC 3.4 on OSX and Win32. Linux port wouldn't be affected by this, and end-users should never have to compile hydranode, so it wouldn't be a big loss...

Madcat, ZzZz

PS: Check out the new real-time speed-o-meter in hydranode output last line :P

Comments: Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?