Opened 7 years ago
Last modified 2 years ago
#4657 new defect
Atlas crash when generating a map after selecting the actor viewer
Reported by: | elexis | Owned by: | |
---|---|---|---|
Priority: | Must Have | Milestone: | Backlog |
Component: | Atlas editor | Keywords: | |
Cc: | Patch: | Phab:D4573 |
Description
Reproduce:
- Open atlas and select the actor viewer
- Click on "Generate map"
It sounds a lot like comment:1:ticket:3067 and #2112.
Stack trace:
#0 0x00007ffff36c7428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #1 0x00007ffff36c902a in __GI_abort () at abort.c:89 #2 0x00007ffff422b0a5 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #3 0x00007ffff4228c96 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #4 0x00007ffff4228ce1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x00007ffff4228f24 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #6 0x00007ffff42294ac in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #7 0x000000000083181d in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*> (__end=0xfffed92fc9c1 <error: Cannot access memory at address 0xfffed92fc9c1>, __beg=0x7fff00000001 <error: Cannot access memory at address 0x7fff00000001>, this=0x7fffe053c000) at /usr/include/c++/6/bits/basic_string.tcc:219 #8 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*> (__end=0xfffed92fc9c1 <error: Cannot access memory at address 0xfffed92fc9c1>, __beg=0x7fff00000001 <error: Cannot access memory at address 0x7fff00000001>, this=0x7fffe053c000) at /usr/include/c++/6/bits/basic_string.h:196 #9 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*> (__end=0xfffed92fc9c1 <error: Cannot access memory at address 0xfffed92fc9c1>, __beg=0x7fff00000001 <error: Cannot access memory at address 0x7fff00000001>, this=0x7fffe053c000) at /usr/include/c++/6/bits/basic_string.h:215 #10 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string (__str=..., this=0x7fffe053c000) at /usr/include/c++/6/bits/basic_string.h:400 #11 CStr8::CStr8 (this=0x7fffe053c000) at ../../../source/ps/CStr.h:64 #12 CTerrainTextureEntry::GetTag (this=<optimized out>) at ../../../source/graphics/TerrainTextureEntry.h:75 #13 STileBlend::DecreasingPriority::operator() (this=<synthetic pointer>, b=..., a=...) at ../../../source/renderer/PatchRData.cpp:108 #14 __gnu_cxx::__ops::_Iter_comp_iter<STileBlend::DecreasingPriority>::operator()<__gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > >, __gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > > > (__it2={m_Texture = 0x7fff68ae43a0, m_Priority = 0, m_TileMask = 16}, __it1={m_Texture = 0x7fff68ae43a0, m_Priority = 0, m_TileMask = 32}, this=<synthetic pointer>) at /usr/include/c++/6/bits/predefined_ops.h:125 #15 std::__insertion_sort<__gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > >, __gnu_cxx::__ops::_Iter_comp_iter<STileBlend::DecreasingPriority> > (__first=..., __first@entry={m_Texture = 0x7fff68ae43a0, m_Priority = 0, m_TileMask = 16}, __last=..., __last@entry={m_Texture = 0x90, m_Priority = 276, m_TileMask = 0}, __comp=...) at /usr/include/c++/6/bits/stl_algo.h:1844 #16 0x000000000082b4fe in std::__final_insertion_sort<__gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > >, __gnu_cxx::__ops::_Iter_comp_iter<STileBlend::DecreasingPriority> > (__comp=..., __last=..., __first={m_Texture = 0x7fff68ae43a0, m_Priority = 0, m_TileMask = 16}) at /usr/include/c++/6/bits/stl_algo.h:1887 #17 std::__sort<__gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > >, __gnu_cxx::__ops::_Iter_comp_iter<STileBlend::DecreasingPriority> > (__comp=..., __last= {m_Texture = 0x90, m_Priority = 276, m_TileMask = 0}, __first={m_Texture = 0x7fff68ae43a0, m_Priority = 0, m_TileMask = 16}) at /usr/include/c++/6/bits/stl_algo.h:1968 #18 std::sort<__gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > >, STileBlend::DecreasingPriority> (__last={m_Texture = 0x90, m_Priority = 276, m_TileMask = 0}, __first={m_Texture = 0x7fff68ae43a0, m_Priority = 0, m_TileMask = 16}, __comp=...) at /usr/include/c++/6/bits/stl_algo.h:4739 #19 CPatchRData::BuildBlends (this=this@entry=0x7fff59a79aa0) at ../../../source/renderer/PatchRData.cpp:189 #20 0x000000000082be99 in CPatchRData::Build (this=0x7fff59a79aa0) at ../../../source/renderer/PatchRData.cpp:664 #21 CPatchRData::CPatchRData (this=0x7fff59a79aa0, patch=0x7fff6b091b38, simulation=0x7fff6abaeaf0) at ../../../source/renderer/PatchRData.cpp:71 #22 0x00000000007edbb3 in TerrainRenderer::Submit (this=0x7fffd8251230, cullGroup=0, patch=0x7fff6b091b38) at ../../../source/renderer/TerrainRenderer.cpp:122 #23 0x00000000008cbade in ActorViewerImpl::EnumerateObjects (this=0x7fff6abae920, frustum=..., c=0x7fffd82a1970) at ../../../source/tools/atlas/GameInterface/ActorViewer.cpp:121 #24 0x00000000007f5117 in CRenderer::RenderScene (this=0x7fffd82a1970, scene=...) at ../../../source/renderer/Renderer.cpp:1821 #25 0x00000000008c93ba in ActorViewer::Render (this=<optimized out>) at ../../../source/tools/atlas/GameInterface/ActorViewer.cpp:529 #26 0x000000000088396a in AtlasViewActor::Render (this=0x7fff6aa83da0) at ../../../source/tools/atlas/GameInterface/View.cpp:91 #27 0x0000000000881eef in RunEngine (data=<optimized out>) at ../../../source/tools/atlas/GameInterface/GameLoop.cpp:228 #28 0x00007ffff3a636ba in start_thread (arg=0x7fffe053d700) at pthread_create.c:333 #29 0x00007ffff37993dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
This crash already occurs on alpha 21, but with a different stack trace:
#0 0x00007ffff3487428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #1 0x00007ffff348902a in __GI_abort () at abort.c:89 #2 0x00007ffff3feb0a5 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #3 0x00007ffff3fe8c96 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #4 0x00007ffff3fe8ce1 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x00007ffff3fe8f24 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #6 0x00007ffff40128df in std::__throw_length_error(char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #7 0x00007ffff407e0bc in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #8 0x000000000079c169 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*> ( __end=0xfff3ffff99495c70 <error: Cannot access memory at address 0xfff3ffff99495c70>, __beg=0xfffaffff99495c70 <error: Cannot access memory at address 0xfffaffff99495c70>, this=0x7fffc9ffe010) at /usr/include/c++/5/bits/basic_string.tcc:219 #9 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct_aux<char*> (__end=0xfff3ffff99495c70 <error: Cannot access memory at address 0xfff3ffff99495c70>, __beg=0xfffaffff99495c70 <error: Cannot access memory at address 0xfffaffff99495c70>, this=0x7fffc9ffe010) at /usr/include/c++/5/bits/basic_string.h:195 #10 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*> (__end=0xfff3ffff99495c70 <error: Cannot access memory at address 0xfff3ffff99495c70>, __beg=0xfffaffff99495c70 <error: Cannot access memory at address 0xfffaffff99495c70>, this=0x7fffc9ffe010) at /usr/include/c++/5/bits/basic_string.h:214 #11 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string (__str=..., this=0x7fffc9ffe010) at /usr/include/c++/5/bits/basic_string.h:401 #12 CStr8::CStr8 (this=0x7fffc9ffe010) at ../../../source/ps/CStr.h:64 #13 CTerrainTextureEntry::GetTag (this=<optimized out>) at ../../../source/graphics/TerrainTextureEntry.h:75 #14 STileBlend::DecreasingPriority::operator() (b=..., a=..., this=<synthetic pointer>) at ../../../source/renderer/PatchRData.cpp:108 #15 __gnu_cxx::__ops::_Iter_comp_iter<STileBlend::DecreasingPriority>::operator()<__gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > >, __gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > > > (__it2={m_Texture = 0x7fff4cbb13e0, m_Priority = 0, m_TileMask = 16}, __it1={m_Texture = 0x7fff4cbb13e0, m_Priority = 0, m_TileMask = 32}, this=<synthetic pointer>) at /usr/include/c++/5/bits/predefined_ops.h:123 #16 std::__insertion_sort<__gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > >, __gnu_cxx::__ops::_Iter_comp_iter<STileBlend::DecreasingPriority> > (__first=..., __first@entry={m_Texture = 0x7fff4cbb13e0, m_Priority = 0, m_TileMask = 16}, __last=..., __last@entry={m_Texture = 0x3800000035, m_Priority = 98, m_TileMask = 100}, __comp=...) at /usr/include/c++/5/bits/stl_algo.h:1842 #17 0x0000000000795fae in std::__final_insertion_sort<__gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > >, __gnu_cxx::__ops::_Iter_comp_iter<STileBlend::DecreasingPriority> > (__comp=..., __last=..., __first={m_Texture = 0x7fff4cbb13e0, m_Priority = 0, m_TileMask = 16}) at /usr/include/c++/5/bits/stl_algo.h:1885 #18 std::__sort<__gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > >, __gnu_cxx::__ops::_Iter_comp_iter<STileBlend::DecreasingPriority> > (__comp=..., __last= {m_Texture = 0x3800000035, m_Priority = 98, m_TileMask = 100}, __first={m_Texture = 0x7fff4cbb13e0, m_Priority = 0, m_TileMask = 16}) at /usr/include/c++/5/bits/stl_algo.h:1966 #19 std::sort<__gnu_cxx::__normal_iterator<STileBlend*, std::vector<STileBlend, std::allocator<STileBlend> > >, STileBlend::DecreasingPriority> (__last= {m_Texture = 0x3800000035, m_Priority = 98, m_TileMask = 100}, __first={m_Texture = 0x7fff4cbb13e0, m_Priority = 0, m_TileMask = 16}, __comp=...) at /usr/include/c++/5/bits/stl_algo.h:4729 #20 CPatchRData::BuildBlends (this=this@entry=0x7fff41c596a0) at ../../../source/renderer/PatchRData.cpp:189 #21 0x0000000000796956 in CPatchRData::Update (this=0x7fff41c596a0, simulation=<optimized out>) at ../../../source/renderer/PatchRData.cpp:678 #22 0x000000000075b0c7 in TerrainRenderer::Submit (this=0x7fff9475f770, cullGroup=0, patch=0x7fff4eff4218) at ../../../source/renderer/TerrainRenderer.cpp:125 #23 0x0000000000827466 in ActorViewerImpl::EnumerateObjects (this=0x7fff4ee29f30, frustum=..., c=0x7fff94753210) at ../../../source/tools/atlas/GameInterface/ActorViewer.cpp:115 #24 0x0000000000763a77 in CRenderer::RenderScene (this=0x7fff94753210, scene=...) at ../../../source/renderer/Renderer.cpp:1811 #25 0x0000000000824b42 in ActorViewer::Render (this=<optimized out>) at ../../../source/tools/atlas/GameInterface/ActorViewer.cpp:510 #26 0x00000000007ebb36 in AtlasViewActor::Render (this=0x7fff4cd9b720) at ../../../source/tools/atlas/GameInterface/View.cpp:91 #27 0x00000000007e9e50 in RunEngine (data=<optimized out>) at ../../../source/tools/atlas/GameInterface/GameLoop.cpp:229 #28 0x00007ffff38236ba in start_thread (arg=0x7fffc9fff700) at pthread_create.c:333 #29 0x00007ffff35593dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Change History (8)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
Another crashlog I managed to get by generating twice the map
KERNELBASE.dll!743fb802() Unknown [Frames below may be incorrect and/or missing, no symbols loaded for KERNELBASE.dll] > pyrogenesis.exe!CCamera::UpdateFrustum(const CBoundingBoxAligned & scissor) Line 131 C++ pyrogenesis.exe!RunEngine(void * data=0x003ffa54) Line 230 C++ pyrogenesis.exe!thread_start(void * param=0x00f5e5a0) Line 624 C++ msvcr120.dll!77ebc01d() Unknown msvcr120.dll!77ebc001() Unknown kernel32.dll!773c8744() Unknown ntdll.dll!7788587d() Unknown ntdll.dll!7788584d() Unknown
I managed to reproduce it twice. Sometimes it takes one generation, sometimes three,
comment:3 by , 6 years ago
Different error this time. Exception thrown: read access violation. this->m was 0x4.
> pyrogenesis.exe!ShadowMap::GetHeight() Line 649 C++ Symbols loaded. pyrogenesis.exe!CPatchRData::RenderBases(const std::vector<CPatchRData *,std::allocator<CPatchRData *> > & patches, const CShaderDefines & context, ShadowMap * shadow, bool isDummyShader, const std::shared_ptr<CShaderProgram> & dummy) Line 770 C++ Symbols loaded. pyrogenesis.exe!TerrainRenderer::RenderTerrainShader(const CShaderDefines & context, int cullGroup, ShadowMap * shadow) Line 503 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderPatches(const CShaderDefines & context, int cullGroup) Line 953 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderSubmissions(const CBoundingBoxAligned & waterScissor) Line 1544 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderScene(Scene & scene) Line 1899 C++ Symbols loaded. pyrogenesis.exe!ActorViewer::Render() Line 529 C++ Symbols loaded. pyrogenesis.exe!AtlasViewActor::Render() Line 92 C++ Symbols loaded. pyrogenesis.exe!RunEngine(void * data) Line 230 C++ Symbols loaded. pyrogenesis.exe!thread_start(void * param) Line 624 C++ Symbols loaded. [External Code] Annotated Frame [Frames below may be incorrect and/or missing, no symbols loaded for ucrtbase.dll] Annotated Frame
comment:4 by , 6 years ago
Have to do it three times consistently.
read access violation. this->m was 0x4.
> pyrogenesis.exe!ShadowMap::GetHeight() Line 649 C++ Symbols loaded. pyrogenesis.exe!CPatchRData::RenderBases(const std::vector<CPatchRData *,std::allocator<CPatchRData *> > & patches, const CShaderDefines & context, ShadowMap * shadow, bool isDummyShader, const std::shared_ptr<CShaderProgram> & dummy) Line 770 C++ Symbols loaded. pyrogenesis.exe!TerrainRenderer::RenderTerrainShader(const CShaderDefines & context, int cullGroup, ShadowMap * shadow) Line 503 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderPatches(const CShaderDefines & context, int cullGroup) Line 953 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderSubmissions(const CBoundingBoxAligned & waterScissor) Line 1544 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderScene(Scene & scene) Line 1899 C++ Symbols loaded. pyrogenesis.exe!ActorViewer::Render() Line 529 C++ Symbols loaded. pyrogenesis.exe!AtlasViewActor::Render() Line 92 C++ Symbols loaded. pyrogenesis.exe!RunEngine(void * data) Line 230 C++ Symbols loaded. pyrogenesis.exe!thread_start(void * param) Line 624 C++ Symbols loaded. [External Code] Annotated Frame [Frames below may be incorrect and/or missing, no symbols loaded for ucrtbase.dll] Annotated Frame
Another weird crash.
KernelBase.dll!753d08b2() Unknown Non-user code. Cannot find or open the PDB file. [Frames below may be incorrect and/or missing, no symbols loaded for KernelBase.dll] Annotated Frame [External Code] Annotated Frame > [Inline Frame] pyrogenesis.exe!std::basic_string<char,std::char_traits<char>,std::allocator<char> >::{ctor}(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > &) Line 782 C++ Symbols loaded. pyrogenesis.exe!CTerrainTextureEntry::GetTag() Line 75 C++ Symbols loaded. [External Code] Annotated Frame [Inline Frame] pyrogenesis.exe!std::_Sort_unchecked(STileBlend *) Line 2776 C++ Symbols loaded. [Inline Frame] pyrogenesis.exe!std::sort(std::_Vector_iterator<std::_Vector_val<std::_Simple_types<STileBlend> > > _Pred, std::_Vector_iterator<std::_Vector_val<std::_Simple_types<STileBlend> > >) Line 2784 C++ Symbols loaded. pyrogenesis.exe!CPatchRData::BuildBlends() Line 191 C++ Symbols loaded. pyrogenesis.exe!CPatchRData::Update(CSimulation2 * simulation) Line 679 C++ Symbols loaded. pyrogenesis.exe!TerrainRenderer::Submit(int cullGroup, CPatch * patch) Line 127 C++ Symbols loaded. pyrogenesis.exe!CRenderer::Submit(CPatch * patch) Line 1736 C++ Symbols loaded. pyrogenesis.exe!ActorViewerImpl::EnumerateObjects(const CFrustum & frustum, SceneCollector * c) Line 121 C++ Symbols loaded. pyrogenesis.exe!CRenderer::RenderScene(Scene & scene) Line 1837 C++ Symbols loaded. pyrogenesis.exe!ActorViewer::Render() Line 529 C++ Symbols loaded. pyrogenesis.exe!AtlasViewActor::Render() Line 92 C++ Symbols loaded. pyrogenesis.exe!RunEngine(void * data) Line 230 C++ Symbols loaded. pyrogenesis.exe!thread_start(void * param) Line 624 C++ Symbols loaded. [External Code] Annotated Frame
comment:5 by , 6 years ago
Well I think the other crash is related because it happened when doing the exact same thing.
comment:6 by , 2 years ago
Patch: | → D573 |
---|
comment:7 by , 2 years ago
Patch: | D573 → D4573 |
---|
comment:8 by , 2 years ago
Patch: | D4573 → Phab:D4573 |
---|
Note:
See TracTickets
for help on using tickets.
I'll try it on windows