Skip to content

Intermittent assertion failure at GameClient or GameServer #274

Description

@oznogon

EmptyEpsilon inconsistently crashes when entering the server selection screen from a client:

Assertion failure at GameClient (/home/gguillotte/git/daid/SeriousProton/src/multiplayer_client.cpp:19), triggered 1 time:
  '!game_client'

Trace/breakpoint trap (core dumped)

gdb backtrace:

#0  0x0000000000474c3b in GameClient::GameClient(int, sp::io::network::Address, int) ()
#1  0x00000000005e680e in JoinServerScreen::JoinServerScreen(ServerScanner::ServerInfo const&) ()
#2  0x00000000005eb9c3 in ServerBrowserMenu::connect(ServerScanner::ServerInfo const&) ()
#3  0x00000000005eb93a in ServerBrowserMenu::connect(string) ()
#4  0x00000000005e87a4 in ServerBrowserMenu::ServerBrowserMenu(std::optional<GameClient::DisconnectReason>)::{lambda()#2}::operator()() const ()
#5  0x00000000005ed718 in void std::__invoke_impl<void, ServerBrowserMenu::ServerBrowserMenu(std::optional<GameClient::DisconnectReason>)::{lambda()#2}&>(std::__invoke_other, ServerBrowserMenu::ServerBrowserMenu(std::optional<GameClient::DisconnectReason>)::{lambda()#2}&) ()
#6  0x00000000005ec989 in std::enable_if<is_invocable_r_v<void, ServerBrowserMenu::ServerBrowserMenu(std::optional<GameClient::DisconnectReason>)::{lambda()#2}&>, void>::type std::__invoke_r<void, ServerBrowserMenu::ServerBrowserMenu(std::optional<GameClient::DisconnectReason>)::{lambda()#2}&>(ServerBrowserMenu::ServerBrowserMenu(std::optional<GameClient::DisconnectReason>)::{lambda()#2}&)
    ()
#7  0x00000000005ebf52 in std::_Function_handler<void (), ServerBrowserMenu::ServerBrowserMenu(std::optional<GameClient::DisconnectReason>)::{lambda()#2}>::_M_invoke(std::_Any_data const&) ()
#8  0x000000000056df38 in std::function<void ()>::operator()() const ()
#9  0x00000000009a7f71 in GuiButton::onMouseUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#10 0x0000000000999307 in GuiCanvas::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#11 0x000000000049cf52 in RenderLayer::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#12 0x000000000049cfb6 in RenderLayer::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#13 0x000000000049cfb6 in RenderLayer::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#14 0x0000000000499fe2 in PostProcessor::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#15 0x0000000000499fe2 in PostProcessor::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#16 0x00000000004d55d7 in Window::handleEvent(SDL_Event const&) ()
#17 0x000000000041538e in Engine::handleEvent(SDL_Event&) ()
#18 0x0000000000414a84 in Engine::runMainLoop() ()
#19 0x000000000056720d in main ()

Or when starting a scenario as a server:

Assertion failure at GameServer (/home/gguillotte/git/daid/SeriousProton/src/multiplayer_server.cpp:32), triggered 1 time:
  '!game_server'

Trace/breakpoint trap (core dumped)

gdb backtrace:

#0  0x0000000000483c8b in GameServer::GameServer(string, int, int) ()
#1  0x000000000057258e in EpsilonServer::EpsilonServer(int) ()
#2  0x00000000005fde7f in ServerSetupScreen::ServerSetupScreen()::{lambda()#2}::operator()() const ()
#3  0x000000000060d7fa in void std::__invoke_impl<void, ServerSetupScreen::ServerSetupScreen()::{lambda()#2}&>(std::__invoke_other, ServerSetupScreen::ServerSetupScreen()::{lambda()#2}&) ()
#4  0x000000000060c72f in std::enable_if<is_invocable_r_v<void, ServerSetupScreen::ServerSetupScreen()::{lambda()#2}&>, void>::type std::__invoke_r<void, ServerSetupScreen::ServerSetupScreen()::{lambda()#2}&>(ServerSetupScreen::ServerSetupScreen()::{lambda()#2}&) ()
#5  0x000000000060b984 in std::_Function_handler<void (), ServerSetupScreen::ServerSetupScreen()::{lambda()#2}>::_M_invoke(std::_Any_data const&) ()
#6  0x000000000056df38 in std::function<void ()>::operator()() const ()
#7  0x00000000009ab123 in GuiButton::onMouseUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#8  0x000000000099c4b9 in GuiCanvas::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#9  0x000000000049cf52 in RenderLayer::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#10 0x000000000049cfb6 in RenderLayer::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#11 0x000000000049cfb6 in RenderLayer::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#12 0x0000000000499fe2 in PostProcessor::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#13 0x0000000000499fe2 in PostProcessor::onPointerUp(glm::vec<2, float, (glm::qualifier)0>, long) ()
#14 0x00000000004d55d7 in Window::handleEvent(SDL_Event const&) ()
#15 0x000000000041538e in Engine::handleEvent(SDL_Event&) ()
#16 0x0000000000414a84 in Engine::runMainLoop() ()
#17 0x000000000056720d in main ()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions