Not so long ago, I was regretting that HandMade Hero was just giving debugging hints for weeks instead of talking of game engine and game design ... And I haven't posted myself anything about developing games but fixing and debugging since then. Hear this, fellow game developer. At some point, either you'll dig deep into … Continue reading Catch that!
Category: guru meditation
Tests passed, Guru still meditating.
It's a bit disappointing: I set up an environment to stress-test the code, make sure uninitialized memory has garbage content, etc, and everything runs fine. I use the same code in SchoolTest (rush) application on real hardware and it crash before starting to run the title screen. What else could I do but add the … Continue reading Tests passed, Guru still meditating.
Leakage: 0%
Un script pour décoder les traces d'allocation de mémoire combinées à un mécanisme qui remplace malloc/free par une progression linéaire dans l'espace-mémoire et j'ai pu éliminer la totalité des fuites de mémoire dans le parsing des scripts.Deuxième étape, une inspection systématique des listes d'animations maintenues par l'Engine lui-même histoire de s'assurer qu'il ne reste aucune … Continue reading Leakage: 0%
The missing frame.
Why is my backtrace-recording code not properly recording backtrace ? And the true question is ... is it really not back-tracing correctly ?malloc < new() < __gnu_cxx::new_allocator < Vector_base < std::vector ... " is missing __gnu_cxx::new_allocator."malloc < new() < TestBasicScript() < main() is missing TestBasicScript.malloc < GameScript ctor < TestBasicScript is complete. good.malloc < operator … Continue reading The missing frame.
Undefined behaviour …
Adding a few sound samples for Bilou's jumps shouldn't have led the game to crash. Really. It shouldn't have. And yet, it had. And with a flavour of deja-vu ...I was using the back() of a std::vector while there was nothing pushed yet. And this is undefined behaviour. My C++ skills still need training. It … Continue reading Undefined behaviour …
segfault.
J'ai tenté une des deux approches me permettant d'avoir une animation d'attente pendant le chargement des niveaux. Et c'est un échec. L'émulateur se plante sur une instruction non-définie en cours de chargement du niveau 1. Le débuggeur fait crasher complètement l'émulateur avant même d'avoir atteint cette instruction.Failed attempt to have some background task running while … Continue reading segfault.
Systematic testing vs. guru meditation
I have a colleague at work who's the expert in buildbots and testbots. I'm very excited to know what he will think about the way I used overlayfs and fakechroot to emulate the install script of the self-upgrade system for the device we're launching. It is not my first try at testing systems -- I … Continue reading Systematic testing vs. guru meditation
reverse emulator bug ?
Je connaissais le bug d'émulation. Vous savez, ce genre de bug qui ne se produit jamais quand vous testez sur émulateur et qui crashe lamentablement le programme dès qu'il tourne sur une vraie plate-forme (généralement parce qu'elle a de la vraie mémoire).Why? I can explain easily a bug that happens only on bare metal, but … Continue reading reverse emulator bug ?
attach/deleteme explain the double-free issue ?
There are a number of things that looks odd in the current animation management code. Why do we try to unregister a new animation every time we're done testing a special block ? How comes Engine::delanim() is invoked both at GameObject destructor and Animator destructor.But that wasn't enough to fix the NastyBug I had, that … Continue reading attach/deleteme explain the double-free issue ?
iScriptException …
Something uncomfortably wrong occurs in the game engine. Objects I'm trying to restore have invalid state attached. I believe this is the reason why there has been "guru meditation" screens during last playtests with friends. It seems linked to abnormal use of the memory: while the infringing object seems to have proper structure, it seems … Continue reading iScriptException …