diff options
| author | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2025-10-31 18:47:01 +0200 | 
|---|---|---|
| committer | Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> | 2025-10-31 19:13:26 +0200 | 
| commit | f7516a463114e3982b7d4cbd86645fc4369ffce9 (patch) | |
| tree | f945c0d1e94cb61e26c44cc560dfc2da479fff00 | |
| parent | a12552408570e2e0e689cbdd4671f316568d0205 (diff) | |
#4918 Crash at LLPluginProcessParent::poll
Bugsplat shows that mutex is null.
It's possible that no instances exist thus mutex wasn't initialized.
| -rw-r--r-- | indra/llplugin/llpluginprocessparent.cpp | 19 | 
1 files changed, 11 insertions, 8 deletions
diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp index 02c7d9507d..4f55d75e7d 100644 --- a/indra/llplugin/llpluginprocessparent.cpp +++ b/indra/llplugin/llpluginprocessparent.cpp @@ -982,15 +982,18 @@ void LLPluginProcessParent::poll(F64 timeout)          }      } -    // Remove instances in the done state from the sInstances map. -    LLCoros::LockType lock(*sInstancesMutex); -    mapInstances_t::iterator itClean = sInstances.begin(); -    while (itClean != sInstances.end()) +    if (sInstancesMutex)      { -        if ((*itClean).second->isDone()) -            itClean = sInstances.erase(itClean); -        else -            ++itClean; +        // Remove instances in the done state from the sInstances map. +        LLCoros::LockType lock(*sInstancesMutex); +        mapInstances_t::iterator itClean = sInstances.begin(); +        while (itClean != sInstances.end()) +        { +            if ((*itClean).second->isDone()) +                itClean = sInstances.erase(itClean); +            else +                ++itClean; +        }      }  }  | 
