secondlife / viewer

🖥️ Second Life's official client
GNU Lesser General Public License v2.1
206 stars 52 forks source link

BugSplat Crash: SecondLifeViewer!LLRender::flush(1637) #1856

Open sl-service-account opened 2 months ago

sl-service-account commented 2 months ago

Test plan:

  1. Verify the viewer starts and can log in on a Windows system with any of the following video cards. Intel(R) HD Graphics (this one may be unsupported on 64bit Windows) Intel(R) HD Graphics Family (this one may be unsupported on 64bit Windows) Intel(R) HD Graphics 4000 Intel(R) HD Graphics 4400 Intel(R) HD Graphics 4600 Intel(R) HD Graphics 5500 Intel(R) HD Graphics 6000
  2. Please note which video card was tested.

Expected: Log in without crash

BugSplat Key Crash 94199

Sample Version: 7.1.9.9620320242

Sample Callstack:

SecondLifeViewer!LLRender::flushC:/a/viewer/viewer/indra/llrender/llrender.cpp(1637)
SecondLifeViewer!LLPipeline::createLUTBuffersC:/a/viewer/viewer/indra/newview/pipeline.cpp(1314)
SecondLifeViewer!LLPipeline::createGLBuffersC:/a/viewer/viewer/indra/newview/pipeline.cpp(1247)
SecondLifeViewer!LLViewerShaderMgr::setShadersC:/a/viewer/viewer/indra/newview/llviewershadermgr.cpp(684)
SecondLifeViewer!LLPipeline::initC:/a/viewer/viewer/indra/newview/pipeline.cpp(455)
SecondLifeViewer!LLAppViewer::initWindowC:/a/viewer/viewer/indra/newview/llappviewer.cpp(3159)
SecondLifeViewer!LLAppViewer::initC:/a/viewer/viewer/indra/newview/llappviewer.cpp(942)
SecondLifeViewer!LLAppViewerWin32::initC:/a/viewer/viewer/indra/newview/llappviewerwin32.cpp(796)
SecondLifeViewer!wWinMainC:/a/viewer/viewer/indra/newview/llappviewerwin32.cpp(467)
SecondLifeViewer!invoke_mainD:/a/_work/1/s/src/vctools/crt/vcstartup/src/startup/exe_common.inl(118)
SecondLifeViewer!__scrt_common_main_sehD:/a/_work/1/s/src/vctools/crt/vcstartup/src/startup/exe_common.inl(288)
kernel32!BaseThreadInitThunk
ntdll!RtlUserThreadStart
AtlasLinden commented 1 month ago

This specific stack key has only been hit by two users. However, a similar stack that is currently hit a lot more can be found here: https://github.com/secondlife/viewer/issues/1531

Dan-Linden commented 1 week ago

This crash has increased significantly in 7.1.9.10515727195. My system with an Intel HD Graphics 4400 crashes on startup: https://app.bugsplat.com/v2/crash?database=SecondLife_Viewer_2018&id=1513508

canny[bot] commented 1 week ago

This issue has been linked to a Canny post: Crashes while Initializing Texture Cache - Fresh Install :tada:

Dan-Linden commented 1 week ago

This fix has been verified on Intel(R) HD Graphics 4400 & 4600

igorlproductengine commented 1 week ago

Passed QA. Verified on the Second Life Release 7.1.10.10622905308 (64bit) on Win10 in the scope of secondlife/iqa#323.

The viewer does not start in Win10 on Intel HD and Intel HD 3000 video cards - giving a message about problems with the driver. There is no crash.

The same behavior is on the current release 7.1.9.10515727195 viewer.

The viewer runs without crashing on the Intel HD Graphics 610 video card.

Taking into account the tested Intel HD Graphics 4400 and 4600 video cards, I consider the bug fixed.

Tested on: Win10: Intel HD and Intel HD 3000 screenshot: 7 1 10 10622905308 - Win10 - Intel HD and Intel HD 3000

Log_Intel_HD_3000: SecondLife_Intel_HD_3000.log Log_Intel_HD: SecondLife_Intel_HD.log

Win11: Intel HD 610 screenshot: 7 1 10 10622905308- Win11 - Intel HD 610

log_Intel_HD_610: SecondLife_Intel_HD_610.log

igorlproductengine commented 4 days ago

Failed QA. Verified on the Second Life Release 7.1.10.10622905308 (64bit) on Win10/OSX in the scope of https://github.com/secondlife/iqa/issues/323.

The viewer does not start in Win10 on the Intel HD 4000 video card - without giving a message about problems with the driver. There is the crash: https://app.bugsplat.com/v2/crash?database=SecondLife_Viewer_2018&id=1521049.

Logs: SecondLifeLOGS_7.1.10.10622905308.zip

igorlproductengine commented 3 days ago

Failed QA. Verified on the Second Life Release 7.1.10.10708851543 (64bit) on Win10 in the scope of secondlife/iqa#326.

The viewer does not start in Win10 on the Intel HD 4000 video card - without giving a message about problems with the driver. I didn't completely check this issue according to the test plan because of the crash. There is the crash: https://app.bugsplat.com/v2/crash?database=SecondLife_Viewer_2018&id=1523757

akleshchev commented 2 days ago
WARNING # llrender/llshadermgr.cpp(932) LLShaderMgr::linkProgramObject : GLSL Linker Error:
WARNING # llrender/llshadermgr.cpp(435) LLShaderMgr::dumpObjectLog : Shader loading from linker
WARNING # llrender/llshadermgr.cpp(436) LLShaderMgr::dumpObjectLog : \nERROR: Undefined function call: "srgb_to_linear(vf3;)".  Function not found.\n
WARNING # llrender/llshadermgr.cpp(435) LLShaderMgr::dumpObjectLog : Shader loading from Terrain Bake Shader RGB5
WARNING # llrender/llshadermgr.cpp(436) LLShaderMgr::dumpObjectLog : \nERROR: Undefined function call: "srgb_to_linear(vf3;)".  Function not found.\n
WARNING # llrender/llglslshader.cpp(469) LLGLSLShader::createShader : Failed to link using shader level 2 trying again using shader level 1
WARNING # llrender/llshadermgr.cpp(932) LLShaderMgr::linkProgramObject : GLSL Linker Error:
WARNING # llrender/llshadermgr.cpp(435) LLShaderMgr::dumpObjectLog : Shader loading from linker
WARNING # llrender/llshadermgr.cpp(436) LLShaderMgr::dumpObjectLog : \nERROR: Undefined function call: "get_terrain_mix_weights(f1;f1;f1;)".  Function not found.\n
WARNING # llrender/llshadermgr.cpp(435) LLShaderMgr::dumpObjectLog : Shader loading from Terrain Bake Shader RGB5
WARNING # llrender/llshadermgr.cpp(436) LLShaderMgr::dumpObjectLog : \nERROR: Undefined function call: "get_terrain_mix_weights(f1;f1;f1;)".  Function not found.\n
WARNING # llrender/llglslshader.cpp(464) LLGLSLShader::createShader : Failed to link shader: Terrain Bake Shader RGB5
WARNING # llrender/llglslshader.cpp(469) LLGLSLShader::createShader : Failed to link using shader level 1 trying again using shader level 0
WARNING # llrender/llglslshader.cpp(464) LLGLSLShader::createShader : Failed to link shader: Terrain Bake Shader RGB5
brad-linden commented 2 days ago
WARNING # llrender/llshadermgr.cpp(932) LLShaderMgr::linkProgramObject : GLSL Linker Error:
WARNING # llrender/llshadermgr.cpp(435) LLShaderMgr::dumpObjectLog : Shader loading from linker
WARNING # llrender/llshadermgr.cpp(436) LLShaderMgr::dumpObjectLog : \nERROR: Undefined function call: "srgb_to_linear(vf3;)".  Function not found.\n
WARNING # llrender/llshadermgr.cpp(435) LLShaderMgr::dumpObjectLog : Shader loading from Terrain Bake Shader RGB5
WARNING # llrender/llshadermgr.cpp(436) LLShaderMgr::dumpObjectLog : \nERROR: Undefined function call: "srgb_to_linear(vf3;)".  Function not found.\n
WARNING # llrender/llglslshader.cpp(469) LLGLSLShader::createShader : Failed to link using shader level 2 trying again using shader level 1
WARNING # llrender/llshadermgr.cpp(932) LLShaderMgr::linkProgramObject : GLSL Linker Error:
WARNING # llrender/llshadermgr.cpp(435) LLShaderMgr::dumpObjectLog : Shader loading from linker
WARNING # llrender/llshadermgr.cpp(436) LLShaderMgr::dumpObjectLog : \nERROR: Undefined function call: "get_terrain_mix_weights(f1;f1;f1;)".  Function not found.\n
WARNING # llrender/llshadermgr.cpp(435) LLShaderMgr::dumpObjectLog : Shader loading from Terrain Bake Shader RGB5
WARNING # llrender/llshadermgr.cpp(436) LLShaderMgr::dumpObjectLog : \nERROR: Undefined function call: "get_terrain_mix_weights(f1;f1;f1;)".  Function not found.\n
WARNING # llrender/llglslshader.cpp(464) LLGLSLShader::createShader : Failed to link shader: Terrain Bake Shader RGB5
WARNING # llrender/llglslshader.cpp(469) LLGLSLShader::createShader : Failed to link using shader level 1 trying again using shader level 0
WARNING # llrender/llglslshader.cpp(464) LLGLSLShader::createShader : Failed to link shader: Terrain Bake Shader RGB5

yes the failure to link cannot be fixed yet. this patch turns this into a non-fatal error since the particular shaders that are failing are only for new features behind a feature flag.

looking at the latest call stacks from last night's testing it appears that they are different. those call stacks look more like #2434