[Linux] Overlay browser causes freeze inside M4::OpenGLContext::SwapBuffers

rkfgrkfg Russia Join Date: 2013-09-03 Member: 187744Members, Reinforced - Supporter, Reinforced - Silver, Reinforced - Gold, Reinforced - Diamond, Reinforced - Shadow
Can't really say when it all started, maybe after the Steam update, but for several months now I can't use the overlay browser as it quite often freezes the whole game. How to reproduce:
1) Start a listen server
2) Hold Tab and open your own steam profile page so that the overlay appears
3) Scroll up and down quickly
4) After 5-10 seconds it freezes
It doesn't happen while in the main menu, I can use the overlay and the browser without any issues. It only freezes while in the game, even when in ready room.
How to unfreeze:
1) gdb attach `pidof ns2_linux32`
2) Ctrl+D, y, Enter
The stacktrace when the game is frozen:
(gdb) bt
#0 0xf7734c89 in __kernel_vsyscall ()
#1 0xf661f5a7 in syscall () from target:/lib/i386-linux-gnu/libc.so.6
#2 0xf7700f40 in ?? () from target:/opt/SteamLinux/ubuntu12_32/gameoverlayrenderer.so
#3 0xf77011b7 in ?? () from target:/opt/SteamLinux/ubuntu12_32/gameoverlayrenderer.so
#4 0xf770866d in ?? () from target:/opt/SteamLinux/ubuntu12_32/gameoverlayrenderer.so
#5 0xf7708980 in ?? () from target:/opt/SteamLinux/ubuntu12_32/gameoverlayrenderer.so
#6 0xf7711ea2 in ?? () from target:/opt/SteamLinux/ubuntu12_32/gameoverlayrenderer.so
#7 0xf7713b8c in ?? () from target:/opt/SteamLinux/ubuntu12_32/gameoverlayrenderer.so
#8 0xf770d8bb in glXSwapBuffers () from target:/opt/SteamLinux/ubuntu12_32/gameoverlayrenderer.so
#9 0xf7205cf4 in M4::OpenGLContext::SwapBuffers (this=0xec12884c) at ../Source/Render/linux/OpenGLContext.cpp:245
#10 0xf720c128 in M4::OpenGLSwapChain::Present (this=this@entry=0xee5c9fe0) at ../Source/Render/OpenGLSwapChain.cpp:138
#11 0xf7206b23 in M4::OpenGLDevice::Present (this=0xec1287d8, swapChain=0xee5c9fe0) at ../Source/Render/OpenGLDevice.cpp:424
#12 0x0807c0cd in M4::ClientGame::FinishRendering (this=this@entry=0xec12f008) at ../Source/Spark_Client/ClientGame.cpp:1448
#13 0x0807fb0a in M4::ClientGame::Update (this=0xec12f008, deltaTime=5.0960000024247165e-06) at ../Source/Spark_Client/ClientGame.cpp:1205
#14 0x0806ddbf in M4::ClientEngine::Update (this=0xf47d7be0, deltaTime=5.0960000024247165e-06) at ../Source/Spark_Client/ClientEngine.cpp:226
#15 0x080d6692 in M4::BaseEngine::RunFrame (this=0xf47d7be0) at ../Source/Spark_Server/BaseEngine.cpp:206
#16 M4::BaseEngine::Run (this=this@entry=0xf47d7be0) at ../Source/Spark_Server/BaseEngine.cpp:170
#17 0x0806aff9 in main (argc=1, argv=0xfffd91c4) at ../Source/ShooterExe/Main.cpp:106
Log:
Date: 06/26/2017
Time: 04:33:55 PM:
[ 0.005] Unbound/Unknown : Filesystem initialized, cache enabled
Build 316.100
Linux
Steam initialized
[INVENTORY] Granting Promo Items
Num displays: 1
OpenGL 3.1.0 NVIDIA 375.66 initialized (NVIDIA Corporation GeForce GTX 1070/PCIe/SSE2)
GLSL version 1.40 NVIDIA via Cg compiler
ARB_texture_storage extension present
ARB_get_program_binary extension present
Sound Device: default stereo
Record Device: default
Loading config://ConsoleBindings.json
Loading config://FavoriteServers.json
Loading config://HistoryServers.json
Loading config://RankedServers.json
Main Menu Initialized at Version: 316
Steam Id: 36893399
Remote patch received. Loading...
Remote patch applied succesfully.
Client : 1.456927 : [Analytics] Recording launch event
Server tickrate 30, client sendrate 20, bandwidth limit per player 51200
Connected to Steam servers
Connecting to server 127.0.0.1:27015
Loading config://ServerConfig.json
Loading config://ReservedSlotsConfig.json
Resampling uncompressed animations at 1/2 frame rate to conserve memory
VAC Enabled
Client connecting (127.0.0.1:37768)
Loading config://ServerAdmin.json
Loading config://BannedPlayers.json
Loading config://MapCycle.json
Hashed 1 game_setup.xml files for consistency
Hashed 900 *.lua files for consistency
Hashed 38 *.hlsl files for consistency
Hashed 31 *.shader files for consistency
Hashed 18 *.screenfx files for consistency
Hashed 185 *.surface_shader files for consistency
Hashed 1 *.fxh files for consistency
Hashed 5 *.render_setup files for consistency
Hashed 2 *.shader_template files for consistency
Hashed 29 *.level files for consistency
Hashed 6480 *.dds files for consistency
Hashed 953 *.cinematic files for consistency
Hashed 2363 *.material files for consistency
Hashed 4112 *.model files for consistency
Hashed 108 *.animation_graph files for consistency
Hashed 204 *.polygons files for consistency
Hashed 3 *.fev files for consistency
Hashed 12 *.hmp files for consistency
Skipped 604 ui/*.dds files for consistency
Skipped 156 *_view*.dds files for consistency
Skipped 68 *_view*.material files for consistency
Skipped 180 *_view*.model files for consistency
Skipped 25 models/marine/hands/* files for consistency
Skipped 1 sound/*_client.fev files for consistency
Skipped 1 shaders/DarkVision.hlsl files for consistency
Skipped 1 shaders/DarkVision.screenfx files for consistency
Skipped 1 shaders/DarkVision.shader files for consistency
Skipped 1 models/marine/male/flashlight.dds files for consistency
Hashed 0 lua/entry/*.entry files for consistency
Consistency checking took 1 seconds
Server : 0.000000 : INFO: LuaJIT setup: maxtrace=20,000, maxmcode=35,000
[ 35.258] Worker 12 : Loading 'maps/ns2_summit.level'
Loading pathing mesh for level maps/ns2_summit.level
Finished loading 'maps/ns2_summit.level'
Loading config://ConsoleBindings.json
Loading config://FavoriteServers.json
Loading config://HistoryServers.json
Loading config://RankedServers.json
[ 44.156] Worker 02 : Loading 'maps/ns2_summit.level'
Loading pathing mesh for level maps/ns2_summit.level
Finished loading 'maps/ns2_summit.level'
Client : 0.000000 : INFO: LuaJIT setup: maxtrace=25,000, maxmcode=40,000
Loading took 4.052697504 seconds
Client connected (127.0.0.1)
Client Authed. Steam ID: 36893399
S Y C C connected.
Main Menu Initialized at Version: 316
Steam Id: 36893399
Client disconnected (127.0.0.1:37768) Server shutdown
[ 74.998] MainThread : Error: Attempted to load remote options from a file that does not exist.
[ 76.027] MainThread : Error: 2 memory leaks in 'BaseFileTextureManager' (520 bytes)
[ 76.332] MainThread : Error: 1 memory leaks in 'OpenGLDevice' (84 bytes)
[ 76.486] MainThread : Error: 3 memory leaks in 'ClientMisc' (596 bytes)
[ 76.486] MainThread : Error: 6 memory leaks in 'Client' (1200 bytes)
[ 76.500] MainThread : Error: 6 memory leaks in 'Engine' (1200 bytes)

I roughly understand what's happening, on OpenGL flush (glXSwapBuffers) the overlay freezes for some reason. As I understand it, the overlay hooks glXSwapBuffers to add its graphics on top of the rendered frame and then execute the real swap but in this case it doesn't get to it. Attaching and detaching gdb mysteriously breaks the loop or whatever it waits for. So technically the issue is outside the game. However:
1) Other games don't suffer from that.
2) There were cases when a game missed mouse clicks inside the overlay except the mouse was moving at the time of the click and it has been fixed on the game developer side.
3) There also were cases of successful communication between a dev and Valve regarding the overlay issues so you can definitely ask them what could go wrong.

Comments

  • GhoulofGSG9GhoulofGSG9 Join Date: 2013-03-31 Member: 184566Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Reinforced - Supporter, WC 2013 - Supporter, Pistachionauts
    Thanks for the report. I'll add it to the Linux to-do list. However it's not super high priority so no idea when we will find time to fix it.
  • rkfgrkfg Russia Join Date: 2013-09-03 Member: 187744Members, Reinforced - Supporter, Reinforced - Silver, Reinforced - Gold, Reinforced - Diamond, Reinforced - Shadow
    Thanks. Can I at least get a confirmation of this behavior? It could be something on my side, in that case I'll try reinstalling Steam or mess with other things.
  • GhoulofGSG9GhoulofGSG9 Join Date: 2013-03-31 Member: 184566Members, Super Administrators, Forum Admins, Forum Moderators, NS2 Developer, NS2 Playtester, Squad Five Blue, Squad Five Silver, Reinforced - Supporter, WC 2013 - Supporter, Pistachionauts
    edited June 2017
    rkfg wrote: »
    Thanks. Can I at least get a confirmation of this behavior? It could be something on my side, in that case I'll try reinstalling Steam or mess with other things.

    Yes, i could confirm the issue with my debian 9 setup so it seems like Valve or some system packet changed some behavior.
Sign In or Register to comment.