Nullus Posted February 27, 2022 Report Share Posted February 27, 2022 The map was "Alpine Valleys" the second time, the first time it was "Chang Jiang". The first case was within five minutes of the start, the second was about ten minutes in. I've played other, much longer games, so I don't think that the time played affects it. Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted February 27, 2022 Report Share Posted February 27, 2022 6 minutes ago, Nullus said: The map was "Alpine Valleys" the second time, the first time it was "Chang Jiang". The first case was within five minutes of the start, the second was about ten minutes in. I've played other, much longer games, so I don't think that the time played affects it. Thanks! Is it possible for you to run and play the game with GDB (it allows to resolve the stack with related source lines)? Quote Link to comment Share on other sites More sharing options...
Nullus Posted February 27, 2022 Report Share Posted February 27, 2022 16 minutes ago, vladislavbelov said: Thanks! Is it possible for you to run and play the game with GDB (it allows to resolve the stack with related source lines)? How do I run it with GDB? I don't know how to reproduce the error, so I'm not sure how useful that would be. Quote Link to comment Share on other sites More sharing options...
Stan` Posted February 27, 2022 Report Share Posted February 27, 2022 18 minutes ago, Nullus said: How do I run it with GDB? I don't know how to reproduce the error, so I'm not sure how useful that would be. Basically instead of running the game through the shortcut you run it throught the commandline e.g gdb 0ad or gdb pyrogenesis When it crashes in the command line run bt (for backtrace) and upload it here Quote Link to comment Share on other sites More sharing options...
Nullus Posted February 27, 2022 Report Share Posted February 27, 2022  7 minutes ago, Stan` said: e.g gdb 0ad or gdb pyrogenesis When I run gdb pyrogenesis, the game never launches. It begins: "Reading symbols from pyrogenesis... (gdb)" There are no error messages, but the game never starts. Quote Link to comment Share on other sites More sharing options...
Stan` Posted February 27, 2022 Report Share Posted February 27, 2022 Right you need to type run and press enter See https://www.geeksforgeeks.org/gdb-step-by-step-introduction/ 1 Quote Link to comment Share on other sites More sharing options...
Nullus Posted February 27, 2022 Report Share Posted February 27, 2022 Okay, I ran the game with gdb and encountered the crash. The backtrace reported this: #0 Renderer::Backend::GL::CDeviceCommandContext::SetFramebuffer ( this=0x55555638a490, framebuffer=0x0) at ../../../source/renderer/backend/gl/DeviceCommandContext.cpp:681 #1 0x0000555555966fdc in ShadowMap::BeginRender ( this=this@entry=0x555556451838) at ../../../source/renderer/ShadowMap.cpp:578 #2 0x000055555595d881 in CSceneRenderer::RenderShadowMap ( this=0x5555563a8280, deviceCommandContext=0x55555638a490, context=...) at ../../../source/renderer/SceneRenderer.cpp:305 #3 0x0000555555961c0e in CSceneRenderer::RenderSubmissions ( this=0x5555563a8280, deviceCommandContext=0x55555638a490, waterScissor=...) at ../../../source/renderer/SceneRenderer.cpp:798 #4 0x000055555596241e in CSceneRenderer::RenderScene (this=0x5555563a8280, deviceCommandContext=0x55555638a490, scene=...) at ../../../source/renderer/SceneRenderer.cpp:1161 #5 0x00005555558e45e1 in CGameView::Render (this=<optimized out>) at ../../../source/graphics/GameView.cpp:238 #6 0x00005555559522a1 in CRenderer::RenderFrameImpl (this=0x555556436c00, renderGUI=<optimized out>, renderLogger=<optimized out>) at ../../../source/ps/Game.h:167 #7 0x00005555559545ae in CRenderer::RenderFrame (this=0x555556436c00, needsPresent=<optimized out>) at ../../../source/renderer/Renderer.cpp:429 #8 0x00005555556049bf in Frame () at ../../../source/ps/Singleton.h:51 #9 RunGameOrAtlas (argc=<optimized out>, argv=<optimized out>) at ../../../source/main.cpp:691 --Type <RET> for more, q to quit, c to continue without paging-- #10 0x00005555555f012e in main (argc=1, argv=0x7fffffffe028) at ../../../source/main.cpp:743 Â 1 Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted February 27, 2022 Report Share Posted February 27, 2022 2 minutes ago, Nullus said: Okay, I ran the game with gdb and encountered the crash. The backtrace reported this: Could you update the game to the last SVN? Quote Link to comment Share on other sites More sharing options...
Nullus Posted February 27, 2022 Report Share Posted February 27, 2022 1 minute ago, vladislavbelov said: Could you update the game to the last SVN? I updated this morning again, and this latest crash took place on revision 26498. Is there anything changed since then that would affect this? Quote Link to comment Share on other sites More sharing options...
Stan` Posted February 27, 2022 Report Share Posted February 27, 2022 5 minutes ago, Nullus said: I updated this morning again, and this latest crash took place on revision 26498. Is there anything changed since then that would affect this? Yeah some changes. The idea is also to see if the backtrace changes. Quote Link to comment Share on other sites More sharing options...
Nullus Posted February 27, 2022 Report Share Posted February 27, 2022 I've updated to the latest revision. I haven't managed to trigger a crash yet, but I'll upload the trace if I do. 2 Quote Link to comment Share on other sites More sharing options...
Stan` Posted February 27, 2022 Report Share Posted February 27, 2022 Thanks a lot for your time. Don't hesitate to do it if you get any other crash Quote Link to comment Share on other sites More sharing options...
Nullus Posted February 27, 2022 Report Share Posted February 27, 2022 It crashed again, gdb reported: DeviceCommandContext.cpp(680): Assertion failed: "framebuffer" Thread 1 "main" received signal SIGSEGV, Segmentation fault. Renderer::Backend::GL::CDeviceCommandContext::SetFramebuffer (this=0x55555631ed30, framebuffer=0x0) at ../../../source/renderer/backend/gl/DeviceCommandContext.cpp:681 681 ENSURE(framebuffer->GetHandle() == 0 || (framebuffer->GetWidth() > 0 && framebuffer->GetHeight() > 0)); [Current thread is 1 (Thread 0x7ffff2b28e40 (LWP 669743))] (gdb) bt #0 Renderer::Backend::GL::CDeviceCommandContext::SetFramebuffer ( this=0x55555631ed30, framebuffer=0x0) at ../../../source/renderer/backend/gl/DeviceCommandContext.cpp:681 #1 0x0000555555966fdc in ShadowMap::BeginRender ( this=this@entry=0x555556451fd8) at ../../../source/renderer/ShadowMap.cpp:578 #2 0x000055555595d881 in CSceneRenderer::RenderShadowMap ( this=0x5555563b1280, deviceCommandContext=0x55555631ed30, context=...) at ../../../source/renderer/SceneRenderer.cpp:305 #3 0x0000555555961c0e in CSceneRenderer::RenderSubmissions ( this=0x5555563b1280, deviceCommandContext=0x55555631ed30, waterScissor=...) at ../../../source/renderer/SceneRenderer.cpp:798 #4 0x000055555596241e in CSceneRenderer::RenderScene (this=0x5555563b1280, deviceCommandContext=0x55555631ed30, scene=...) at ../../../source/renderer/SceneRenderer.cpp:1161 #5 0x00005555558e45e1 in CGameView::Render (this=<optimized out>) at ../../../source/graphics/GameView.cpp:238 #6 0x00005555559522a1 in CRenderer::RenderFrameImpl (this=0x5555564375c0, renderGUI=<optimized out>, renderLogger=<optimized out>) at ../../../source/ps/Game.h:167 #7 0x00005555559545ae in CRenderer::RenderFrame (this=0x5555564375c0, needsPresent=<optimized out>) at ../../../source/renderer/Renderer.cpp:429 #8 0x00005555556049bf in Frame () at ../../../source/ps/Singleton.h:51 #9 RunGameOrAtlas (argc=<optimized out>, argv=<optimized out>) at ../../../source/main.cpp:691 --Type <RET> for more, q to quit, c to continue without paging-- #10 0x00005555555f012e in main (argc=1, argv=0x7fffffffe028) at ../../../source/main.cpp:743 Â Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted February 27, 2022 Report Share Posted February 27, 2022 29 minutes ago, Nullus said: It crashed again, gdb reported: Could post your graphics options (advanced tab)? Also do you have steps to reproduce? 1 Quote Link to comment Share on other sites More sharing options...
Nullus Posted February 27, 2022 Report Share Posted February 27, 2022 I haven't found any reliable steps to reproduce. I've been getting the error every time I play "Alpine Valleys", but not at any reliable time in the game. I don't know which other maps the error occurs on, or if it even depends on the map. I haven't changed my graphics settings since A26 development began. I've been playing SVN since the A25 release, and I haven't noticed this error until 1-2 weeks ago. Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted February 27, 2022 Report Share Posted February 27, 2022 19 minutes ago, Nullus said: I've been getting the error every time I play "Alpine Valleys" It happens on start? 19 minutes ago, Nullus said: , and I haven't noticed this error until 1-2 weeks ago. The assertion was added few weeks ago. It might be that the bug was silent and now it's detected by the assertion. Quote Link to comment Share on other sites More sharing options...
Nullus Posted February 27, 2022 Report Share Posted February 27, 2022 Just now, vladislavbelov said: It happens on start? No, it occurs at some point during the game. It usually seems to be 10-15 minutes into the game, but I've had it sooner. In every case I was playing Han Chinese, if that helps. Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted February 27, 2022 Report Share Posted February 27, 2022 3 hours ago, Nullus said: No, it occurs at some point during the game. It usually seems to be 10-15 minutes into the game, but I've had it sooner. In every case I was playing Han Chinese, if that helps. I've committed few additional checks to the SVN. Could you update and compile the game? 1 Quote Link to comment Share on other sites More sharing options...
Nullus Posted March 1, 2022 Report Share Posted March 1, 2022 On 27/02/2022 at 10:21 PM, vladislavbelov said: I've committed few additional checks to the SVN. Could you update and compile the game? I've updated the game and played several matches without any errors so far, so I'll cautiously assume that this is fixed. 1 Quote Link to comment Share on other sites More sharing options...
andy5995 Posted March 1, 2022 Report Share Posted March 1, 2022 Bug: Near the end of the game, Han Chinese enemy building gets destroyed infinite number of times and game doesn't end. Video clip on Twitch  Using self-build at git (GitHub) commit e723cc4  mods enabled: community maps 2, v0.25.11  commands.txt metadata.json Quote Link to comment Share on other sites More sharing options...
Nullus Posted March 1, 2022 Report Share Posted March 1, 2022 4 hours ago, Nullus said: I've updated the game and played several matches without any errors so far, so I'll cautiously assume that this is fixed. Unfortunately, it looks like I was wrong. I just got the same crash again, this time gdb reported: Thread 1 "main" received signal SIGSEGV, Segmentation fault. mozalloc_abort (msg=msg@entry=0x7ffff7c283b0 "Redirecting call to abort() to mozalloc_abort\n") at /home/aaron/0ad/libraries/source/spidermonkey/mozjs-78.6.0/memory/mozalloc/mozalloc_abort.cpp:33 33 MOZ_CRASH(); btdb) #0 mozalloc_abort ( msg=msg@entry=0x7ffff7c283b0 "Redirecting call to abort() to mozalloc_abort\n") at /home/aaron/0ad/libraries/source/spidermonkey/mozjs-78.6.0/memory/mozalloc/mozalloc_abort.cpp:33 #1 0x00007ffff723d607 in abort () at /home/aaron/0ad/libraries/source/spidermonkey/mozjs-78.6.0/memory/mozalloc/mozalloc_abort.cpp:82 #2 0x00005555555e4c28 in try_gui_display_error (no_continue=<optimized out>, allow_suppress=<optimized out>, manual_break=<optimized out>, text=<optimized out>) at ../../../source/lib/sysdep/os/unix/unix.cpp:197 #3 sys_display_error ( text=text@entry=0x555555d6bba0 <(anonymous namespace)::g_MessageBuffer> L"Assertion failed: \"framebuffer\"\r\nLocation: DeviceCommandContext.cpp:680 (SetFramebuffer)\r\n\r\nCall stack:\r\n\r\n(0x555555b53c15) /home/aaron/0ad/binaries/system/pyrogenesis(+0x5ffc15) [0x555555b53c15]\n(0x5"..., flags=<optimized out>, flags@entry=6) at ../../../source/lib/sysdep/os/unix/unix.cpp:216 #4 0x0000555555b0283b in CallDisplayError (flags=6, text=0x555555d6bba0 <(anonymous namespace)::g_MessageBuffer> L"Assertion failed: \"framebuffer\"\r\nLocation: DeviceCommandContext.cpp:680 (SetFramebuffer)\r\n\r\nCall stack:\r\n\r\n(0x555555b53c15) /home/aaron/0ad/binaries/system/pyrogenesis(+0x5ffc15) [0x555555b53c15]\n(0x5"...) at ../../../source/lib/debug.cpp:374 #5 debug_DisplayError ( description=0x7fffffffc400 L"Assertion failed: \"framebuffer\"", flags=6, context=<optimized out>, lastFuncToSkip=<optimized out>, --Type <RET> for more, q to quit, c to continue without paging-- pathname=<optimized out>, line=680, func=0x555555c43453 "SetFramebuffer", suppress=0x555555d69f60 <Renderer::Backend::GL::CDeviceCommandContext::SetFramebuffer(Renderer::Backend::GL::CFramebuffer*)::suppress__>) at ../../../source/lib/debug.cpp:460 #6 0x0000555555b02948 in debug_OnAssertionFailure ( expr=expr@entry=0x555555c43eb8 L"framebuffer", suppress=suppress@entry=0x555555d69f60 <Renderer::Backend::GL::CDeviceCommandContext::SetFramebuffer(Renderer::Backend::GL::CFramebuffer*)::suppress__>, file=file@entry=0x555555c434b8 L"../../../source/renderer/backend/gl/DeviceCommandContext.cpp", line=line@entry=680, func=func@entry=0x555555c43453 "SetFramebuffer") at ../../../source/lib/debug.cpp:547 #7 0x00005555559974b6 in Renderer::Backend::GL::CDeviceCommandContext::SetFramebuffer (this=0x555556347110, framebuffer=0x0) at ../../../source/renderer/backend/gl/DeviceCommandContext.cpp:680 #8 0x0000555555966fe1 in ShadowMap::BeginRender ( this=this@entry=0x555556452728) at /usr/include/c++/11/bits/unique_ptr.h:173 #9 0x000055555595d881 in CSceneRenderer::RenderShadowMap ( this=0x5555563b2280, deviceCommandContext=0x555556347110, context=...) at ../../../source/renderer/SceneRenderer.cpp:305 #10 0x0000555555961c0e in CSceneRenderer::RenderSubmissions ( this=0x5555563b2280, deviceCommandContext=0x555556347110, waterScissor=...) at ../../../source/renderer/SceneRenderer.cpp:798 #11 0x000055555596241e in CSceneRenderer::RenderScene (this=0x5555563b2280, deviceCommandContext=0x555556347110, scene=...) at ../../../source/renderer/SceneRenderer.cpp:1161 --Type <RET> for more, q to quit, c to continue without paging-- #12 0x00005555558e45e1 in CGameView::Render (this=<optimized out>) at ../../../source/graphics/GameView.cpp:238 #13 0x00005555559522a1 in CRenderer::RenderFrameImpl (this=0x5555564380e0, renderGUI=<optimized out>, renderLogger=<optimized out>) at ../../../source/ps/Game.h:167 #14 0x00005555559545ae in CRenderer::RenderFrame (this=0x5555564380e0, needsPresent=<optimized out>) at ../../../source/renderer/Renderer.cpp:429 #15 0x00005555556049bf in Frame () at ../../../source/ps/Singleton.h:51 #16 RunGameOrAtlas (argc=<optimized out>, argv=<optimized out>) at ../../../source/main.cpp:691 #17 0x00005555555f012e in main (argc=1, argv=0x7fffffffe028) at ../../../source/main.cpp:743 Â Quote Link to comment Share on other sites More sharing options...
Nullus Posted March 1, 2022 Report Share Posted March 1, 2022 On 27/02/2022 at 5:52 PM, vladislavbelov said: Also do you have steps to reproduce? I have found a way to reproduce it now. It always crashes when I move the building placement preview for some reasonably complex building, such as a stable, over an area outside of the map boundaries. It doesn't seem to work with simpler buildings, such as a house. 1 Quote Link to comment Share on other sites More sharing options...
maroder Posted March 1, 2022 Report Share Posted March 1, 2022 (edited) 37 minutes ago, Nullus said: It always crashes when I move the building placement preview for some reasonably complex building, such as a stable, over an area outside of the map boundaries. can reproduce, same for me. It doesn't trigger with every building and sometimes you have to move it around quite a bit outside of the map boundary to trigger. interestingly my error just says: (error while formatting error message) and I can click continue without crashing. Edited March 1, 2022 by maroder Quote Link to comment Share on other sites More sharing options...
faction02 Posted March 1, 2022 Report Share Posted March 1, 2022 (edited) I tested the Han, I noticed that they have access champions through captured stables or barracks, not sure if that would make sense since they don't have to search for some upgrades or anything of the kind. The Han have also access to will-to-fight on top of their own fort technology when they capture an enemy fort. After capturing an enemy fort and its stables and making all upgrades and getting the right hero, I was able to spam champion crossbowmen war chariots that had 114 damages per 1 second. That seemed to be slightly too high compared to the already quite good performance of britanic war chariots with Boudica that can currently reached 85.7 per 1.25 seconds ...  Edited March 1, 2022 by faction02 1 Quote Link to comment Share on other sites More sharing options...
vladislavbelov Posted March 1, 2022 Report Share Posted March 1, 2022 8 hours ago, Nullus said: I have found a way to reproduce it now. It always crashes when I move the building placement preview for some reasonably complex building, such as a stable, over an area outside of the map boundaries. It doesn't seem to work with simpler buildings, such as a house. Thank you very much for testing! I added a fix, though it might have a bit different stack. Could you try the latest SVN? 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.