正常全量cook没有特殊操作
重现步骤
正常全量cook,是偶现问题
崩溃堆栈
LogThreadingWindows: Error: Runnable thread Background Worker #8 crashed.
LogWindows: Error: === Critical error: ===
LogWindows: Error:
LogWindows: Error: Fatal error!
LogWindows: Error:
LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000
LogWindows: Error:
LogWindows: Error: [Callstack] 0x00007ff944d449e9 UnrealEditor-Engine.dll!FFormatContainer::Contains() [E:\EngineSource\Engine\Source\Runtime\CoreUObject\Public\Serialization\BulkData.h:1150]
LogWindows: Error: [Callstack] 0x00007ff944dab69a UnrealEditor-Engine.dll!UBodySetup::TryGetCookedData() [E:\EngineSource\Engine\Source\Runtime\Engine\Private\PhysicsEngine\BodySetup.cpp:1435]
LogWindows: Error: [Callstack] 0x00007ff944d5eff6 UnrealEditor-Engine.dll!UBodySetup::GetCookedFormatData() [E:\EngineSource\Engine\Source\Runtime\Engine\Private\PhysicsEngine\BodySetup.cpp:391]
LogWindows: Error: [Callstack] 0x00007ff944d49064 UnrealEditor-Engine.dll!UBodySetup::CreatePhysicsMeshes() [E:\EngineSource\Engine\Source\Runtime\Engine\Private\PhysicsEngine\BodySetup.cpp:423]
LogWindows: Error: [Callstack] 0x00007ff94547d032 UnrealEditor-Engine.dll!UStaticMesh::ExecutePostLoadInternal() [E:\EngineSource\Engine\Source\Runtime\Engine\Private\StaticMesh.cpp:6980]
LogWindows: Error: [Callstack] 0x00007ff945478a5c UnrealEditor-Engine.dll!FAsyncTask<FStaticMeshAsyncBuildWorker>::DoTaskWork() [E:\EngineSource\Engine\Source\Runtime\Core\Public\Async\AsyncWork.h:624]
LogWindows: Error: [Callstack] 0x00007ff9436c5f27 UnrealEditor-Engine.dll!FAsyncTaskBase::DoWork() [E:\EngineSource\Engine\Source\Runtime\Core\Public\Async\AsyncWork.h:289]
LogWindows: Error: [Callstack] 0x00007ff9436c5bce UnrealEditor-Engine.dll!FAsyncTaskBase::DoThreadedWork() [E:\EngineSource\Engine\Source\Runtime\Core\Public\Async\AsyncWork.h:313]
LogWindows: Error: [Callstack] 0x00007ff93f0d9713 UnrealEditor-Core.dll!FQueuedThreadPoolWrapper::FScheduledWork::DoThreadedWork() [E:\EngineSource\Engine\Source\Runtime\Core\Public\Misc\QueuedThreadPoolWrapper.h:142]
LogWindows: Error: [Callstack] 0x00007ff9439d1e44 UnrealEditor-Engine.dll!FQueuedThreadPoolWrapper::FScheduledWork::DoThreadedWork() [E:\EngineSource\Engine\Source\Runtime\Core\Public\Misc\QueuedThreadPoolWrapper.h:142]
LogWindows: Error: [Callstack] 0x00007ff7ca3b6e2f UnrealEditor-Cmd.exe!`LowLevelTasks::FTask::Init<`FQueuedLowLevelThreadPool::AddQueuedWork’::`2’::<lambda_1> >‘::`13’::<lambda_1>::operator()() [E:\EngineSource\Engine\Source\Runtime\Core\Public\Async\Fundamental\Task.h:499]
LogWindows: Error: [Callstack] 0x00007ff7ca3bdd53 UnrealEditor-Cmd.exe!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask * __cdecl(bool),48>::TTaskDelegateImpl<`LowLevelTasks::FTask::Init<`FQueuedLowLevelThreadPool::AddQueuedWork’::`2’::<lambda_1> >‘::`13’::<lambda_1>,0>::CallAndMove() [E:\EngineSource\Engine\Source\Runtime\Core\Public\Async\Fundamental\TaskDelegate.h:171]
LogWindows: Error: [Callstack] 0x00007ff93ecd01f5 UnrealEditor-Core.dll!LowLevelTasks::FTask::ExecuteTask() [E:\EngineSource\Engine\Source\Runtime\Core\Public\Async\Fundamental\Task.h:627]
LogWindows: Error: [Callstack] 0x00007ff93ecd00be UnrealEditor-Core.dll!LowLevelTasks::FScheduler::ExecuteTask() [E:\EngineSource\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:267]
LogWindows: Error: [Callstack] 0x00007ff93ecf6b0d UnrealEditor-Core.dll!LowLevelTasks::FScheduler::WorkerLoop() [E:\EngineSource\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:514]
LogWindows: Error: [Callstack] 0x00007ff93ecbd106 UnrealEditor-Core.dll!`LowLevelTasks::FScheduler::CreateWorker’::`2’::<lambda_1>::operator()() [E:\EngineSource\Engine\Source\Runtime\Core\Private\Async\Fundamental\Scheduler.cpp:75]
LogWindows: Error: [Callstack] 0x00007ff93eec8313 UnrealEditor-Core.dll!FThreadImpl::Run() [E:\EngineSource\Engine\Source\Runtime\Core\Private\HAL\Thread.cpp:69]
LogWindows: Error: [Callstack] 0x00007ff93f32ca6d UnrealEditor-Core.dll!FRunnableThreadWin::Run() [E:\EngineSource\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:159]
LogWindows: Error: [Callstack] 0x00007ff93f32346f UnrealEditor-Core.dll!FRunnableThreadWin::GuardedRun() [E:\EngineSource\Engine\Source\Runtime\Core\Private\Windows\WindowsRunnableThread.cpp:79]
LogWindows: Error: [Callstack] 0x00007ff9848d259d KERNEL32.DLL!UnknownFunction
LogWindows: Error:
LogWindows: Error: Crash in runnable thread Background Worker #8
exit code is 3, E:\EngineSource\Engine\Binaries\Win64\UnrealEditor-Cmd.exe
本地已经合入相关的两次修改
https://github.com/EpicGames/UnrealEngine/commit/06237c940590359cd6c70485cca8845c6e2f6293
https://github.com/EpicGames/UnrealEngine/commit/e09b930e4387f95fe869f1a21dbcf3c0d9a69f06
之前UDN也有人遇到类似问题,问题似乎还没有被修复
[Content removed]
[Content removed]
感谢反馈,我们最近在FN上也发现了这个由于race condition导致的问题FORT-918334,由于重现概率较低目前还在测试中,后面会把正式的修复合并到UE里,后面有消息我跟您同步一下
还会有另外相关崩溃堆栈
]LogWindows: Error: === Critical error: ===
]LogWindows: Error:
]LogWindows: Error: Fatal error!
]LogWindows: Error:
]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000000
]LogWindows: Error:
]LogWindows: Error: [Callstack] 0x00007ffe2e8d1d39 UnrealEditor-Engine.dll!FFormatContainer::Contains() [E:\EngineSource\Engine\Source\Runtime\CoreUObject\Public\Serialization\BulkData.h:1150]
]LogWindows: Error: [Callstack] 0x00007ffe2e9389ea UnrealEditor-Engine.dll!UBodySetup::TryGetCookedData() [E:\EngineSource\Engine\Source\Runtime\Engine\Private\PhysicsEngine\BodySetup.cpp:1435]
]LogWindows: Error: [Callstack] 0x00007ffe2e9043e9 UnrealEditor-Engine.dll!UBodySetup::IsCachedCookedPlatformDataLoaded() [E:\EngineSource\Engine\Source\Runtime\Engine\Private\PhysicsEngine\BodySetup.cpp:1211]
]LogWindows: Error: [Callstack] 0x00007ffe378bf8c6 UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::RouteIsCachedCookedPlatformDataLoaded() [E:\EngineSource\Engine\Source\Editor\UnrealEd\Private\CookOnTheFlyServer.cpp:13521]
]LogWindows: Error: [Callstack] 0x00007ffe3784886d UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::CallBeginCacheOnObjects() [E:\EngineSource\Engine\Source\Editor\UnrealEd\Private\CookOnTheFlyServer.cpp:4171]
]LogWindows: Error: [Callstack] 0x00007ffe378a65c4 UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::PrepareSaveInternal() [E:\EngineSource\Engine\Source\Editor\UnrealEd\Private\CookOnTheFlyServer.cpp:3937]
]LogWindows: Error: [Callstack] 0x00007ffe378a5dba UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::PrepareSave() [E:\EngineSource\Engine\Source\Editor\UnrealEd\Private\CookOnTheFlyServer.cpp:3845]
]LogWindows: Error: [Callstack] 0x00007ffe378aa570 UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::PumpSaves() [E:\EngineSource\Engine\Source\Editor\UnrealEd\Private\CookOnTheFlyServer.cpp:4732]
]LogWindows: Error: [Callstack] 0x00007ffe378cc09a UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::TickMainCookLoop() [E:\EngineSource\Engine\Source\Editor\UnrealEd\Private\CookOnTheFlyServer.cpp:1506]
]LogWindows: Error: [Callstack] 0x00007ffe378cb80c UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::TickCookByTheBook() [E:\EngineSource\Engine\Source\Editor\UnrealEd\Private\CookOnTheFlyServer.cpp:1388]
]LogWindows: Error: [Callstack] 0x00007ffe37554ab0 UnrealEditor-UnrealEd.dll!UCookCommandlet::RunCookByTheBookCook() [E:\EngineSource\Engine\Source\Editor\UnrealEd\Private\Commandlets\CookCommandlet.cpp:620]
]LogWindows: Error: [Callstack] 0x00007ffe3750fb48 UnrealEditor-UnrealEd.dll!UCookCommandlet::CookByTheBook() [E:\EngineSource\Engine\Source\Editor\UnrealEd\Private\Commandlets\CookCommandlet.cpp:573]
]LogWindows: Error: [Callstack] 0x00007ffe37530f03 UnrealEditor-UnrealEd.dll!UCookCommandlet::Main() [E:\EngineSource\Engine\Source\Editor\UnrealEd\Private\Commandlets\CookCommandlet.cpp:272]
]LogWindows: Error: [Callstack] 0x00007ff61863ebd2 UnrealEditor-Cmd.exe!FEngineLoop::PreInitPostStartupScreen() [E:\EngineSource\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:4149]
]LogWindows: Error: [Callstack] 0x00007ff6186355e6 UnrealEditor-Cmd.exe!GuardedMain() [E:\EngineSource\Engine\Source\Runtime\Launch\Private\Launch.cpp:144]
]LogWindows: Error: [Callstack] 0x00007ff61863591a UnrealEditor-Cmd.exe!GuardedMainWrapper() [E:\EngineSource\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:123]
]LogWindows: Error: [Callstack] 0x00007ff618639194 UnrealEditor-Cmd.exe!LaunchWindowsStartup() [E:\EngineSource\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:277]
]LogWindows: Error: [Callstack] 0x00007ff61864bdb4 UnrealEditor-Cmd.exe!WinMain() [E:\EngineSource\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:317]
]LogWindows: Error: [Callstack] 0x00007ff61864e4de UnrealEditor-Cmd.exe!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
]LogWindows: Error: [Callstack] 0x00007ffe9404259d KERNEL32.DLL!UnknownFunction
]LogWindows: Error:
exit code is 3, E:\EngineSource\Engine\Binaries\Win64\UnrealEditor-Cmd.exe
正式的修复已经有了吗?可以给下修复方式,我们这边构建偶现概率还挺高,可以帮忙验证
正式的还没那么快,有临时的shelf在测,我压缩包发给你看下
好我们本地也试试,正式版本大概什么时候出来
这个我也不太确定,后面有新的消息我会跟您同步一下
看起来还未完全修复,建议您先判断下指针的有效性,等后面正式的fix出来我跟您说
昨天提交了一个CL43,606,859
Fix for body setup race condition causing multiple threads to attempt to build collision data when the complex collision override was used. This happened as querying whether the cooked data was ready always reported that a complex mesh was ready, so the main thread would attempt to use the unbuilt phyiscs data and attemp to build it concurrently with the worker thread leading to the race.
合并一下试下
[Image Removed]这次修复跟上周发给我的修复差异点在哪?上周FThreadChecker相关逻辑还需要保留吗?
我还没来得及完全比较,上个shelf是临时的,我看这个是正式的fix还在测试,如果你们很着急可以先看下这个
可以帮忙对比下上周的shelf跟正式fix的差异,FThreadChecker相关逻辑感觉要去掉?合入正式的fix之后还是有问题
[Image Removed]
是的,FThreadChecker是上次那个临时的CL,您把上次那个临时的回退到,用这次的再看下
嗯合入新的修复昨晚几次构建目前看起来正常,后续如果这个正式修复确认了的话烦请告知一下哈
好的
[Image Removed]看起来这种修复还是无法规避😨
我这边跟开发团队反馈下,稍等,如果有更多信息你也可以补充