加载贴图时OpenColorIO空指针崩溃

从5.5升级到5.6.1之后部分机器上遇到,在编辑器打开部分贴图时崩溃,加载场景时如果有引用到该贴图也会崩溃,贴图本身没有问题,请问这个问题目前有规避方法吗

重现步骤

补充一下崩溃栈​

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000

msvcp140

UnrealEditor_OpenColorIOWrapper!OpenColorIO_v2_4::BuiltinConfigRegistry::Get()

UnrealEditor_OpenColorIOWrapper!OpenColorIO_v2_4::Config::CreateFromBuiltinConfig()

UnrealEditor_OpenColorIOWrapper!FOpenColorIOWrapperEngineConfig::FOpenColorIOWrapperEngineConfig() [Engine\Source\Runtime\OpenColorIOWrapper\Private\OpenColorIOWrapper.cpp:447]

UnrealEditor_OpenColorIOWrapper!FOpenColorIOWrapperModule::GetEngineBuiltInConfig() [Engine\Source\Runtime\OpenColorIOWrapper\Private\OpenColorIOWrapperModule.cpp:37]

UnrealEditor_OpenColorIOWrapper!FOpenColorIOWrapperProcessor::CreateTransformToWorkingColorSpace() [Engine\Source\Runtime\OpenColorIOWrapper\Private\OpenColorIOWrapper.cpp:597]

UnrealEditor_TextureCompressor!LinearizeToWorkingColorSpace() [Engine\Source\Developer\TextureCompressor\Private\TextureCompressorModule.cpp:1790]

UnrealEditor_TextureCompressor!FTextureCompressorModule::BuildTextureMips() [Engine\Source\Developer\TextureCompressor\Private\TextureCompressorModule.cpp:4568]

UnrealEditor_TextureCompressor!FTextureCompressorModule::BuildTexture() [Engine\Source\Developer\TextureCompressor\Private\TextureCompressorModule.cpp:3941]

UnrealEditor_Engine!DDC1_BuildTexture() [Engine\Source\Runtime\Engine\Private\TextureDerivedDataTask.cpp:1108]

UnrealEditor_Engine!FTextureCacheDerivedDataWorker::DoWork() [Engine\Source\Runtime\Engine\Private\TextureDerivedDataTask.cpp:2094]

UnrealEditor_Engine!FAsyncTaskBase::DoWork() [Engine\Source\Runtime\Core\Public\Async\AsyncWork.h:289]

UnrealEditor_Engine!FAsyncTaskBase::DoThreadedWork() [Engine\Source\Runtime\Core\Public\Async\AsyncWork.h:313]

UnrealEditor_Core!FQueuedThreadPoolWrapper::FScheduledWork::DoThreadedWork() [Engine\Source\Runtime\Core\Public\Misc\QueuedThreadPoolWrapper.h:144]

UnrealEditor_Engine!FQueuedThreadPoolWrapper::FScheduledWork::DoThreadedWork() [Engine\Source\Runtime\Core\Public\Misc\QueuedThreadPoolWrapper.h:144]

UnrealEditor!`LowLevelTasks::FTask::Init<`FQueuedLowLevelThreadPool::AddQueuedWork’::`2’::<lambda_1> >‘::`13’::<lambda_1>::operator()() [Engine\Source\Runtime\Core\Public\Async\Fundamental\Task.h:499]

UnrealEditor!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`FQueuedLowLevelThreadPool::AddQueuedWork’::`2’::<lambda_1> >‘::`13’::<lambda_1>,0>::CallAndMove() [Engine\Source\Runtime\Core\Public\Async\Fundamental\TaskDelegate.h:171]

UnrealEditor_Core!LowLevelTasks::FTask::ExecuteTask() [Engine\Source\Runtime\Core\Public\Async\Fundamental\Task.h:627]

UnrealEditor_Core!LowLevelTasks::FScheduler::ExecuteTask() [Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:387]

UnrealEditor_Core!LowLevelTasks::FScheduler::WorkerLoop() [Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:724]

UnrealEditor_Core!`LowLevelTasks::FScheduler::CreateWorker’::`2’::<lambda_1>::operator()() [Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:188]

UnrealEditor_Core!FThreadImpl::Run() [Engine\Source\Runtime\Core\Private\HAL\Thread.cpp:69]

UnrealEditor_Core!FRunnableThreadWin::Run() [Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:159]

Hi,

抱歉,回复的比较晚,我查了一下,内部没有任何类似的情况,不确定你们是否有复现的方式或者工程?我暂时也不清楚问题出在哪里。OpenColorIO是个第三方库,不确定是否这个库里有什么情况没有考虑到。

感谢回复~

这个问题比较难复现,只在极个别同事的电脑能够复现,​包括我本地也没有复现成功,但是能复现的电脑都是稳定复现,比较诡异。怀疑是5.6升级OpenColorIO库导致的,目前我们项目用FImage::Linearize接口替代了OpenColorIO库来规避这个问题。

好的,如果后续我有感知到有相似的问题,我再跟你们说。