diff --git a/indra/llplugin/llpluginprocessparent.cpp b/indra/llplugin/llpluginprocessparent.cpp index 4b80a4e452..dd138f1a0c 100644 --- a/indra/llplugin/llpluginprocessparent.cpp +++ b/indra/llplugin/llpluginprocessparent.cpp @@ -187,8 +187,18 @@ LLPluginProcessParent::ptr_t LLPluginProcessParent::create(LLPluginProcessParent /*static*/ void LLPluginProcessParent::shutdown() { - LLCoros::LockType lock(*sInstancesMutex); - + // FIRE-34497 - lock maybe be null during shutdown due to fiber shutdown race condition + // LLCoros::LockType lock(*sInstancesMutex); + std::unique_ptr lock; + if (sInstancesMutex) + { + lock = std::make_unique(*sInstancesMutex); + } + else + { + LL_WARNS("Plugin") << "shutdown called but no instances mutex available" << LL_ENDL; + } + // mapInstances_t::iterator it; for (it = sInstances.begin(); it != sInstances.end(); ++it) {