Large texture crashes during Oodle compression with "-stompmalloc". It appears to be an internal Oodle error.
Also tested on //UE5/Release-5.5/, CL: 37463908
1. Download the Licensee's test project (see addl info URL)
2. Launch the editor with debugger attached, and the command-line option: "-stompmalloc"
3. Open the texture "/Game/T_SKY_DC_Main_Comp_1"
4. If it does not immediately crash, enable the setting "Compress Without Alpha" to force re-compression
5. Observe the Access violation exception (segfault) from inside of the Oodle SDK.
Callstacks.txt
Exception thrown at 0x00007FFC4C3ECDBA (oo2tex_win64_2.9.12.dll) in UnrealEditor.exe: 0xC0000005: Access violation reading location 0x000001F50B801000.
```
oo2tex_win64_2.9.12.dll!00007ffc4c3ecdba() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3ecb76() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3ef16c() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3f0d1d() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3f0a96() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3f538f() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3fd37e() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3fc178() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3f2b32() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3f9366() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3f95bd() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3f295e() Unknown
oo2tex_win64_2.9.12.dll!00007ffc4c3c30f0() Unknown
> UnrealEditor-TextureFormatOodle.dll!FTextureFormatOodle::CompressImage::__l2::<lambda_1>::operator()(int Slice) Line 1598 C++
[Inline Frame] UnrealEditor-TextureFormatOodle.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::FFunctionRefStoragePolicy,void __cdecl(int)>::operator()(int <Params_0>) Line 555 C++
[Inline Frame] UnrealEditor-TextureFormatOodle.dll!ParallelForImpl::CallBody(const TFunctionRef<void __cdecl(int)> &) Line 80 C++
UnrealEditor-TextureFormatOodle.dll!ParallelForImpl::ParallelForInternal<TFunctionRef<void _cdecl(int)>,`ParallelFor'::`2'::<lambda_1>,std::nullptr_t>(const wchar_t * DebugName, int Num, int MinBatchSize, TFunctionRef<void __cdecl(int)> Body, ParallelFor::_l2::<lambda_1> CurrentThreadWorkToDoBeforeHelping, EParallelForFlags Flags, const TArrayView<std::nullptr_t,int> & Contexts) Line 143 C++
[Inline Frame] UnrealEditor-TextureFormatOodle.dll!ParallelFor(const wchar_t *) Line 528 C++
UnrealEditor-TextureFormatOodle.dll!FTextureFormatOodle::CompressImage(const FImage & InImage, const FTextureBuildSettings & InBuildSettings, const UE::Math::TIntVector3<int> & InMip0Dimensions, int InMip0NumSlicesNoDepth, int InMipIndex, int InMipCount, TStringView<wchar_t> DebugTexturePathName, const bool bInHasAlpha, FCompressedImage2D & OutImage) Line 1559 C++
UnrealEditor-TextureFormatOodle.dll!ITextureFormat::CompressImageEx(const FImage * Images, const unsigned int NumImages, const FTextureBuildSettings & BuildSettings, const UE::Math::TIntVector3<int> & InMip0Dimensions, int InMip0NumSlicesNoDepth, int InMipIndex, int InMipCount, TStringView<wchar_t> DebugTexturePathName, bool bImageHasAlphaChannel, unsigned int ExtData, FCompressedImage2D & OutCompressedImage) Line 544 C++
UnrealEditor-TextureCompressor.dll!CompressMipChain::__l2::<lambda_1>::operator()(int MipBegin, int MipEnd) Line 3481 C++
UnrealEditor-TextureCompressor.dll!CompressMipChain(const ITextureFormat * TextureFormat, TArray<FImage,TSizedDefaultAllocator<32>> & MipChain, const FTextureBuildSettings & Settings, const bool bImageHasAlphaChannel, TStringView<wchar_t> DebugTexturePathName, TArray<FCompressedImage2D,TSizedDefaultAllocator<32>> & OutMips, unsigned int & OutNumMipsInTail, unsigned int & OutExtData) Line 3516 C++
UnrealEditor-TextureCompressor.dll!FTextureCompressorModule::BuildTexture(const TArray<FImage,TSizedDefaultAllocator<32>> & SourceMips, const TArray<FImage,TSizedDefaultAllocator<32>> & AssociatedNormalSourceMips, const FTextureBuildSettings & BuildSettings, TStringView<wchar_t> DebugTexturePathName, TArray<FCompressedImage2D,TSizedDefaultAllocator<32>> & OutTextureMips, unsigned int & OutNumMipsInTail, unsigned int & OutExtData, UE::TextureBuildUtilities::FTextureBuildMetadata * OutMetadata) Line 3929 C++
UnrealEditor-Engine.dll!DDC1_BuildTexture(ITextureCompressorModule * Compressor, IImageWrapperModule * ImageWrapper, const UTexture & Texture, const FString & TexturePathName, ETextureCacheFlags CacheFlags, FTextureSourceData & TextureData, FTextureSourceData & CompositeTextureData, const TArrayView<FTextureBuildSettings,int> & InBuildSettingsPerLayer, const FTexturePlatformData::FTextureEncodeResultMetadata & InBuildResultMetadata, const FString & KeySuffix, bool bReplaceExistingDDC, __int64 RequiredMemoryEstimate, FTexturePlatformData * DerivedData, __int64 & BytesCached, bool & bSucceeded) Line 837 C++
UnrealEditor-Engine.dll!FTextureCacheDerivedDataWorker::DoWork() Line 2086 C++
UnrealEditor-Engine.dll!FAsyncTaskBase::DoWork() Line 289 C++
UnrealEditor-Engine.dll!FAsyncTaskBase::DoThreadedWork() Line 313 C++
UnrealEditor-Core.dll!FQueuedThreadPoolWrapper::FScheduledWork::DoThreadedWork() Line 141 C++
UnrealEditor-Engine.dll!FQueuedThreadPoolWrapper::FScheduledWork::DoThreadedWork() Line 141 C++
[Inline Frame] UnrealEditor.exe!FQueuedLowLevelThreadPool::AddQueuedWork::__l2::<lambda_1>::operator()() Line 480 C++
UnrealEditor.exe!LowLevelTasks::FTask::Init::__l13::<lambda_1>::operator()(const bool bNotCanceled) Line 499 C++
[Inline Frame] UnrealEditor.exe!Invoke(LowLevelTasks::FTask::Init::__l13::<lambda_1> &) Line 47 C++
[Inline Frame] UnrealEditor.exe!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`FQueuedLowLevelThreadPool::AddQueuedWork'::`2'::<lambda_1>>'::`13'::<lambda_1>,0>::Call(void *) Line 162 C++
UnrealEditor.exe!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`FQueuedLowLevelThreadPool::AddQueuedWork'::`2'::<lambda_1>>'::`13'::<lambda_1>,0>::CallAndMove(LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48> & Destination, void * InlineData, unsigned int DestInlineSize, bool <Params_0>) Line 171 C++
[Inline Frame] UnrealEditor-Core.dll!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::CallAndMove(LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48> &) Line 308 C++
UnrealEditor-Core.dll!LowLevelTasks::FTask::ExecuteTask() Line 627 C++
UnrealEditor-Core.dll!LowLevelTasks::FScheduler::ExecuteTask(LowLevelTasks::FTask * InTask) Line 177 C++
[Inline Frame] UnrealEditor-Core.dll!LowLevelTasks::FScheduler::TryExecuteTaskFrom(LowLevelTasks::Private::FWaitEvent *) Line 362 C++
UnrealEditor-Core.dll!LowLevelTasks::FScheduler::WorkerMain(LowLevelTasks::Private::FWaitEvent * WorkerEvent, LowLevelTasks::Private::TLocalQueueRegistry<1024>::TLocalQueue * WorkerLocalQueue, unsigned int WaitCycles, bool bPermitBackgroundWork) Line 397 C++
[Inline Frame] UnrealEditor-Core.dll!LowLevelTasks::FScheduler::CreateWorker::__l2::<lambda>() Line 70 C++
[Inline Frame] UnrealEditor-Core.dll!Invoke(LowLevelTasks::FScheduler::CreateWorker::__l2::void <lambda>(void) &) Line 47 C++
UnrealEditor-Core.dll!UE::Core::Private::Function::TFunctionRefCaller<`LowLevelTasks::FScheduler::CreateWorker'::`2'::void <lambda>(void),void __cdecl(void)>::Call(void * Obj) Line 406 C++
[Inline Frame] UnrealEditor-Core.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,void __cdecl(void)>::operator()() Line 555 C++
UnrealEditor-Core.dll!FThreadImpl::Run() Line 69 C++
UnrealEditor-Core.dll!FRunnableThreadWin::Run() Line 149 C++
UnrealEditor-Core.dll!FRunnableThreadWin::GuardedRun() Line 71 C++
[External Code]
```
Exception thrown at 0x00007FFC46FECDBA (oo2tex_win64_2.9.12.dll) in UnrealEditor.exe: 0xC0000005: Access violation reading location 0x000001F7F2076000.
```
oo2tex_win64_2.9.12.dll!00007ffc46fecdba() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46fecb76() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46fef16c() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46ff0d1d() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46ff0a96() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46ff538f() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46ffd37e() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46ffc178() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46ff2b32() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46ff9366() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46ff95bd() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46ff295e() Unknown
oo2tex_win64_2.9.12.dll!00007ffc46fc30f0() Unknown
> UnrealEditor-TextureFormatOodle.dll!FTextureFormatOodle::CompressImage::__l2::<lambda_1>::operator()(int Slice) Line 1726 C++
[Inline Frame] UnrealEditor-TextureFormatOodle.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::FFunctionRefStoragePolicy,void __cdecl(int)>::operator()(int <Params_0>) Line 470 C++
[Inline Frame] UnrealEditor-TextureFormatOodle.dll!ParallelForImpl::CallBody(const TFunctionRef<void __cdecl(int)> &) Line 80 C++
UnrealEditor-TextureFormatOodle.dll!ParallelForImpl::ParallelForInternal<TFunctionRef<void _cdecl(int)>,`ParallelFor'::`2'::<lambda_1>,std::nullptr_t>(const wchar_t * DebugName, int Num, int MinBatchSize, TFunctionRef<void __cdecl(int)> Body, ParallelFor::_l2::<lambda_1> CurrentThreadWorkToDoBeforeHelping, EParallelForFlags Flags, const TArrayView<std::nullptr_t,int> & Contexts) Line 143 C++
[Inline Frame] UnrealEditor-TextureFormatOodle.dll!ParallelFor(const wchar_t *) Line 528 C++
UnrealEditor-TextureFormatOodle.dll!FTextureFormatOodle::CompressImage(const FImage & InImage, const FTextureBuildSettings & InBuildSettings, const UE::Math::TIntVector3<int> & InMip0Dimensions, int InMip0NumSlicesNoDepth, int InMipIndex, int InMipCount, TStringView<wchar_t> DebugTexturePathName, const bool bInHasAlpha, FCompressedImage2D & OutImage) Line 1687 C++
UnrealEditor-TextureFormatOodle.dll!ITextureFormat::CompressImageEx(const FImage * Images, const unsigned int NumImages, const FTextureBuildSettings & BuildSettings, const UE::Math::TIntVector3<int> & InMip0Dimensions, int InMip0NumSlicesNoDepth, int InMipIndex, int InMipCount, TStringView<wchar_t> DebugTexturePathName, bool bImageHasAlphaChannel, unsigned int ExtData, FCompressedImage2D & OutCompressedImage) Line 599 C++
UnrealEditor-TextureCompressor.dll!CompressMipChain::__l2::<lambda_1>::operator()(int MipBegin, int MipEnd) Line 3551 C++
UnrealEditor-TextureCompressor.dll!CompressMipChain(const ITextureFormat * TextureFormat, TArray<FImage,TSizedDefaultAllocator<32>> & MipChain, const FTextureBuildSettings & Settings, const bool bImageHasAlphaChannel, TStringView<wchar_t> DebugTexturePathName, TArray<FCompressedImage2D,TSizedDefaultAllocator<32>> & OutMips, unsigned int & OutNumMipsInTail, unsigned int & OutExtData) Line 3593 C++
UnrealEditor-TextureCompressor.dll!FTextureCompressorModule::BuildTexture(TArray<FImage,TSizedDefaultAllocator<32>> & SourceMips, TArray<FImage,TSizedDefaultAllocator<32>> & AssociatedNormalSourceMips, const FTextureBuildSettings & BuildSettings, TStringView<wchar_t> DebugTexturePathName, TArray<FCompressedImage2D,TSizedDefaultAllocator<32>> & OutTextureMips, unsigned int & OutNumMipsInTail, unsigned int & OutExtData, UE::TextureBuildUtilities::FTextureBuildMetadata * OutMetadata) Line 4027 C++
UnrealEditor-Engine.dll!DDC1_BuildTexture(ITextureCompressorModule * Compressor, IImageWrapperModule * ImageWrapper, const UTexture & Texture, const FString & TexturePathName, ETextureCacheFlags CacheFlags, FTextureSourceData & TextureData, FTextureSourceData & CompositeTextureData, const TArrayView<FTextureBuildSettings,int> & InBuildSettingsPerLayer, const FTexturePlatformData::FTextureEncodeResultMetadata & InBuildResultMetadata, const FString & KeySuffix, bool bReplaceExistingDDC, __int64 RequiredMemoryEstimate, FTexturePlatformData * DerivedData, __int64 & BytesCached, bool & bSucceeded) Line 1090 C++
UnrealEditor-Engine.dll!FTextureCacheDerivedDataWorker::DoWork() Line 2052 C++
UnrealEditor-Engine.dll!FAsyncTaskBase::DoWork() Line 289 C++
UnrealEditor-Engine.dll!FAsyncTaskBase::DoThreadedWork() Line 313 C++
UnrealEditor-Core.dll!FQueuedThreadPoolWrapper::FScheduledWork::DoThreadedWork() Line 142 C++
UnrealEditor-Engine.dll!FQueuedThreadPoolWrapper::FScheduledWork::DoThreadedWork() Line 142 C++
[Inline Frame] UnrealEditor.exe!FQueuedLowLevelThreadPool::AddQueuedWork::__l2::<lambda_1>::operator()() Line 484 C++
UnrealEditor.exe!LowLevelTasks::FTask::Init::__l13::<lambda_1>::operator()(const bool bNotCanceled) Line 499 C++
[Inline Frame] UnrealEditor.exe!Invoke(LowLevelTasks::FTask::Init::__l13::<lambda_1> &) Line 47 C++
[Inline Frame] UnrealEditor.exe!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`FQueuedLowLevelThreadPool::AddQueuedWork'::`2'::<lambda_1>>'::`13'::<lambda_1>,0>::Call(void *) Line 162 C++
UnrealEditor.exe!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`FQueuedLowLevelThreadPool::AddQueuedWork'::`2'::<lambda_1>>'::`13'::<lambda_1>,0>::CallAndMove(LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48> & Destination, void * InlineData, unsigned int DestInlineSize, bool <Params_0>) Line 171 C++
[Inline Frame] UnrealEditor-Core.dll!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::CallAndMove(LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48> &) Line 308 C++
UnrealEditor-Core.dll!LowLevelTasks::FTask::ExecuteTask() Line 627 C++
UnrealEditor-Core.dll!LowLevelTasks::FScheduler::ExecuteTask(LowLevelTasks::FTask * InTask) Line 267 C++
[Inline Frame] UnrealEditor-Core.dll!LowLevelTasks::FScheduler::TryExecuteTaskFrom(LowLevelTasks::Private::FWaitEvent *) Line 457 C++
UnrealEditor-Core.dll!LowLevelTasks::FScheduler::WorkerLoop(LowLevelTasks::Private::FWaitEvent * WorkerEvent, LowLevelTasks::Private::TLocalQueueRegistry<1024,1024>::TLocalQueue * WorkerLocalQueue, unsigned int WaitCycles, bool bPermitBackgroundWork) Line 514 C++
[Inline Frame] UnrealEditor-Core.dll!LowLevelTasks::FScheduler::WorkerMain(LowLevelTasks::Private::FWaitEvent * WorkerEvent, LowLevelTasks::Private::TLocalQueueRegistry<1024,1024>::TLocalQueue * WorkerLocalQueue, unsigned int WaitCycles, bool bPermitBackgroundWork) Line 571 C++
UnrealEditor-Core.dll!LowLevelTasks::FScheduler::CreateWorker::__l2::<lambda>() Line 75 C++
[Inline Frame] UnrealEditor-Core.dll!UE::Core::Private::Function::TFunctionRefBase<UE::Core::Private::Function::TFunctionStorage<1>,void __cdecl(void)>::operator()() Line 470 C++
UnrealEditor-Core.dll!FThreadImpl::Run() Line 69 C++
UnrealEditor-Core.dll!FRunnableThreadWin::Run() Line 159 C++
UnrealEditor-Core.dll!FRunnableThreadWin::GuardedRun() Line 71 C++
[External Code]
```
UE-74991 also affects Valve Index
I am not able to find world outliner how to enable it?
Delay nodes occasionally don't fire the "Completed" output in a nativized build
How can i modify the param name in EQS node
Undefined sysmbol: typeinfo for AActor when cross-compile linux dedicated server on windows
I can't open my map from the editor.
What method is used to fill polygonal regions when drawing spline mesh at run time?
How to achieve HLSL Multiple Render Target in Material blueprints?
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-229064 in the post.