secondlife / secondlife/viewer

BugSplat Crash: SecondLifeViewer!hkaiNavMeshUtils::compactOwnedVertices

Open
#5,505 0 comments 0 reactions 0 assignees View on GitHub

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:

FunctionFile
SecondLifeViewer!hkaiNavMeshUtils::compactOwnedVertices -
SecondLifeViewer!hkaiNavMeshCutter::removeCutFacesFromOriginals -
SecondLifeViewer!hkaiNavMeshCutter::uncutSection -
SecondLifeViewer!hkaiWorld::unloadNavMeshInstance -
SecondLifeViewer!LLPathingLibImpl::cleanupAIWorldC:/a/viewer/viewer/build-vc170-64/packages/llphysicsextensions/src/LLPathingLibImpl.cpp(820)
SecondLifeViewer!LLPathingLibImpl::cleanupResidualC:/a/viewer/viewer/build-vc170-64/packages/llphysicsextensions/src/LLPathingLibImpl.cpp(151)
SecondLifeViewer!LLPathfindingNavMeshZone::refreshC:/a/viewer/viewer/indra/newview/llpathfindingnavmeshzone.cpp(103)
SecondLifeViewer!LLFloaterPathfindingConsole::initializeNavMeshZoneForCurrentRegionC:/a/viewer/viewer/indra/newview/llfloaterpathfindingconsole.cpp(927)
SecondLifeViewer!LLFloaterPathfindingConsole::onRegionBoundaryCrossC:/a/viewer/viewer/indra/newview/llfloaterpathfindingconsole.cpp(601)
SecondLifeViewer!LLFloaterPreference::cancelC:/a/viewer/viewer/indra/newview/llfloaterpreference.cpp(702)
SecondLifeViewer!LLFloaterPreference::onCloseC:/a/viewer/viewer/indra/newview/llfloaterpreference.cpp(976)
SecondLifeViewer!LLFloater::closeFloaterC:/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_invokerC:/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_invokeC:/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::slotC:/a/viewer/viewer/build-vc170-64/packages/include/boost/signals2/detail/slot_call_iterator.hpp(108)
SecondLifeViewer!boost::iterators::iterator_core_access::dereferenceC:/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::slotC:/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::slotC:/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_implC:/a/viewer/viewer/build-vc170-64/packages/include/boost/signals2/detail/signal_template.hpp(246)
SecondLifeViewer!boost::signals2::signalC:/a/viewer/viewer/build-vc170-64/packages/include/boost/signals2/detail/signal_template.hpp(733)
SecondLifeViewer!LLUICtrl::onCommitC:/a/viewer/viewer/indra/llui/lluictrl.cpp(437)
SecondLifeViewer!LLButton::handleMouseUpC:/a/viewer/viewer/indra/llui/llbutton.cpp(555)
SecondLifeViewer!LLMouseHandler::handleAnyMouseClickC:/a/viewer/viewer/indra/llwindow/llmousehandler.cpp(53)
SecondLifeViewer!LLViewerWindow::handleAnyMouseClickC:/a/viewer/viewer/indra/newview/llviewerwindow.cpp(1096)
SecondLifeViewer!LLViewerInput::handleMouseC:/a/viewer/viewer/indra/newview/llviewerinput.cpp(1619)
SecondLifeViewer!LLViewerWindow::handleMouseUpC:/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::gatherInputC:/a/viewer/viewer/indra/llwindow/llwindowwin32.cpp(2320)
SecondLifeViewer!LLAppViewer::doFrameC:/a/viewer/viewer/indra/newview/llappviewer.cpp(1421)
SecondLifeViewer!LLAppViewer::frameC:/a/viewer/viewer/indra/newview/llappviewer.cpp(1336)
SecondLifeViewer!wWinMainC:/a/viewer/viewer/indra/newview/llappviewerwin32.cpp(523)
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 -


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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.