Hi,
running VLM only lightmapping on 5.6 has suddenly started crashing in Embree code. I have disabled Embree for lightmapping to get around the issue for now but we have started hitting similar crashes during Lumen Card and Distance Field generation.
Example callstack:
GameEditor-Core.dll!ReportAssert() []
GameEditor-Core.dll!FWindowsErrorOutputDevice::Serialize() []
GameEditor-Core.dll!FOutputDevice::LogfImpl() []
GameEditor-Core.dll!AssertFailedImplV() []
GameEditor-Core.dll!FDebug::CheckVerifyFailedImpl2V() []
GameEditor-Core.dll!FDebug::CheckVerifyFailedImpl2() []
GameEditor-MeshUtilities.dll!EmbreeFilterFunc() []
embree4.dll!UnknownFunction []
embree4.dll!UnknownFunction []
GameEditor-MeshUtilities.dll!FSparseMeshDistanceFieldAsyncTask::DoWork() []
GameEditor-MeshUtilities.dll!`ParallelForImpl::ParallelForInternal<`BuildSignedDistanceField'::`20'::<lambda_1>,`ParallelForTemplate<`BuildSignedDistanceField'::`20'::<lambda_1> >'::`2'::<lambda_1>,std::nullptr_t>'::`2'::FParallelExecutor::operator()() []
GameEditor-MeshUtilities.dll!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`ParallelForImpl::ParallelForInternal<`BuildSignedDistanceField'::`20'::<lambda_1>,`ParallelForTemplate<`BuildSignedDistanceField'::`20'::<lambda_1> >'::`2'::<lambda_1>,std::nullptr_t>'::`2'::FParallelExecutor>'::`13'::<lambda_1>,0>::CallAndMove() []
GameEditor-Core.dll!LowLevelTasks::FTask::ExecuteTask() []
GameEditor-Core.dll!LowLevelTasks::FScheduler::ExecuteTask() []
GameEditor-Core.dll!LowLevelTasks::FScheduler::WorkerLoop() []
GameEditor-Core.dll!`LowLevelTasks::FScheduler::CreateWorker'::`2'::<lambda_1>::operator()() []
GameEditor-Core.dll!FThreadImpl::Run() []
GameEditor-Core.dll!FRunnableThreadWin::Run() []
GameEditor-Core.dll!FRunnableThreadWin::GuardedRun() []
The above error looks like it stems from FEmbreeTriangleDesc Desc = GeometryAsset->TriangleDescs[RTCHitN_primID(args->hit, 1, 0)];
We’ve also had it hit this assert in Embree.cpp during lightmapping here:
rtcCommitScene(EmbreeScene);
check(rtcGetDeviceError(EmbreeDevice) == RTC_ERROR_NONE);
This seems to be a general issue with using Embree 4 as we’ve never seen these issues before. Any assistance much appreciated as this is causing a lot of editor stability issues.
Thanks,
Lee