secondlife / secondlife/viewer
BugSplat Crash: SecondLifeViewer!hkaiNavMeshUtils::compactOwnedVertices
Open
Nobody has claimed this yet.
bugsplat
stale
team:viewer
- Dominant language
- C++
- Stars
- 299
- Forks
- 146
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 88
Description
BugSplat Crash Group 96154
View Report Group
View Report Details
View Report Attachments
Application: Second Life Release
Version: 26.1.0.22641522367
Error Code: c0000005 Access violation
Callstack:
| Function | File |
|---|---|
| SecondLifeViewer!hkaiNavMeshUtils::compactOwnedVertices | - |
| SecondLifeViewer!hkaiNavMeshCutter::removeCutFacesFromOriginals | - |
| SecondLifeViewer!hkaiNavMeshCutter::uncutSection | - |
| SecondLifeViewer!hkaiWorld::unloadNavMeshInstance | - |
| SecondLifeViewer!LLPathingLibImpl::cleanupAIWorld | C:/a/viewer/viewer/build-vc170-64/packages/llphysicsextensions/src/LLPathingLibImpl.cpp(820) |
| SecondLifeViewer!LLPathingLibImpl::cleanupResidual | C:/a/viewer/viewer/build-vc170-64/packages/llphysicsextensions/src/LLPathingLibImpl.cpp(151) |
| SecondLifeViewer!LLPathfindingNavMeshZone::refresh | C:/a/viewer/viewer/indra/newview/llpathfindingnavmeshzone.cpp(103) |
| SecondLifeViewer!LLFloaterPathfindingConsole::initializeNavMeshZoneForCurrentRegion | C:/a/viewer/viewer/indra/newview/llfloaterpathfindingconsole.cpp(927) |
| SecondLifeViewer!LLFloaterPathfindingConsole::onRegionBoundaryCross | C:/a/viewer/viewer/indra/newview/llfloaterpathfindingconsole.cpp(601) |
| SecondLifeViewer!LLFloaterPreference::cancel | C:/a/viewer/viewer/indra/newview/llfloaterpreference.cpp(702) |
| SecondLifeViewer!LLFloaterPreference::onClose | C:/a/viewer/viewer/indra/newview/llfloaterpreference.cpp(976) |
| SecondLifeViewer!LLFloater::closeFloater | C:/a/viewer/viewer/indra/llui/llfloater.cpp(783) |
| SecondLifeViewer!std::_Func_class::operator() | C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.44.35207/include/functional(926) |
| SecondLifeViewer!boost::detail::function::void_function_obj_invoker | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/function/function_template.hpp(101) |
| SecondLifeViewer!boost::function_n::operator() | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/function/function_template.hpp(789) |
| SecondLifeViewer!boost::signals2::detail::call_with_tuple_args::m_invoke | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/signals2/detail/variadic_slot_invoker.hpp(105) |
| SecondLifeViewer!boost::signals2::detail::call_with_tuple_args::operator() | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/signals2/detail/variadic_slot_invoker.hpp(90) |
| SecondLifeViewer!boost::signals2::detail::variadic_slot_invoker::operator() | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/signals2/detail/variadic_slot_invoker.hpp(133) |
| SecondLifeViewer!boost::signals2::detail::slot_call_iterator_t,std::_List_iterator >,boost::signals2::slot | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/signals2/detail/slot_call_iterator.hpp(108) |
| SecondLifeViewer!boost::iterators::iterator_core_access::dereference | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/iterator/iterator_facade.hpp(631) |
| SecondLifeViewer!boost::iterators::detail::iterator_facade_base,std::_List_iterator >,boost::signals2::slot | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/iterator/iterator_facade.hpp(737) |
| SecondLifeViewer!boost::signals2::optional_last_value::operator(),std::_List_iterator >,boost::signals2::slot | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/signals2/optional_last_value.hpp(58) |
| SecondLifeViewer!boost::signals2::detail::combiner_invoker::operator() | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/signals2/detail/result_type_wrapper.hpp(64) |
| SecondLifeViewer!boost::signals2::detail::signal_impl | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/signals2/detail/signal_template.hpp(246) |
| SecondLifeViewer!boost::signals2::signal | C:/a/viewer/viewer/build-vc170-64/packages/include/boost/signals2/detail/signal_template.hpp(733) |
| SecondLifeViewer!LLUICtrl::onCommit | C:/a/viewer/viewer/indra/llui/lluictrl.cpp(437) |
| SecondLifeViewer!LLButton::handleMouseUp | C:/a/viewer/viewer/indra/llui/llbutton.cpp(555) |
| SecondLifeViewer!LLMouseHandler::handleAnyMouseClick | C:/a/viewer/viewer/indra/llwindow/llmousehandler.cpp(53) |
| SecondLifeViewer!LLViewerWindow::handleAnyMouseClick | C:/a/viewer/viewer/indra/newview/llviewerwindow.cpp(1096) |
| SecondLifeViewer!LLViewerInput::handleMouse | C:/a/viewer/viewer/indra/newview/llviewerinput.cpp(1619) |
| SecondLifeViewer!LLViewerWindow::handleMouseUp | C:/a/viewer/viewer/indra/newview/llviewerwindow.cpp(1205) |
| SecondLifeViewer!`LLWindowWin32::mainWindowProc'::`95'::::operator() | C:/a/viewer/viewer/indra/llwindow/llwindowwin32.cpp(2792) |
| SecondLifeViewer!std::_Func_class::operator() | C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.44.35207/include/functional(926) |
| SecondLifeViewer!LLWindowWin32::gatherInput | C:/a/viewer/viewer/indra/llwindow/llwindowwin32.cpp(2320) |
| SecondLifeViewer!LLAppViewer::doFrame | C:/a/viewer/viewer/indra/newview/llappviewer.cpp(1421) |
| SecondLifeViewer!LLAppViewer::frame | C:/a/viewer/viewer/indra/newview/llappviewer.cpp(1336) |
| SecondLifeViewer!wWinMain | C:/a/viewer/viewer/indra/newview/llappviewerwin32.cpp(523) |
| SecondLifeViewer!invoke_main | D:/a/_work/1/s/src/vctools/crt/vcstartup/src/startup/exe_common.inl(118) |
| SecondLifeViewer!__scrt_common_main_seh | D:/a/_work/1/s/src/vctools/crt/vcstartup/src/startup/exe_common.inl(288) |
| kernel32!BaseThreadInitThunk | - |
| ntdll!RtlUserThreadStart | - |
This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting
/reward 100 (replace 100 with the amount).🕵️♂️ If someone starts working on this issue to earn the rewards, they can comment
/try to let everyone know!🙌 And when they open the PR, they can comment
/claim #5505 either in the PR description or in a PR's comment.🪙 Also, everyone can tip any user commenting
/tip 20 @sl-service-account (replace 20 with the amount, and @sl-service-account with the user to tip).📖 If you want to learn more, check out our documentation.
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 with the BugSplat call stack and inspect LLPathingLibImpl.cpp at lines 820 and 151, then follow LLPathfindingNavMeshZone::refresh at llpathfindingnavmeshzone.cpp:103. Trace the refresh path from LLFloaterPathfindingConsole in llfloaterpathfindingconsole.cpp at lines 927 and 601. Done means the reported access violation no longer occurs while the navigation mesh is cleaned up or refreshed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100