As you may have read before, any time one of my games crashes, I get a crash report including a stack trace in my inbox. This has helped me immensely in debugging the games - almost every game logic bug is gone. Now most the reports I get are weird crashes, such as segfaults in relatively innocuous destructors (ie when the game is shutting down, a String destructor, or a Hash destructor that just deletes its nodes). Today I realized that most if not all of the weird crashes come from the Windows versions, even though I get a similar number of Windows and Mac downloads; and despite the fact that ~95% of the code is shared among the Windows, Mac and Linux versions (and the remaining 5% is usually not where the crashes are). So with the same code base I get weird crashes in Windows but not in Linux (which I use all the time while developing) or Mac. Valgrind doesn't detect any memory problems. I have a few far-fetched theories such as compiler bugs or OS memory allocator bugs, but obviously the sane thing to do is to avoid considering these possibilities, and work assuming the bugs are somewhere else. Does anyone have a theory, no matter how improbable it may sound, about what can be causing this crashes? Does any of you have any experience with similar situations?