Linux - Random segfaults
Ghosthree3
Join Date: 2010-02-13 Member: 70557Members, Reinforced - Supporter
Join Date: 2010-02-13 Member: 70557Members, Reinforced - Supporter
I've started playing this game again in the last few days after remembering that it has Linux support. However, since doing so I have been plagued with random freezes/crashes that are apparently segfaults. There's no commonality between them that I've noticed other than that I'm simply playing the game. It happens on either team, with any weapon/form, and has an interval of anywhere between several hours and several minutes (one time 3-4 hours, then 2 hours and several more crashes later, 3 minutes after I had reconnected). 9 times out of 10 when it freezes I am forced to SIGKILL it or it will hang indefinitely, but occasionally it closes itself after 30 seconds or so.
Here's the gdb backtrace from the last one I had.
The Crash Handler seems to only work when the game closes itself, which it did not do this time so I have no associated one to attach.
However I can tell you that the log.txt will contain nothing of interest, and I do not know how to analyze the dump.dmp to see if it would. If you require it I can try and obtain one, but the crashes are already random, a 'proper' crash might take a while to catch.
EDIT: Got another segfault, backtrace looks identical other than different memory addresses.
Here's the gdb backtrace from the last one I had.
Thread 1 "ns2_linux" received signal SIGSEGV, Segmentation fault.
0x00007f1fc5d13d6e in __memmove_sse2_unaligned_erms () from /usr/lib/libc.so.6
(gdb) bt
#0 0x00007f1fc5d13d6e in __memmove_sse2_unaligned_erms () from /usr/lib/libc.so.6
#1 0x00007f1f73e63f29 in ?? () from /usr/lib/libnvidia-glcore.so.387.34
#2 0x00007f1f73e6ea93 in ?? () from /usr/lib/libnvidia-glcore.so.387.34
#3 0x00007f1f73a32b97 in ?? () from /usr/lib/libnvidia-glcore.so.387.34
#4 0x00007f1fc7c39346 in M4::OpenGLDevice::DrawIndexedPrimitives (this=0x7f1fbc00f7f0,
primitiveType=primitiveType@entry=M4::RenderPrimitiveType_TriangleList, minVertexIndex=minVertexIndex@entry=0,
numVertices=65, startIndex=startIndex@entry=0, numPrimitives=numPrimitives@entry=48, numInstances=2)
at ../Source/Render/OpenGLDevice.cpp:1084
#5 0x00007f1fc7c63464 in M4::RenderModelProxy::RenderFaceSet (this=0x7f1f54970ee0,
faceSetIndex=faceSetIndex@entry=0, numInstances=2) at ../Source/Render/RenderModelProxy.cpp:331
#6 0x00007f1fc7c5f8ef in M4::RenderModelArray::RenderFaceSet (this=0x7f1ea3db8ea0, faceSetIndex=0)
at ../Source/Render/RenderModelArray.cpp:424
#7 0x00007f1fc7c7abda in M4::ObjectRenderer<M4::RenderModelArray>::RenderFaceSet (this=0x7ffe4ca15fa7, faceSet=...,
faceSet=...) at ../Source/Render/RenderRenderer.cpp:357
#8 M4::RenderRenderer::RenderFaceSets<M4::RenderModelArray, M4::ObjectRenderer<M4::RenderModelArray> > (
this=this@entry=0x7f1f56545d80, context=..., viewerParams=..., renderer=...,
faceSets=faceSets@entry=0x7f1ef3f25070, numFaceSets=numFaceSets@entry=22)
at ../Source/Render/RenderRenderer.cpp:3338
#9 0x00007f1fc7c77db6 in M4::RenderRenderer::RenderModelArrays (this=this@entry=0x7f1f56545d80, context=...,
viewerParams=..., modelArray=<optimized out>, numModelArrays=<optimized out>,
techniqueIndex=techniqueIndex@entry=1, reverseCulling=false, shadows=false)
at ../Source/Render/RenderRenderer.cpp:2539
#10 0x00007f1fc7c78fec in M4::RenderRenderer::RenderObjects (this=this@entry=0x7f1f56545d80, context=...,
viewerParams=..., typeIndex=..., techniqueIndex=techniqueIndex@entry=1, objectsMask=objectsMask@entry=4294967039)
at ../Source/Render/RenderRenderer.cpp:2088
#11 0x00007f1fc7c794b2 in M4::RenderRenderer::RenderObjects (this=this@entry=0x7f1f56545d80, scene=scene@entry=
0x7f1f56eedc20, context=..., typeIndexes=typeIndexes@entry=0x7ffe4ca16690, camera=..., viewport=...,
techniqueIndex=1, objectsMask=4294967039, zonesMask=4294967295) at ../Source/Render/RenderRenderer.cpp:2911
#12 0x00007f1fc7c79d81 in M4::RenderRenderer::Render (this=0x7f1f56545d80, pipeline=pipeline@entry=0x7f1f203c9010,
colorTarget=0x7f1fbc04ef40, depthTarget=depthTarget@entry=0x7f1fbc669e60, faceIndex=faceIndex@entry=0,
sourceTexture=sourceTexture@entry=0x0, sceneSettings=0x7f1efb482782, setupSettings=0x7ffe4ca169c0,
scene=0x7f1f56eedc20, time=<optimized out>, camera=..., viewport=..., visibleObjects=...,
background=<optimized out>) at ../Source/Render/RenderRenderer.cpp:1229
#13 0x00007f1fc7c8784b in M4::RenderScene::InternalRender (this=this@entry=0x7f1f56eedc20, settings=...,
colorTarget=<optimized out>, colorTarget@entry=0x7f1fbc04ef40, depthTarget=depthTarget@entry=0x7f1fbc669e60,
faceIndex=faceIndex@entry=0, pipeline=pipeline@entry=0x7f1f203c9010, camera=..., prevCamera=0x0, viewport=...,
renderMask=4294967295, cullingMode=M4::RenderScene_CullingMode_Occlusion, background=0x0,
deltaTime=deltaTime@entry=0.0173339844) at ../Source/Render/RenderScene.cpp:794
#14 0x00007f1fc7c87c5b in M4::RenderScene::InternalRender (this=this@entry=0x7f1f56eedc20, settings=...,
colorTarget=colorTarget@entry=0x7f1fbc04ef40, depthTarget=depthTarget@entry=0x7f1fbc669e60,
faceIndex=faceIndex@entry=0, camera=camera@entry=0x7f1f2243a810, _viewport=0x0, background=0x0,
deltaTime=deltaTime@entry=0.0173339844) at ../Source/Render/RenderScene.cpp:732
#15 0x00007f1fc7c87edc in M4::RenderScene::RenderMainCamera (this=this@entry=0x7f1f56eedc20, settings=...,
colorTarget=0x7f1fbc04ef40, depthTarget=depthTarget@entry=0x7f1fbc669e60, faceIndex=faceIndex@entry=0,
camera=camera@entry=0x7f1f2243a810, viewport=0x0, background=0x0, time=time@entry=1674.8392333984375)
at ../Source/Render/RenderScene.cpp:693
#16 0x00007f1fc7c87f95 in M4::RenderScene::Render (this=0x7f1f56eedc20, settings=..., colorTarget=<optimized out>,
depthTarget=0x7f1fbc669e60, camera=0x7f1f2243a810, background=background@entry=0x0, time=1674.8392333984375,
time@entry=6.9057667515803026e-310) at ../Source/Render/RenderScene.cpp:492
#17 0x0000000000454850 in M4::ClientWorld::Render (this=<optimized out>, drawer=...,
swapChain=swapChain@entry=0x7f1fbc72dfa0) at ../Source/Spark_Client/ClientWorld.cpp:3169
#18 0x0000000000433e36 in M4::ClientGame::Render (this=this@entry=0x7f1fbc04a010, swapChain=0x7f1fbc72dfa0)
at ../Source/Spark_Client/ClientGame.cpp:2002
#19 0x0000000000446f9e in M4::ClientGame::Update (this=0x7f1fbc04a010, deltaTime=<optimized out>)
at ../Source/Spark_Client/ClientGame.cpp:1184
#20 0x0000000000430a45 in M4::ClientEngine::Update (this=0x7f1fc8e0a420, deltaTime=0.018223483999463497)
at ../Source/Spark_Client/ClientEngine.cpp:253
#21 0x00000000004a52b1 in M4::BaseEngine::RunFrame (this=0x7f1fc8e0a420) at ../Source/Spark_Server/BaseEngine.cpp:212
#22 M4::BaseEngine::Run (this=0x7f1fc8e0a420) at ../Source/Spark_Server/BaseEngine.cpp:176
#23 0x000000000042e13c in main (argc=<optimized out>, argv=<optimized out>) at ../Source/ShooterExe/Main.cpp:113
The Crash Handler seems to only work when the game closes itself, which it did not do this time so I have no associated one to attach.
However I can tell you that the log.txt will contain nothing of interest, and I do not know how to analyze the dump.dmp to see if it would. If you require it I can try and obtain one, but the crashes are already random, a 'proper' crash might take a while to catch.
EDIT: Got another segfault, backtrace looks identical other than different memory addresses.
Comments
Unfortunately nothing can be done (other than this bandaid) unless the bug in the Spark engine is fixed.