secondlife / secondlife/viewer
BugSplat Crash: SecondLifeViewer!__scrt_throw_std_bad_alloc(35)
Open
A pull request for this has already been merged.
- #4301 by @akleshchev — merged
bugsplat
memory management
stale
team:viewer
- Dominant language
- C++
- Stars
- 299
- Forks
- 146
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 88
Description
BugSplat Crash Group 98233
View Report Group
View Report Details
View Report Attachments
Application: Second Life Release
Version: 7.1.13.14343205944
Error Code: e06d7363 C++ EH exception
Callstack:
| Function | File |
|---|---|
| KERNELBASE!RaiseException | - |
| VCRUNTIME140!_CxxThrowException | D:/a/_work/1/s/src/vctools/crt/vcruntime/src/eh/throw.cpp(82) |
| SecondLifeViewer!__scrt_throw_std_bad_alloc | D:/a/_work/1/s/src/vctools/crt/vcstartup/src/heap/throw_bad_alloc.cpp(35) |
| SecondLifeViewer!operator new | D:/a/_work/1/s/src/vctools/crt/vcstartup/src/heap/new_scalar.cpp(49) |
| SecondLifeViewer!meshopt_Allocator::allocate | D:/a/3p-meshoptimizer/3p-meshoptimizer/meshoptimizer/src/meshoptimizer.h(744) |
| SecondLifeViewer!meshopt_generateVertexRemapMulti | D:/a/3p-meshoptimizer/3p-meshoptimizer/meshoptimizer/src/indexgenerator.cpp(271) |
| SecondLifeViewer!LLVolumeFace::cacheOptimize | C:/a/viewer/viewer/indra/llmath/llvolume.cpp(5713) |
| SecondLifeViewer!LLVolume::cacheOptimize | C:/a/viewer/viewer/indra/llmath/llvolume.cpp(2762) |
| SecondLifeViewer!LLVolume::unpackVolumeFacesInternal | C:/a/viewer/viewer/indra/llmath/llvolume.cpp(2699) |
| SecondLifeViewer!LLVolume::unpackVolumeFaces | C:/a/viewer/viewer/indra/llmath/llvolume.cpp(2317) |
| SecondLifeViewer!LLMeshRepoThread::lodReceived | C:/a/viewer/viewer/indra/newview/llmeshrepository.cpp(2293) |
| SecondLifeViewer!`LLMeshRepoThread::fetchMeshLOD'::`37'::::operator() | C:/a/viewer/viewer/indra/newview/llmeshrepository.cpp(1996) |
| SecondLifeViewer!std::_Func_class::operator() | C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.43.34808/include/functional(925) |
| SecondLifeViewer!`anonymous namespace'::cpphandle | C:/a/viewer/viewer/indra/llcommon/workqueue.cpp(138) |
| SecondLifeViewer!`anonymous namespace'::sehandle | C:/a/viewer/viewer/indra/llcommon/workqueue.cpp(154) |
| SecondLifeViewer!LL::WorkQueueBase::callWork | C:/a/viewer/viewer/indra/llcommon/workqueue.cpp(173) |
| SecondLifeViewer!LL::WorkQueueBase::runUntilClose | C:/a/viewer/viewer/indra/llcommon/workqueue.cpp(47) |
| 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.43.34808/include/type_traits(1696) |
| SecondLifeViewer!std::thread::_Invoke >,0> | C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.43.34808/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 by reviewing merged pull request #4301, then trace the reported path through indra/llmath/llvolume.cpp and indra/newview/llmeshrepository.cpp. Inspect LLVolumeFace::cacheOptimize and the meshoptimizer allocation site; done means reproducing or preventing this bad_alloc crash with appropriate validation or regression coverage.
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
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100