From fc6f4ee6a9b5f6c72a8f8a559889549cb99da09d Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Sat, 4 Jul 2026 00:01:07 +0300 Subject: [PATCH] Fix vertual memory overflow in logs (FS:TJ- Cherry-pick to try improve FIRE-36494) --- indra/llcommon/llsys.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index b4c51ca08a..a34ebb6a6a 100644 --- a/indra/llcommon/llsys.cpp +++ b/indra/llcommon/llsys.cpp @@ -964,7 +964,7 @@ LLSD LLMemoryInfo::loadStatsMap() state.dwLength = sizeof(state); GlobalMemoryStatusEx(&state); - DWORDLONG div = 1024; + static constexpr DWORDLONG div = 1024; stats.add("Percent Memory use", state.dwMemoryLoad/div); // Ugly, but prevent overflow @@ -972,14 +972,18 @@ LLSD LLMemoryInfo::loadStatsMap() //stats.add("Avail Physical KB", state.ullAvailPhys/div); //stats.add("Total page KB", state.ullTotalPageFile/div); //stats.add("Avail page KB", state.ullAvailPageFile/div); - //stats.add("Total Virtual KB", state.ullTotalVirtual/div); - //stats.add("Avail Virtual KB", state.ullAvailVirtual/div); + + //static constexpr DWORDLONG mb_div = 1024 * 1024; + //stats.add("Total Virtual MB", state.ullTotalVirtual/mb_div); // ~134 million MB + //stats.add("Avail Virtual MB", state.ullAvailVirtual/mb_div); stats.add("Total Physical KB", llclamp(state.ullTotalPhys/div, U64(0), U64(S32_MAX))); stats.add("Avail Physical KB", llclamp(state.ullAvailPhys/div, U64(0), U64(S32_MAX))); stats.add("Total page KB", llclamp(state.ullTotalPageFile/div, U64(0), U64(S32_MAX))); stats.add("Avail page KB", llclamp(state.ullAvailPageFile/div, U64(0), U64(S32_MAX))); - stats.add("Total Virtual KB", llclamp(state.ullTotalVirtual/div, U64(0), U64(S32_MAX))); - stats.add("Avail Virtual KB", llclamp(state.ullAvailVirtual/div, U64(0), U64(S32_MAX))); + + static constexpr DWORDLONG mb_div = 1024 * 1024; + stats.add("Total Virtual MB", llclamp(state.ullTotalVirtual / mb_div, U64(0), U64(S32_MAX))); + stats.add("Avail Virtual MB", llclamp(state.ullAvailVirtual / mb_div, U64(0), U64(S32_MAX))); // // SL-12122 - Call to GetPerformanceInfo() was removed here. Took