by loftar » Sat Jun 13, 2009 4:24 am
Indeed. It is that memory corrupting bug that I still haven't managed to hunt down. It's driving me crazy.
My current plan for purging the bastard is as follows; first, I've recompiled the server with profiling support, which should, given a clean shutdown, allow me to get data for doing a few badly needed optimizations in the server, so that it doesn't take the 10% of CPU time that it currently does with people logged in; then, the server being optimized, I should be able to run it in Valgrind, which should be able to find the bug for me. Once it does, I'll dig its heart out with a spoon*!
It's a really odd and amazingly alluring little creature. I'd be partly able to understand it if it were some dangling pointer to reused memory, but it really seems to be corrupting stuff at random, even in areas that don't change at all during the process lifetime. Even worse, I never seem to be able to catch it in action. I'm always only suffering the after-effects, like malloc or free aborting from fence razing. Worse yet, I seem to be completely unable to reproduce it in vitro; it's only you people who actually manage to trigger it for me. I can't wait to get my hands on it. I will sacrifice it to the uncertainty principle (from which it seems to have sprung) along with the blood of virgins once I do.
* Why with a spoon, master? -- Because it's dull, you twit! It'll hurt more!
P.S. I don't manage to do stuff like that normally. Honest! It is a very embarrassing situation for me.
"Object-oriented design is the roman numerals of computing." -- Rob Pike