A shipping build crash in 4.18.3, FPhysScene::SyncComponentsToBodies_AssumesLocked

Hello,

There’s a crash always appears in some of our players.

  1. If some player don’t crash, will never crash.

  2. If some player crashed, will crash a lot soon.

  3. We use a lot of assets from marketplace in different engine versions, upgraded from 4.14 finally to 4.18.3

  4. We don’t crash in our studio, even with single core 1.5GHZ 2G RAM.

  5. We use BP nativization feature.

  6. We are not able to upgrade engine version, it will need even further debug, have tried, in a success build, will crash more and some rendering errors.

  7. The dmp file shows:

    FightBP_Win64_Shipping!FPhysScene::SyncComponentsToBodies_AssumesLocked+0xd7
    FightBP_Win64_Shipping!FPhysScene::EndFrame+0xc6
    FightBP_Win64_Shipping!FEndPhysicsTickFunction::ExecuteTick+0x1c4
    FightBP_Win64_Shipping!FTickFunctionTask::DoTask+0xd3
    FightBP_Win64_Shipping!TGraphTask::ExecuteTask+0x2d
    FightBP_Win64_Shipping!FNamedTaskThread::ProcessTasksNamedThread+0x1ce
    FightBP_Win64_Shipping!FNamedTaskThread::ProcessTasksUntilQuit+0x6c
    FightBP_Win64_Shipping!FTaskGraphImplementation::WaitUntilTasksComplete+0x1d1
    FightBP_Win64_Shipping!FTickTaskSequencer::ReleaseTickGroup+0x186
    FightBP_Win64_Shipping!FTickTaskManager::RunTickGroup+0x17
    FightBP_Win64_Shipping!UWorld::Tick+0x762
    FightBP_Win64_Shipping!UGameEngine::Tick+0x264
    FightBP_Win64_Shipping!FEngineLoop::Tick+0x463
    FightBP_Win64_Shipping!GuardedMain+0x2ac
    FightBP_Win64_Shipping!GuardedMainWrapper+0x1a
    FightBP_Win64_Shipping!WinMain+0xd0
    FightBP_Win64_Shipping!__scrt_common_main_seh+0x117
    kernel32!BaseThreadInitThunk+0x14

    ntdll!+0x21

    FAULTING_SOURCE_LINE: d:\unreal\ue418patch\unrealengine-release\engine\source\runtime\engine\private\physicsengine\physscene.cpp

    FAULTING_SOURCE_FILE: d:\unreal\ue418patch\unrealengine-release\engine\source\runtime\engine\private\physicsengine\physscene.cpp

    FAULTING_SOURCE_LINE_NUMBER: 1274

    FAULTING_SOURCE_CODE:

    791: * @anonymous_user_536ed8c4 FindLast, FindLastByPredicate

    792: */

    793: int32 Find(const ElementType& Item) const

    794: {

    795: const ElementType* RESTRICT Start = GetData();

    796: for (const ElementType* RESTRICT Data = Start, *RESTRICT DataEnd = Data + ArrayNum; Data != DataEnd; ++Data)

    797: {

    798: if (*Data == Item)

    799: {

    800: return static_cast(Data - Start);

    SYMBOL_NAME: fightbp_win64_shipping!FPhysScene::SyncComponentsToBodies_AssumesLocked+d7

    MODULE_NAME: FightBP_Win64_Shipping

    IMAGE_NAME: FightBP-Win64-Shipping.exe

    STACK_COMMAND: ~1s ; .ecxr ; kb

    FAILURE_BUCKET_ID: SOFTWARE_NX_FAULT_c0000005_FightBP-Win64-Shipping.exe!FPhysScene::SyncComponentsToBodies_AssumesLocked

    OS_VERSION: 10.0.18362.1

    BUILDLAB_STR: 19h1_release

    OSPLATFORM_TYPE: x64

    OSNAME: Windows 10

Hope there’s a way to fix it, or someone might know how to avoid from player, please let me know!

Thanks!

Thank you! I’ll try it soon.

Hi,

there is a similar issue here,

please try to merge the attached diff file and check if it works.

link text

link text

Job done, just upload this for other developers who may be need it.

Thanks