Opened 10 years ago
Last modified 8 years ago
#2662 new defect
[ATLAS] Atlas crashes simulating giant maps
Reported by: | Niek | Owned by: | |
---|---|---|---|
Priority: | Must Have | Milestone: | Backlog |
Component: | Atlas editor | Keywords: | |
Cc: | Patch: |
Description
Shieldwolf23 is experiencing multiple recurring crashes when using Atlas on multiple revisions of SVN.
Crashlog: https://dl.dropboxusercontent.com/u/47464522/crashlog.txt Crashdump: https://dl.dropboxusercontent.com/u/47464522/crashlog.dmp
Attachments (2)
Change History (16)
comment:1 by , 10 years ago
follow-up: 8 comment:3 by , 10 years ago
Here are the reports of a new crash. It occured during painting terrain and placing entities.
by , 10 years ago
Attachment: | crashlogs.zip added |
---|
follow-up: 5 comment:4 by , 10 years ago
Generating random maps with 8 players always crash when using a random seed. Generating two maps in a row seems to do that too.
comment:5 by , 10 years ago
Replying to stanislas69:
Generating random maps with 8 players always crash when using a random seed. Generating two maps in a row seems to do that too.
Can you provide crash logs for that? Also try again with the latest SVN, there was a fix related to water rendering when new maps were loaded (#2784).
by , 10 years ago
follow-up: 9 comment:7 by , 10 years ago
I must admit I generated 5 maps so it's a bit less of a problem :)
comment:8 by , 10 years ago
Replying to niektb:
Here are the reports of a new crash. It occured during painting terrain and placing entities.
That one is different than the original report of this ticket. Here's the call stack (note that it actually occurred during simulation reset):
> pyrogenesis.exe!CCmpRangeManager::LosAddStripHelper(unsigned char owner='>', int i0=44, int i1=1464446100, int j=8, unsigned short * counts=0x5749a008) Line 1650 + 0x29 bytes C++ pyrogenesis.exe!CCmpRangeManager::LosUpdateHelper<1>(unsigned char owner='', CFixed<int,2147483647,32,15,16,65536> visionRange={...}, CFixedVector2D pos={...}) Line 1769 + 0x15 bytes C++ pyrogenesis.exe!CCmpRangeManager::ResetDerivedData(bool skipLosState=true) Line 684 C++ pyrogenesis.exe!CCmpRangeManager::Deserialize(const CParamNode & paramNode={...}, IDeserializer & deserialize={...}) Line 392 + 0x9 bytes C++ pyrogenesis.exe!CComponentManager::DeserializeState(std::basic_istream<char,std::char_traits<char> > & stream={...}) Line 337 C++ pyrogenesis.exe!SimState::Thaw() Line 41 C++ pyrogenesis.exe!AtlasViewGame::RestoreState(const std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> > & label="default") Line 373 C++ pyrogenesis.exe!AtlasMessage::fSimStateRestore(AtlasMessage::mSimStateRestore * msg=0x28f2c4b8) Line 136 + 0x23 bytes C++ pyrogenesis.exe!AtlasMessage::fSimStateRestore_wrapper(AtlasMessage::IMessage * msg=0x28f2c4b8) Line 134 + 0x41 bytes C++ pyrogenesis.exe!RunEngine(void * data=0x0095faec) Line 174 + 0x6 bytes C++ pyrogenesis.exe!thread_start(void * param=0x137a44c8) Line 624 + 0x3 bytes C++ msvcr90.dll!72563433() [Frames below may be incorrect and/or missing, no symbols loaded for msvcr90.dll] msvcr90.dll!725634c7() kernel32.dll!@BaseThreadInitThunk@12() + 0xe bytes ntdll.dll!__RtlUserThreadStart() + 0x24 bytes ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes
The code has changed a lot since then, so maybe it was fixed (although serialization errors related to r15508 seem to remain, and scythetwirler reports crashes when resetting the simulation in Atlas)
comment:9 by , 10 years ago
Replying to stanislas69:
I must admit I generated 5 maps so it's a bit less of a problem :)
This one is more like the original report. I tried generating a bunch of random maps but didn't get this crash. Are there any particular maps and settings that trigger this? How do you open Atlas, how long is it open before this crash occurs? Really, if you could reduce it to the simplest steps that cause the crash, that would help :)
> pyrogenesis.exe!CTerrain::GetTriangulationDir(int i=23, int j=138) Line 443 C++ pyrogenesis.exe!TerrainOverlay::RenderTile(const CColor & colour={...}, bool draw_hidden=false, int i=23, int j=138) Line 214 + 0x10 bytes C++ pyrogenesis.exe!TerrainOverlay::RenderTile(const CColor & colour={...}, bool draw_hidden=false) Line 186 C++ pyrogenesis.exe!BrushTerrainOverlay::ProcessTile(int i=23, int j=1054657660) Line 65 C++ pyrogenesis.exe!TerrainOverlay::RenderBeforeWater() Line 168 + 0x11 bytes C++ pyrogenesis.exe!ITerrainOverlay::RenderOverlaysBeforeWater() Line 94 + 0xa bytes C++ pyrogenesis.exe!CRenderer::RenderSubmissions(const CBoundingBoxAligned & waterScissor={...}) Line 1515 C++ pyrogenesis.exe!CRenderer::RenderScene(Scene & scene={...}) Line 1866 C++ pyrogenesis.exe!CGameView::Render() Line 489 + 0x3c bytes C++ pyrogenesis.exe!Render() Line 229 C++ pyrogenesis.exe!CGame::ReallyStartGame() Line 244 C++ pyrogenesis.exe!`anonymous namespace'::StartGame(const CScriptValRooted & attrs={...}) Line 79 C++ pyrogenesis.exe!AtlasMessage::fGenerateMap(AtlasMessage::qGenerateMap * msg=0x0073e0dc) Line 105 + 0x1f bytes C++ pyrogenesis.exe!AtlasMessage::fGenerateMap_wrapper(AtlasMessage::IMessage * msg=0x0073e0dc) Line 85 + 0x3f bytes C++ pyrogenesis.exe!RunEngine(void * data=0x0073fbf4) Line 174 + 0x6 bytes C++ pyrogenesis.exe!thread_start(void * param=0x12a60ae8) Line 624 + 0x3 bytes C++
comment:10 by , 10 years ago
I ´ll try to make it crash today again. Basically I just load maps with random seeds and change map biome.
comment:11 by , 10 years ago
Milestone: | Alpha 17 → Alpha 18 |
---|
comment:12 by , 9 years ago
Milestone: | Alpha 18 → Backlog |
---|---|
Summary: | [Atlas] Experiencing Random Crashes → [ATLAS] Experiencing Random Crashes |
No patch yet, pushing it to backlog, since we are in feature freeze.
comment:13 by , 9 years ago
Also reported on Fedora bug tracker: https://bugzilla.redhat.com/show_bug.cgi?id=1195188
comment:14 by , 8 years ago
Summary: | [ATLAS] Experiencing Random Crashes → [ATLAS] Atlas crashes simulating giant maps |
---|
Got 2-3 atlas crashes with r17733 today when generating giant maps (as mentioned on the fedora tracker) and then playing with the simulation (as mentioned by niektb above). Didn't get a stack trace, nor could I reproduce the crash afterwards.
crashlog.dmp says
Unhandled exception at 0x01309EDA (pyrogenesis.exe) in crashlog.dmp: 0xC0000005: Access violation reading location 0x578DE8C8.
at:which is the line/instruction
with m_Heightmap = ecx = 0x35C369F4, j*m_MapSize+i = eax = 0x90E53F6A (which sounds wrong).
Given the values of i and j, it must think m_MapSize = 0x14495c6d. That seems quite bizarre.
What actions triggered this crash? Could you provide some other crashlogs, to see if they're failing in the same way?