Bug #2275
[Hexen] SIGSEGV in Mobj_PrivateID when returning from Wastelands to Shadow Wood
Start date:
2018-07-31
% Done:
100%
Description
This always happens when i'm trying to return from the Wastelands to Shadow Wood Level. Doomsday Version 2.1 Build #2767. Backtrace follows:
#0 0x00007effb1d5f86c in Mobj_PrivateID (mob=0x2b041430) at /home/chris/sources/Doomsday-Engine/doomsday/apps/plugins/common/src/world/mobj.cpp:242 td = 0x1 #1 0x00007effb1d614a9 in Mobj_StateAsInfo (mob=0x7effc22f5d58) at /home/chris/sources/Doomsday-Engine/doomsday/apps/plugins/common/src/world/mobj.cpp:1085 str = {static null = {<No data fields>}, d = 0x562e120bfcb0} os = <incomplete type> #2 0x0000562dfa30439b in world::Map::<lambda(thinker_t*)>::operator()(thinker_t *) const (__closure=0x7ffd2e6c1270, th=0x7effc22f5d58) at /home/chris/sources/Doomsday-Engine/doomsday/apps/client/src/world/base/map.cpp:3126 os = @0x7ffd2e6c1260: <incomplete type> #3 0x0000562dfa30b80e in std::_Function_handler<de::LoopResult(thinker_s*), world::Map::objectsDescription() const::<lambda(thinker_t*)> >::_M_invoke(const std::_Any_data &, thinker_s *&&) (__functor=..., __args#0=@0x7ffd2e6c11b0: 0x7effc22f5d58) at /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/g++-v7/bits/std_function.h:301 No locals. #4 0x0000562dfa350aaf in std::function<de::LoopResult (thinker_s*)>::operator()(thinker_s*) const (this=0x7ffd2e6c1270, __args#0=0x7effc22f5d58) at /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/include/g++-v7/bits/std_function.h:706 No locals. #5 0x0000562dfa34e83f in world::Thinkers::forAll(unsigned char, std::function<de::LoopResult (thinker_s*)>) const (this=0x7effb40a90b0, flags=3 '\003', func=...) at /home/chris/sources/Doomsday-Engine/doomsday/apps/client/src/world/base/thinkers.cpp:351 result = {value = 0} next = 0x7effc22f5f98 list = 0x7effb5e9fd40 th = 0x7effc22f5d58 i = 0 #6 0x0000562dfa30449c in world::Map::objectsDescription (this=0x562dfc792a50) at /home/chris/sources/Doomsday-Engine/doomsday/apps/client/src/world/base/map.cpp:3122 str = {<QString> = {static null = {<No data fields>}, d = 0x562e11f69f10}, static npos = -1} os = <incomplete type> #7 0x0000562df9ffba0a in ClientApp::gameSessionWasSaved (this=0x7ffd2e6c3220, session=..., toFolder=...) at /home/chris/sources/Doomsday-Engine/doomsday/apps/client/src/clientapp.cpp:754 file = @0x562e03a0feb0: {<de::filesys::Node> = {<de::Lockable> = {_mutex = {<std::__recursive_mutex_base> = {_M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, __align = 0}}, <No data fields>}}, <de::Deletable> = { _vptr.Deletable = 0x7efff51d9368 <vtable for de::ArchiveEntryFile+16>, audienceForDeletion = {<de::Lockable> = {_mutex = {<std::__recursive_mutex_base> = { _M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, __align = 0}}, <No data fields>}}, <de::IAudience> = { _vptr.IAudience = 0x562dfa760818 <vtable for de::Observers<de::Deletable::IDeletionObserver>+16>}, _members = {<de::PointerSet> = { static AllowInsertionDuringIteration = 32768, _pointers = 0x562e03a1c790, _iterationObserver = 0x0, _flags = 0, _size = 2, _range = {start = 1, end = 2}}, <No data fields>}}}, d = {ptr = 0x562e03a27440}}, <de::IIOStream> = {<de::IIStream> = { _vptr.IIStream = 0x7efff51d9420 <vtable for de::ArchiveEntryFile+200>}, <de::IOStream> = { _vptr.IOStream = 0x7efff51d9450 <vtable for de::ArchiveEntryFile+248>}, <No data fields>}, <de::IObject> = { _vptr.IObject = 0x7efff51d9478 <vtable for de::ArchiveEntryFile+288>}, d = {ptr = 0x562e120bd7c0}} mapId = {<QString> = {static null = {<No data fields>}, d = 0x7effdc019db0}, static npos = -1} #8 0x00007effb1d1e39c in common::GameSession::Impl::serializeCurrentMapState (this=0x562dfd3b8f20, dest=..., saveFolder=..., excludePlayers=false) at /home/chris/sources/Doomsday-Engine/doomsday/apps/plugins/common/src/game/gamesession.cpp:252 data = {<QByteArray> = {d = 0x562e12115e30}, <de::IByteArray> = {_vptr.IByteArray = 0x7efff51d52b0 <vtable for de::Block+16>}, <de::IBlock> = { _vptr.IBlock = 0x7efff51d5318 <vtable for de::Block+120>}, <de::ISerializable> = {<de::IWritable> = { _vptr.IWritable = 0x7efff51d5358 <vtable for de::Block+184>}, <de::IReadable> = { _vptr.IReadable = 0x7efff51d5380 <vtable for de::Block+224>}, <No data fields>}, <No data fields>} writer = 0x562e120bdbb0 mapStateWriter = {d = {ptr = 0x562e121013d0}} #9 0x00007effb1d1bd4d in common::GameSession::leaveMap (this=0x7effb1ff9620 <common::theSession>, nextMapUri=..., nextMapEntryPoint=3) at /home/chris/sources/Doomsday-Engine/doomsday/apps/plugins/common/src/game/gamesession.cpp:1307 metadata = {<de::Record> = {<de::RecordAccessor> = {_rec = 0x7ffd2e6c14b0}, <de::ISerializable> = {<de::IWritable> = { _vptr.IWritable = 0x7efff7e8b430 <vtable for GameStateFolder::Metadata+16>}, <de::IReadable> = { _vptr.IReadable = 0x7efff7e8b470 <vtable for GameStateFolder::Metadata+80>}, <No data fields>}, <de::LogEntry::Arg::Base> = { _vptr.Base = 0x7efff7e8b498 <vtable for GameStateFolder::Metadata+120>}, static VAR_SUPER = {<QString> = {static null = {<No data fields>}, d = 0x562dfc498640}, static npos = -1}, static VAR_FILE = {<QString> = {static null = {<No data fields>}, d = 0x562dfc498680}, static npos = -1}, static VAR_INIT = {<QString> = {static null = {<No data fields>}, d = 0x562dfc498f10}, static npos = -1}, static VAR_NATIVE_SELF = {<QString> = { static null = {<No data fields>}, d = 0x562dfc499040}, static npos = -1}, d = {ptr = 0x562e120befb0}}, <No data fields>} mapsFolder = @0x562dfda29ce0: {<de::File> = {<de::filesys::Node> = {<de::Lockable> = {_mutex = {<std::__recursive_mutex_base> = {_M_mutex = {__data = { __lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, __align = 0}}, <No data fields>}}, <de::Deletable> = { _vptr.Deletable = 0x7efff51da680 <vtable for de::Folder+16>, audienceForDeletion = {<de::Lockable> = {_mutex = {<std::__recursive_mutex_base> = { _M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, __align = 0}}, <No data fields>}}, <de::IAudience> = { _vptr.IAudience = 0x562dfa760818 <vtable for de::Observers<de::Deletable::IDeletionObserver>+16>}, _members = {<de::PointerSet> = { static AllowInsertionDuringIteration = 32768, _pointers = 0x562e03a0e280, _iterationObserver = 0x0, _flags = 0, _size = 2, _range = {start = 1, end = 2}}, <No data fields>}}}, d = {ptr = 0x562e03a2c080}}, <de::IIOStream> = {<de::IIStream> = { _vptr.IIStream = 0x7efff51da738 <vtable for de::Folder+200>}, <de::IOStream> = { _vptr.IOStream = 0x7efff51da768 <vtable for de::Folder+248>}, <No data fields>}, <de::IObject> = { _vptr.IObject = 0x7efff51da790 <vtable for de::Folder+288>}, d = {ptr = 0x562dfda1c760}}, d = {ptr = 0x562e01aeaf20}} outFile = @0x562e03a0fbf0: {<de::filesys::Node> = {<de::Lockable> = {_mutex = {<std::__recursive_mutex_base> = {_M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, __align = 0}}, <No data fields>}}, <de::Deletable> = { _vptr.Deletable = 0x7efff51d9368 <vtable for de::ArchiveEntryFile+16>, audienceForDeletion = {<de::Lockable> = {_mutex = {<std::__recursive_mutex_base> = { _M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, __align = 0}}, <No data fields>}}, <de::IAudience> = { _vptr.IAudience = 0x562dfa760818 <vtable for de::Observers<de::Deletable::IDeletionObserver>+16>}, _members = {<de::PointerSet> = { static AllowInsertionDuringIteration = 32768, _pointers = 0x562e11fd0080, _iterationObserver = 0x0, _flags = 0, _size = 2, _range = {start = 1, end = 2}}, <No data fields>}}}, d = {ptr = 0x562e03a10760}}, <de::IIOStream> = {<de::IIStream> = { _vptr.IIStream = 0x7efff51d9420 <vtable for de::ArchiveEntryFile+200>}, <de::IOStream> = { _vptr.IOStream = 0x7efff51d9450 <vtable for de::ArchiveEntryFile+248>}, <No data fields>}, <de::IObject> = { _vptr.IObject = 0x7efff51d9478 <vtable for de::ArchiveEntryFile+288>}, d = {ptr = 0x562e00162fb0}} playerBackup = {{player = {plr = 0x562dfc5b84d8, playerState = PST_LIVE, class_ = PCLASS_MAGE, brain = {forwardMove = 1, sideMove = 0, upMove = 0, changeWeapon = 5, cycleWeapon = 0, cycleInvItem = 0, speed = 0, use = 0, lunge = 0, attack = 0, lookCenter = 0, fallDown = 0, jump = 0, mapToggle = 0, mapZoomMax = 0, mapFollow = 0, mapRotate = 0, mapMarkAdd = 0, mapMarkClearAll = 0, hudShow = 0, scoreShow = 0, doReborn = 0, useInvItem = 0, logRefresh = 0}, flyHeight = 0, health = 100, armorPoints = {0, 0, 0, 0}, powers = {0, 0, 0, 0, 0, 0, 0, 0, 0}, keys = 256, pieces = 4, readyWeapon = WT_THIRD, pendingWeapon = WT_NOCHANGE, weapons = {{owned = 1}, {owned = 1}, {owned = 1}, {owned = 0}}, ammo = {{owned = 173}, {owned = 51}}, attackDown = 0, useDown = 0, cheats = 0, frags = {0, 0, 0, 0, 0, 0, 0, 0}, refire = 0, killCount = 0, itemCount = 0, secretCount = 0, damageCount = 0, bonusCount = 0, poisonCount = 0, poisoner = 0x0, attacker = 0x7effc2dc1c80, colorMap = 0, pSprites = {{state = 0x7eff1e274db0, tics = 1, pos = { -2.11523438, 47.6936035}}, {state = 0x0, tics = 0, pos = {-2.11523438, 47.6936035}}}, morphTics = 0, jumpTics = 0, airCounter = -299, rebornWait = 0, centering = 0, worldTimer = 327157, update = 16400, startSpot = 0, overridePalette = 0, viewOffset = {0, 0, -0.00915527344}, viewZ = 256, viewHeight = 48, viewHeightDelta = 0, bob = 16, viewLock = 0x0, lockFull = 0}, numInventoryItems = {9, 1, 4, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 2, 0 <repeats 17 times>}, readyItem = IIT_HEALTH}, {player = {plr = 0x562dfc527ad8, playerState = PST_LIVE, class_ = PCLASS_FIRST, brain = {forwardMove = 0, sideMove = 0, upMove = 0, changeWeapon = 0, cycleWeapon = 0, cycleInvItem = 0, speed = 0, use = 0, lunge = 0, attack = 0, lookCenter = 0, fallDown = 0, jump = 0, mapToggle = 0, mapZoomMax = 0, mapFollow = 0, mapRotate = 0, mapMarkAdd = 0, mapMarkClearAll = 0, hudShow = 0, scoreShow = 0, doReborn = 0, useInvItem = 0, logRefresh = 0}, flyHeight = 0, health = 0, armorPoints = {0, 0, 0, 0}, powers = {0, 0, 0, 0, 0, 0, 0, 0, 0}, keys = 0, pieces = 0, readyWeapon = WT_FIRST, pendingWeapon = WT_FIRST, weapons = {{owned = 0}, {owned = 0}, {owned = 0}, {owned = 0}}, ammo = {{owned = 0}, {owned = 0}}, attackDown = 0, useDown = 0, cheats = 0, frags = {0, 0, 0, 0, 0, 0, 0, 0}, refire = 0, killCount = 0, itemCount = 0, secretCount = 0, damageCount = 0, bonusCount = 0, poisonCount = 0, poisoner = 0x0, attacker = 0x0, colorMap = 0, pSprites = {{state = 0x0, tics = 0, pos = {0, 0}}, {state = 0x0, tics = 0, pos = {0, 0}}}, morphTics = 0, jumpTics = 0, airCounter = 0, rebornWait = 0, centering = 0, worldTimer = 0, update = 2048, startSpot = 0, overridePalette = 0, viewOffset = {0, 0, 0}, viewZ = 0, viewHeight = 0, viewHeightDelta = 0, bob = 0, viewLock = 0x0, lockFull = 0}, numInventoryItems = { 0 <repeats 33 times>}, readyItem = IIT_NONE}, {player = {plr = 0x562dfc6722d8, playerState = PST_LIVE, class_ = PCLASS_FIRST, brain = {forwardMove = 0, sideMove = 0, upMove = 0, changeWeapon = 0, cycleWeapon = 0, cycleInvItem = 0, speed = 0, use = 0, lunge = 0, attack = 0, lookCenter = 0, fallDown = 0, jump = 0, mapToggle = 0, mapZoomMax = 0, mapFollow = 0, mapRotate = 0, mapMarkAdd = 0, mapMarkClearAll = 0, hudShow = 0, scoreShow = 0, doReborn = 0, useInvItem = 0, logRefresh = 0}, flyHeight = 0, health = 0, armorPoints = {0, 0, 0, 0}, powers = {0, 0, 0, 0, 0, 0, 0, 0, 0}, keys = 0, pieces = 0, readyWeapon = WT_FIRST, pendingWeapon = WT_FIRST, weapons = {{owned = 0}, {owned = 0}, {owned = 0}, {owned = 0}}, ammo = {{owned = 0}, {owned = 0}}, attackDown = 0, useDown = 0, cheats = 0, frags = {0, 0, 0, 0, 0, 0, 0, 0}, refire = 0, killCount = 0, itemCount = 0, secretCount = 0, damageCount = 0, bonusCount = 0, poisonCount = 0, poisoner = 0x0, attacker = 0x0, colorMap = 0, pSprites = {{state = 0x0, tics = 0, pos = {0, 0}}, {state = 0x0, tics = 0, pos = {0, 0}}}, morphTics = 0, jumpTics = 0, airCounter = 0, rebornWait = 0, centering = 0, worldTimer = 0, update = 2048, startSpot = 0, overridePalette = 0, viewOffset = {0, 0, 0}, viewZ = 0, viewHeight = 0, viewHeightDelta = 0, bob = 0, viewLock = 0x0, lockFull = 0}, numInventoryItems = { 0 <repeats 33 times>}, readyItem = IIT_NONE}, {player = {plr = 0x562dfc59d648, playerState = PST_LIVE, class_ = PCLASS_FIRST, brain = {forwardMove = 0, sideMove = 0, upMove = 0, changeWeapon = 0, cycleWeapon = 0, cycleInvItem = 0, speed = 0, use = 0, lunge = 0, attack = 0, lookCenter = 0, fallDown = 0, jump = 0, mapToggle = 0, mapZoomMax = 0, mapFollow = 0, mapRotate = 0, mapMarkAdd = 0, mapMarkClearAll = 0, hudShow = 0, scoreShow = 0, doReborn = 0, useInvItem = 0, logRefresh = 0}, flyHeight = 0, health = 0, armorPoints = {0, 0, 0, 0}, powers = {0, 0, 0, 0, 0, 0, 0, 0, 0}, keys = 0, pieces = 0, readyWeapon = WT_FIRST, pendingWeapon = WT_FIRST, weapons = {{owned = 0}, {owned = 0}, {owned = 0}, {owned = 0}}, ammo = {{owned = 0}, {owned = 0}}, attackDown = 0, useDown = 0, cheats = 0, frags = {0, 0, 0, 0, 0, 0, 0, 0}, refire = 0, killCount = 0, itemCount = 0, secretCount = 0, damageCount = 0, bonusCount = 0, poisonCount = 0, poisoner = 0x0, attacker = 0x0, colorMap = 0, pSprites = {{state = 0x0, tics = 0, pos = {0, 0}}, {state = 0x0, tics = 0, pos = {0, 0}}}, morphTics = 0, jumpTics = 0, airCounter = 0, rebornWait = 0, centering = 0, worldTimer = 0, update = 2048, startSpot = 0, overridePalette = 0, viewOffset = {0, 0, 0}, viewZ = 0, viewHeight = 0, viewHeightDelta = 0, bob = 0, viewLock = 0x0, lockFull = 0}, numInventoryItems = { 0 <repeats 33 times>}, readyItem = IIT_NONE}, {player = {plr = 0x562dfc6b2818, playerState = PST_LIVE, class_ = PCLASS_FIRST, brain = {forwardMove = 0, sideMove = 0, upMove = 0, changeWeapon = 0, cycleWeapon = 0, cycleInvItem = 0, speed = 0, use = 0, lunge = 0, attack = 0, lookCenter = 0, fallDown = 0, jump = 0, mapToggle = 0, mapZoomMax = 0, mapFollow = 0, mapRotate = 0, mapMarkAdd = 0, mapMarkClearAll = 0, hudShow = 0, scoreShow = 0, doReborn = 0, useInvItem = 0, logRefresh = 0}, flyHeight = 0, health = 0, armorPoints = {0, 0, 0, 0}, powers = {0, 0, 0, 0, 0, 0, 0, 0, 0}, keys = 0, pieces = 0, readyWeapon = WT_FIRST, pendingWeapon = WT_FIRST, weapons = {{owned = 0}, {owned = 0}, {owned = 0}, {owned = 0}}, ammo = {{owned = 0}, {owned = 0}}, attackDown = 0, useDown = 0, cheats = 0, frags = {0, 0, 0, 0, 0, 0, 0, 0}, refire = 0, killCount = 0, itemCount = 0, secretCount = 0, damageCount = 0, bonusCount = 0, poisonCount = 0, poisoner = 0x0, attacker = 0x0, colorMap = 0, pSprites = {{state = 0x0, tics = 0, pos = {0, 0}}, {state = 0x0, tics = 0, pos = {0, 0}}}, morphTics = 0, jumpTics = 0, airCounter = 0, rebornWait = 0, centering = 0, worldTimer = 0, update = 2048, startSpot = 0, overridePalette = 0, viewOffset = {0, 0, 0}, viewZ = 0, viewHeight = 0, viewHeightDelta = 0, bob = 0, viewLock = 0x0, lockFull = 0}, numInventoryItems = { 0 <repeats 33 times>}, readyItem = IIT_NONE}, {player = {plr = 0x562dfc6b6628, playerState = PST_LIVE, class_ = PCLASS_FIRST, brain = {forwardMove = 0, sideMove = 0, upMove = 0, changeWeapon = 0, cycleWeapon = 0, cycleInvItem = 0, speed = 0, use = 0, lunge = 0, attack = 0, lookCenter = 0, fallDown = 0, jump = 0, mapToggle = 0, mapZoomMax = 0, mapFollow = 0, mapRotate = 0, mapMarkAdd = 0, mapMarkClearAll = 0, hudShow = 0, scoreShow = 0, doReborn = 0, useInvItem = 0, logRefresh = 0}, flyHeight = 0, health = 0, armorPoints = {0, 0, 0, 0}, powers = {0, 0, 0, 0, 0, 0, 0, 0, 0}, keys = 0, pieces = 0, readyWeapon = WT_FIRST, pendingWeapon = WT_FIRST, weapons = {{owned = 0}, {owned = 0}, {owned = 0}, {owned = 0}}, ammo = {{owned = 0}, {owned = 0}}, attackDown = 0, useDown = 0, cheats = 0, frags = {0, 0, 0, 0, 0, 0, 0, 0}, refire = 0, killCount = 0, itemCount = 0, secretCount = 0, damageCount = 0, bonusCount = 0, poisonCount = 0, poisoner = 0x0, attacker = 0x0, colorMap = 0, pSprites = {{state = 0x0, tics = 0, pos = {0, 0}}, {state = 0x0, tics = 0, pos = {0, 0}}}, morphTics = 0, jumpTics = 0, airCounter = 0, rebornWait = 0, centering = 0, worldTimer = 0, update = 2048, startSpot = 0, overridePalette = 0, viewOffset = {0, 0, 0}, viewZ = 0, viewHeight = 0, viewHeightDelta = 0, bob = 0, viewLock = 0x0, lockFull = 0}, numInventoryItems = { 0 <repeats 33 times>}, readyItem = IIT_NONE}, {player = {plr = 0x562dfc6f7818, playerState = PST_LIVE, class_ = PCLASS_FIRST, brain = {forwardMove = 0, sideMove = 0, upMove = 0, changeWeapon = 0, cycleWeapon = 0, cycleInvItem = 0, speed = 0, use = 0, lunge = 0, attack = 0, lookCenter = 0, fallDown = 0, jump = 0, mapToggle = 0, mapZoomMax = 0, mapFollow = 0, mapRotate = 0, mapMarkAdd = 0, mapMarkClearAll = 0, hudShow = 0, scoreShow = 0, doReborn = 0, useInvItem = 0, logRefresh = 0}, flyHeight = 0, health = 0, armorPoints = {0, 0, 0, 0}, powers = {0, 0, 0, 0, 0, 0, 0, 0, 0}, keys = 0, pieces = 0, readyWeapon = WT_FIRST, pendingWeapon = WT_FIRST, weapons = {{owned = 0}, {owned = 0}, {owned = 0}, {owned = 0}}, ammo = {{owned = 0}, {owned = 0}}, attackDown = 0, useDown = 0, cheats = 0, frags = {0, 0, 0, 0, 0, 0, 0, 0}, refire = 0, killCount = 0, itemCount = 0, secretCount = 0, damageCount = 0, bonusCount = 0, poisonCount = 0, poisoner = 0x0, attacker = 0x0, colorMap = 0, pSprites = {{state = 0x0, tics = 0, pos = {0, 0}}, {state = 0x0, tics = 0, pos = {0, 0}}}, morphTics = 0, jumpTics = 0, airCounter = 0, rebornWait = 0, centering = 0, worldTimer = 0, update = 2048, startSpot = 0, overridePalette = 0, viewOffset = {0, 0, 0}, viewZ = 0, viewHeight = 0, viewHeightDelta = 0, bob = 0, viewLock = 0x0, lockFull = 0}, numInventoryItems = { 0 <repeats 33 times>}, readyItem = IIT_NONE}, {player = {plr = 0x562dfc791de8, playerState = PST_LIVE, class_ = PCLASS_FIRST, brain = {forwardMove = 0, sideMove = 0, upMove = 0, changeWeapon = 0, cycleWeapon = 0, cycleInvItem = 0, speed = 0, use = 0, lunge = 0, attack = 0, lookCenter = 0, fallDown = 0, jump = 0, mapToggle = 0, mapZoomMax = 0, mapFollow = 0, mapRotate = 0, mapMarkAdd = 0, mapMarkClearAll = 0, hudShow = 0, scoreShow = 0, doReborn = 0, useInvItem = 0, logRefresh = 0}, flyHeight = 0, health = 0, armorPoints = {0, 0, 0, 0}, powers = {0, 0, 0, 0, 0, 0, 0, 0, 0}, keys = 0, pieces = 0, readyWeapon = WT_FIRST, pendingWeapon = WT_FIRST, weapons = {{owned = 0}, {owned = 0}, {owned = 0}, {owned = 0}}, ammo = {{owned = 0}, {owned = 0}}, attackDown = 0, useDown = 0, cheats = 0, frags = {0, 0, 0, 0, 0, 0, 0, 0}, refire = 0, killCount = 0, itemCount = 0, secretCount = 0, damageCount = 0, bonusCount = 0, poisonCount = 0, poisoner = 0x0, attacker = 0x0, colorMap = 0, pSprites = {{state = 0x0, tics = 0, pos = {0, 0}}, {state = 0x0, tics = 0, pos = {0, 0}}}, morphTics = 0, jumpTics = 0, airCounter = 0, rebornWait = 0, centering = 0, worldTimer = 0, update = 2048, startSpot = 0, overridePalette = 0, viewOffset = {0, 0, 0}, viewZ = 0, viewHeight = 0, viewHeightDelta = 0, bob = 0, viewLock = 0x0, lockFull = 0}, numInventoryItems = { 0 <repeats 33 times>}, readyItem = IIT_NONE}} oldRandomClassesRule = 1 '\001' saved = 0x562e03a0c750 revisit = true #10 0x00007effb1d0e93b in runGameAction () at /home/chris/sources/Doomsday-Engine/doomsday/apps/plugins/common/src/game/g_game.cpp:1427 quitTime = 0 unloadTriggered = false currentAction = GA_LEAVEMAP #11 0x00007effb1d0f8eb in G_Ticker (ticLength=0.0054285714285916657) at /home/chris/sources/Doomsday-Engine/doomsday/apps/plugins/common/src/game/g_game.cpp:1614 oldGameState = GS_MAP #12 0x0000562dfa00fc3d in baseTicker (time=0.0054285714285916657) at /home/chris/sources/Doomsday-Engine/doomsday/apps/client/src/dd_loop.cpp:177 No locals. #13 0x0000562dfa01048d in Loop_RunTics () at /home/chris/sources/Doomsday-Engine/doomsday/apps/client/src/dd_loop.cpp:426 nowTime = 194.59700000000001 elapsedTime = 0 #14 0x0000562dfa28bd8f in GameWidget::update (this=0x562dfde37d50) at /home/chris/sources/Doomsday-Engine/doomsday/apps/client/src/ui/widgets/gamewidget.cpp:290 No locals. #15 0x00007efff4ef2d25 in de::Widget::notifyTree (this=0x562dfde2c758, args=...) at /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/src/widgets/widget.cpp:641 i = 0x562dfde37d60 idx = 0 result = de::Widget::NotifyArgs::Continue preNotified = false #16 0x00007efff4eeb1a3 in de::RootWidget::update (this=0x562dfde2c758) at /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/src/widgets/rootwidget.cpp:157 No locals. #17 0x00007efff7ffdbee in de::GuiRootWidget::update (this=0x562dfde2c758) at /home/chris/sources/Doomsday-Engine/doomsday/sdk/libappfw/src/guirootwidget.cpp:431 No locals. #18 0x0000562dfa1a7ed3 in ClientRootWidget::update (this=0x562dfde2c758) at /home/chris/sources/Doomsday-Engine/doomsday/apps/client/src/ui/clientrootwidget.cpp:53 No locals. #19 0x0000562dfa1b3412 in ClientWindowSystem::rootUpdate (this=0x562dfdc20cb0) at /home/chris/sources/Doomsday-Engine/doomsday/apps/client/src/ui/clientwindowsystem.cpp:96 No locals. #20 0x00007efff8022f4f in de::WindowSystem::timeChanged (this=0x562dfdc20cb0) at /home/chris/sources/Doomsday-Engine/doomsday/sdk/libappfw/src/windowsystem.cpp:172 No locals. #21 0x00007efff4d6ee18 in de::App::timeChanged (this=0x7ffd2e6c3230, clock=...) at /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/src/core/app.cpp:533 sys = 0x562dfdc20cb0 _container_ = {c = {<QListSpecialMethods<de::System*>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = { _q_value = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = -1}, <No data fields>}}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x562dfdde6830}, d = 0x562dfdde6830}}, i = {i = 0x562dfdde6868}, e = {i = 0x562dfdde6880}, control = 1} #22 0x00007efff4d7fab1 in de::Clock::setTime (this=0x562dfc789df0, currentTime=...) at /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/src/core/clock.cpp:57 i = {<de::PointerSet::IIterationObserver> = {_vptr.IIterationObserver = 0x7efff51d3308 <vtable for de::Observers<de::Clock::ITimeChangeObserver>::Loop+16>}, _audience = 0x562dfc6d8df8, _prevObserver = 0x0, _current = 0x562dfdb36908, _next = 0x562dfdb36910} changed = true #23 0x00007efff6d77d06 in de::GuiApp::loopIteration (this=0x7ffd2e6c3220) at /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/src/guiapp.cpp:160 No locals. #24 0x00007efff4d9ede0 in de::Loop::nextLoopIteration (this=0x562dfc767cc8) at /home/chris/sources/Doomsday-Engine/doomsday/sdk/libcore/src/core/loop.cpp:129 i = {<de::PointerSet::IIterationObserver> = {_vptr.IIterationObserver = 0x7efff51d3e30 <vtable for de::Observers<de::Loop::IIterationObserver>::Loop+16>}, _audience = 0x562dfc790bf8, _prevObserver = 0x0, _current = 0x562dfd73f488, _next = 0x562dfd73f490} #25 0x00007efff6d78f36 in de::GuiLoop::nextLoopIteration (this=0x562dfc767cc8) at /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/src/guiloop.cpp:50 No locals. #26 0x00007efff4ef9a72 in de::Loop::qt_static_metacall (_o=0x562dfc767cc8, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7ffd2e6c2b40) at /home/chris/sources/doomsday-build/sdk/libcore/libcore_autogen/LCME76G63D/moc_loop.cpp:71 _t = 0x562dfc767cc8 #27 0x00007efff431964d in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQt5Core.so.5 No symbol table info available. #28 0x00007efff4326327 in QTimer::timeout(QTimer::QPrivateSignal) () from /usr/lib64/libQt5Core.so.5 No symbol table info available. #29 0x00007efff4326688 in QTimer::timerEvent(QTimerEvent*) () from /usr/lib64/libQt5Core.so.5 No symbol table info available. #30 0x00007efff431a14b in QObject::event(QEvent*) () from /usr/lib64/libQt5Core.so.5 No symbol table info available. #31 0x00007efff5fc795c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 No symbol table info available. #32 0x00007efff5fcedf6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQt5Widgets.so.5 No symbol table info available. #33 0x00007efff6d778d5 in de::GuiApp::notify (this=0x7ffd2e6c3220, receiver=0x562dfc640540, event=0x7ffd2e6c2eb0) at /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/src/guiapp.cpp:99 No locals. #34 0x00007efff42ea218 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib64/libQt5Core.so.5 No symbol table info available. #35 0x00007efff434333e in QTimerInfoList::activateTimers() () from /usr/lib64/libQt5Core.so.5 No symbol table info available. #36 0x00007efff4343b51 in ?? () from /usr/lib64/libQt5Core.so.5 No symbol table info available. #37 0x00007effed7bf5a7 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0 No symbol table info available. #38 0x00007effed7bf810 in ?? () from /usr/lib64/libglib-2.0.so.0 No symbol table info available. #39 0x00007effed7bf8bc in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0 No symbol table info available. #40 0x00007efff4343eef in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 No symbol table info available. #41 0x00007efff42e825a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQt5Core.so.5 No symbol table info available. #42 0x00007efff42f13b4 in QCoreApplication::exec() () from /usr/lib64/libQt5Core.so.5 No symbol table info available. #43 0x00007efff6d77a93 in de::GuiApp::execLoop (this=0x7ffd2e6c3220) at /home/chris/sources/Doomsday-Engine/doomsday/sdk/libgui/src/guiapp.cpp:122 code = 0 #44 0x0000562dfa0392bd in main (argc=1, argv=0x7ffd2e6c33f8) at /home/chris/sources/Doomsday-Engine/doomsday/apps/client/src/main_client.cpp:121 clientApp = {<de::BaseGuiApp> = {<de::GuiApp> = {<QApplication> = {<No data fields>}, <de::App> = {<de::Clock::ITimeChangeObserver> = {<de::ObserverBase> = { _vptr.ObserverBase = 0x562dfa77d008 <vtable for ClientApp+248>, _memberOf = {<de::Lockable> = {_mutex = {<std::__recursive_mutex_base> = { _M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, __align = 0}}, <No data fields>}}, value = {<de::PointerSet> = {static AllowInsertionDuringIteration = 32768, _pointers = 0x562dfdb44440, _iterationObserver = 0x0, _flags = 0, _size = 2, _range = {start = 1, end = 2}}, <No data fields>}}}, <No data fields>}, d = { ptr = 0x562dfc789ca0}}, <de::Loop::IIterationObserver> = {<de::ObserverBase> = {_vptr.ObserverBase = 0x562dfa77d060 <vtable for ClientApp+336>, _memberOf = {<de::Lockable> = {_mutex = {<std::__recursive_mutex_base> = {_M_mutex = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 1, __spins = 0, __elision = 0, __list = {__prev = 0x0, __next = 0x0}}, __size = '\000' <repeats 16 times>, "\001", '\000' <repeats 22 times>, __align = 0}}, <No data fields>}}, value = {<de::PointerSet> = { static AllowInsertionDuringIteration = 32768, _pointers = 0x562dfc790cf0, _iterationObserver = 0x0, _flags = 0, _size = 2, _range = {start = 1, end = 2}}, <No data fields>}}}, <No data fields>}, static staticMetaObject = {d = { superdata = 0x7efff671c040 <QApplication::staticMetaObject>, stringdata = 0x7efff7044bc0 <qt_meta_stringdata_de__GuiApp>, data = 0x7efff7044c40 <qt_meta_data_de__GuiApp>, static_metacall = 0x7efff6e101a2 <de::GuiApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = {ptr = 0x562dfc767cb0}}, d = {ptr = 0x562dfc49e8f0}}, <DoomsdayApp> = { _vptr.DoomsdayApp = 0x562dfa77d088 <vtable for ClientApp+376>, d = {ptr = 0x562dfc70ac00}}, static staticMetaObject = {d = { superdata = 0x7efff738b9a0 <de::GuiApp::staticMetaObject>, stringdata = 0x562dfa408d60 <qt_meta_stringdata_ClientApp>, data = 0x562dfa408e20 <qt_meta_data_ClientApp>, static_metacall = 0x562dfa387022 <ClientApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, extradata = 0x0}}, d = {ptr = 0x562dfc756760}} exitCode = 0 __PRETTY_FUNCTION__ = "int main(int, char**)"
Related issues
Associated revisions
History
#1 Updated by skyjake over 6 years ago
- Category set to Defect
- Assignee set to skyjake
- Priority changed from Normal to High
#2 Updated by skyjake over 6 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
#3 Updated by skyjake over 6 years ago
- Related to Bug #2261: Mobj cross-references not always fully restored after loading a save added
#4 Updated by skyjake over 6 years ago
- Related to deleted (Bug #2261: Mobj cross-references not always fully restored after loading a save)
#5 Updated by sermayen over 6 years ago
Rev 985a15f4 fixed it. Thanks !
#6 Updated by skyjake over 6 years ago
- Related to Bug #2276: [HEXEN] SIGABRT when returning from Wastelands to Darkmere through the ?Castle? Portal added
#7 Updated by skyjake about 6 years ago
- Status changed from Resolved to Closed
World|SaveGame: Restore and check state of as many objects as possible
A discrepancy during object state restoration does not halt the entire
process, but only causes a warning to be logged.
Fixes a crash in Hexen where the Mage's lightning weapon mobjs had their
lastEnemy pointer restored to an unmangled pointer value (that had been
truncated from 64 to 32 bits, no less), causing illegal memory access
when switching maps.
Suspiciously, some objects are still being reported as having lost their
targets, which does warrant further investigation.
IssueID #2275