secondlife / secondlife/viewer
BugSplat Report: SecondLifeViewer!`LLVolumeFace::cacheOptimize'::`1'::catch$50(5692)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 299
- Forks
- 146
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 88
Description
BugSplat Report Group 105686
View Report Group
View Report Details
View Report Attachments
Application: Second Life Release
Version: 26.2.0.25386466510
Error Code: c0000005 Access violation
Notes:
Looks unique to 26.2 and slowly built up steam to get noticed.
Some Customer Responses:
Failed to allocate image data size [3145728] - mailto:Draco8123
Failed to allocate image data size [2085810] - mailto:Draco8123
Bad memory allocation in MikktData::genTangSpace - mailto:Draco8123
Bad memory allocation in MikktData::genTangSpace - mailto:Draco8123
Bad memory allocation in MikktData::genTangSpace - mailto:MISStarlight
Callstack:
| Function | File |
|---|---|
| SecondLifeViewer!`LLVolumeFace::cacheOptimize'::`1'::catch$50 | C:/a/viewer/viewer/indra/llmath/llvolume.cpp(5692) |
| VCRUNTIME140_1!CallSettingFrame_LookupContinuationIndex | - |
| VCRUNTIME140_1!__FrameHandler4::CxxCallCatchBlock | - |
| ntdll!RcConsolidateFrames | - |
| SecondLifeViewer!LLVolumeFace::cacheOptimize | C:/a/viewer/viewer/indra/llmath/llvolume.cpp(5687) |
| SecondLifeViewer!LLVolume::cacheOptimize | C:/a/viewer/viewer/indra/llmath/llvolume.cpp(2763) |
| SecondLifeViewer!LLVolume::unpackVolumeFacesInternal | C:/a/viewer/viewer/indra/llmath/llvolume.cpp(2700) |
| SecondLifeViewer!LLVolume::unpackVolumeFaces | C:/a/viewer/viewer/indra/llmath/llvolume.cpp(2318) |
| SecondLifeViewer!LLMeshRepoThread::lodReceived | C:/a/viewer/viewer/indra/newview/llmeshrepository.cpp(2382) |
| SecondLifeViewer!LLMeshLODHandler::processLod | C:/a/viewer/viewer/indra/newview/llmeshrepository.cpp(3845) |
| SecondLifeViewer!LLMeshLODHandler::processData::__l5::::operator() | C:/a/viewer/viewer/indra/newview/llmeshrepository.cpp(3917) |
| SecondLifeViewer!std::invoke | C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.44.35207/include/type_traits(1670) |
| SecondLifeViewer!std::_Func_impl_no_alloc<`LLMeshLODHandler::processData'::`5'::,void>::_Do_call | C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.44.35207/include/functional(884) |
| SecondLifeViewer!std::_Func_class::operator() | C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.44.35207/include/functional(926) |
| SecondLifeViewer!`anonymous namespace'::cpphandle | C:/a/viewer/viewer/indra/llcommon/workqueue.cpp(178) |
| SecondLifeViewer!`anonymous namespace'::sehandle | C:/a/viewer/viewer/indra/llcommon/workqueue.cpp(194) |
| SecondLifeViewer!LL::WorkQueueBase::callWork | C:/a/viewer/viewer/indra/llcommon/workqueue.cpp(213) |
| SecondLifeViewer!LL::WorkQueueBase::runUntilClose | C:/a/viewer/viewer/indra/llcommon/workqueue.cpp(87) |
| SecondLifeViewer!LL::ThreadPoolBase::run | C:/a/viewer/viewer/indra/llcommon/threadpool.cpp(146) |
| SecondLifeViewer!LL::ThreadPoolBase::start::__l4::::operator() | C:/a/viewer/viewer/indra/llcommon/threadpool.cpp(82) |
| SecondLifeViewer!std::invoke | C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.44.35207/include/type_traits(1670) |
| SecondLifeViewer!std::thread::_Invoke >,0> | C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.44.35207/include/thread(61) |
| ucrtbase!thread_start | - |
| kernel32!BaseThreadInitThunk | - |
| ntdll!RtlUserThreadStart | - |
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in indra/llmath/llvolume.cpp at LLVolumeFace::cacheOptimize around lines 5687-5692, then trace the mesh LOD path through LLVolume::unpackVolumeFaces and indra/newview/llmeshrepository.cpp. Review the BugSplat callstack and allocation-related customer responses to identify the access violation conditions. Done means the crash is reproduced or explained and the affected mesh-loading path no longer triggers it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- computer-graphics, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100