Description
Game runs death modules and eventually spawns new objects when unloading a level and destroying all objects. This can have unintended consequences, such as crashing the game.
Replay
Replay: crash_debris_owner_pointer.zip
Crash Callstack
> generalszh.exe!Player::getProductionVeterancyLevel(AsciiString buildTemplateName) Line 1997 C++
generalszh.exe!Object::Object(const ThingTemplate * tt, const BitFlags<45> & objectStatusMask, Team * team) Line 478 C++
generalszh.exe!GameLogic::friend_createObject(const ThingTemplate * thing, const BitFlags<45> & statusBits, Team * team) Line 3964 C++
generalszh.exe!ThingFactory::newObject(const ThingTemplate * tmplate, Team * team, BitFlags<45> statusBits) Line 329 C++
generalszh.exe!GenericObjectCreationNugget::reallyCreate(const Coord3D * pos, const Matrix3D * mtx, float orientation, const Object * sourceObj, unsigned int lifetimeFrames) Line 1369 C++
generalszh.exe!GenericObjectCreationNugget::create(const Object * primary, const Object * secondary, unsigned int lifetimeFrames) Line 797 C++
generalszh.exe!ObjectCreationList::createInternal(const Object * primary, const Object * secondary, unsigned int lifetimeFrames) Line 1569 C++
[Inline Frame] generalszh.exe!ObjectCreationList::create(const ObjectCreationList *) Line 163 C++
generalszh.exe!WeaponTemplate::fireWeaponTemplate(const Object * sourceObj, WeaponSlotType wslot, int specificBarrelToUse, Object * victimObj, const Coord3D * victimPos, const WeaponBonus & bonus, bool isProjectileDetonation, bool ignoreRanges, Weapon * firingWeapon, ObjectID * projectileID, bool inflictDamage) Line 976 C++
generalszh.exe!Weapon::privateFireWeapon(const Object * sourceObj, Object * victimObj, const Coord3D * victimPos, bool isProjectileDetonation, bool ignoreRanges, unsigned int extraBonusFlags, ObjectID * projectileID, bool inflictDamage) Line 2644 C++
[Inline Frame] generalszh.exe!Weapon::fireWeapon(const Object *) Line 2727 C++
generalszh.exe!WeaponStore::createAndFireTempWeapon(const WeaponTemplate * wt, const Object * source, const Coord3D * pos) Line 1544 C++
generalszh.exe!FireWeaponWhenDeadBehavior::onDie(const DamageInfo * damageInfo) Line 119 C++
generalszh.exe!Object::onDie(DamageInfo * damageInfo) Line 4563 C++
generalszh.exe!ActiveBody::attemptDamage(DamageInfo * damageInfo) Line 677 C++
generalszh.exe!Object::attemptDamage(DamageInfo * damageInfo) Line 1823 C++
generalszh.exe!Object::kill(DamageType damageType, DeathType deathType) Line 1964 C++
generalszh.exe!ParachuteContain::onRemoving(Object * rider) Line 582 C++
generalszh.exe!OpenContain::removeFromContainViaIterator(std::_List_iterator<std::_List_val<std::_List_simple_types<Object *>>> it, bool exposeStealthUnits) Line 678 C++
generalszh.exe!OpenContain::removeFromContain(Object * rider, bool exposeStealthUnits) Line 410 C++
generalszh.exe!Object::onDestroy() Line 757 C++
generalszh.exe!GameLogic::destroyObject(Object * obj) Line 4005 C++
generalszh.exe!OpenContain::onDelete() Line 846 C++
generalszh.exe!Object::onDestroy() Line 759 C++
generalszh.exe!GameLogic::destroyObject(Object * obj) Line 4005 C++
[Inline Frame] generalszh.exe!GameLogic::destroyAllObjectsImmediate() Line 317 C++
generalszh.exe!GameLogic::reset() Line 451 C++
generalszh.exe!SubsystemInterfaceList::resetAll() Line 188 C++
[Inline Frame] generalszh.exe!GameLogic::isInMultiplayerGame() Line 404 C++
generalszh.exe!GameEngine::reset() Line 697 C++
generalszh.exe!GameLogic::clearGameData(bool showScoreScreen) Line 281 C++
generalszh.exe!GameLogic::logicMessageDispatcher(GameMessage * msg, void * userData) Line 464 C++
generalszh.exe!GameLogic::processCommandList(CommandList * list) Line 2562 C++
generalszh.exe!GameLogic::update() Line 3732 C++
generalszh.exe!SubsystemInterface::UPDATE() Line 79 C++
generalszh.exe!GameEngine::update() Line 759 C++
generalszh.exe!Win32GameEngine::update() Line 93 C++
generalszh.exe!GameEngine::execute() Line 816 C++
generalszh.exe!GameMain(int argc, char * * argv) Line 47 C++
generalszh.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 1038 C++
[Inline Frame] generalszh.exe!invoke_main() Line 102 C++
generalszh.exe!__scrt_common_main_seh() Line 288 C++
kernel32.dll!75aefcc9() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
ntdll.dll!779c82ae() Unknown
ntdll.dll!779c827e() Unknown
ntmarta.dll!70207369() Unknown