Description

UBT is not passing UE_ENGINE_DIRECTORY to GForeignEngineDir because in UEBuildTarget.cs IsCurrentPlatform only checks for Windows and Mac.

Because GForeignEngineDir is not set, config files and other engine related assets cannot be loaded when the project source is not relative to the engine source. This means the s.EventDrivenLoaderEnabled is not set to true and the server crashes.

 

Steps to Reproduce
  1. Setup a foreign project (project located outside the main UE source dir)
  2. Cook the server target assets
  3. Build the server target and run from Binaries/Linux/
  4. The server will crash with an EDL related error
Callstack

[2018.03.21-03.39.52:167][ 0]LogLinux: Error: appError called: Assertion failed: [Link Removed] [Line: 1126]
Package ../../../Engine/Content/.../...uasset contains preload dependency data but the current build does not support it. Make sure Event Driven Loader is enabled and rebuild the game executable.

Signal 11 caught.
Malloc Size=131076 LargeMemoryPoolOffset=131092
CommonLinuxCrashHandler: Signal=11
Malloc Size=65535 LargeMemoryPoolOffset=196655
[2018.03.21-03.39.53:050][ 0]LogLinux: === Critical error: ===
Unhandled Exception: SIGSEGV: invalid attempt to write memory at address 0x0000000000000003

[2018.03.21-03.39.53:050][ 0]LogLinux: Assertion failed: [Link Removed] [Line: 1126]
Package ../../../Engine/Content/.../...uasset contains preload dependency data but the current build does not support it. Make sure Event Driven Loader is enabled and rebuild the game executable.

0x000000000228dc5f FLinuxPlatformStackWalk::CaptureStackBackTrace(unsigned long long*, unsigned int, void*) [...Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformStackWalk.cpp:1040]
0x0000000002181b95 FGenericPlatformStackWalk::StackWalkAndDump(char*, unsigned long, int, void*) [...Engine/Source/Runtime/Core/Private/GenericPlatform/GenericPlatformStackWalk.cpp:173]
0x0000000002243110 FLinuxCrashContext::CaptureStackTrace() [Runtime/Core/Public/Containers/ContainerAllocationPolicies.h:332]
0x0000000004d977db CommonLinuxCrashHandler(FGenericCrashContext const&) [...Engine/Source/Runtime/Linux/LinuxCommonStartup/Private/LinuxCommonStartup.cpp:37]
0x00000000022449dd PlatformCrashHandler(int, siginfo_t*, void*) [...Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformCrashContext.cpp:597]
0x00007fb2fe032390 /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390) [0x7fb2fe032390]
0x000000000217b423 FGenericPlatformMisc::RaiseException(unsigned int) [...Engine/Source/Runtime/Core/Private/GenericPlatform/GenericPlatformMisc.cpp:354]
0x00000000024cf668 FLinuxErrorOutputDevice::Serialize(wchar_t const*, ELogVerbosity::Type, FName const&) [...Engine/Source/Runtime/ApplicationCore/Private/Linux/LinuxErrorOutputDevice.cpp:58]
0x0000000002325da8 FOutputDevice::Logf(wchar_t const*, ...) [Runtime/Core/Public/HAL/UnrealMemory.h:159]
0x00000000022cf5fd FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...) [Runtime/Core/Public/Containers/ContainerAllocationPolicies.h:356]
0x00000000025e88ab FLinkerLoad::SerializePackageFileSummary() [Runtime/Core/Public/Containers/ContainerAllocationPolicies.h:356]
0x00000000025e7411 FLinkerLoad::Tick(float, bool, bool) [...Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp:659]
0x00000000025e47f3 FLinkerLoad::CreateLinker(UPackage*, wchar_t const*, unsigned int) [...Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp:438]
0x00000000025e250e GetPackageLinker(UPackage*, wchar_t const*, unsigned int, UPackageMap*, FGuid*) [...Engine/Source/Runtime/CoreUObject/Private/UObject/Linker.cpp:690]
0x00000000026d54ef LoadPackageInternal(UPackage*, wchar_t const*, unsigned int, FLinkerLoad*) [...Engine/Source/Runtime/CoreUObject/Private/UObject/UObjectGlobals.cpp:1234]
0x00000000026d2b38 LoadPackage(UPackage*, wchar_t const*, unsigned int) [...Engine/Source/Runtime/CoreUObject/Private/UObject/UObjectGlobals.cpp:1430]
0x00000000026d04ce ResolveName(UObject*&, FString&, bool, bool, unsigned int) [...Engine/Source/Runtime/CoreUObject/Private/UObject/UObjectGlobals.cpp:798]
0x00000000026d2f54 StaticLoadObjectInternal(UClass*, UObject*, wchar_t const*, wchar_t const*, unsigned int, UPackageMap*, bool) [...Engine/Source/Runtime/CoreUObject/Private/UObject/UObjectGlobals.cpp:937]
0x00000000026d39d7 StaticLoadObject(UClass*, UObject*, wchar_t const*, wchar_t const*, unsigned int, UPackageMap*, bool) [...Engine/Source/Runtime/CoreUObject/Private/UObject/UObjectGlobals.cpp:953]
0x0000000004422d9a Unknown [...Engine/Source/Runtime/CoreUObject/Public/UObject/UObjectGlobals.h:1243]
0x00000000044229f5 ConstructorHelpers::FObjectFinder<UTexture2D>::FObjectFinder(wchar_t const*) [Runtime/CoreUObject/Public/UObject/ConstructorHelpers.h:108]
0x0000000004a0e075 UCanvas::UCanvas(FObjectInitializer const&) [Runtime/Core/Public/Containers/UnrealString.h:56]
0x000000000256ec33 UClass::CreateDefaultObject() [...Engine/Source/Runtime/CoreUObject/Private/UObject/Class.cpp:2728]
0x00000000026c9c17 ProcessNewlyLoadedUObjects() [Runtime/Core/Public/Containers/Array.h:184]
0x0000000002133472 FEngineLoop::PreInit(wchar_t const*) [...Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp:1882]
0x000000000213d098 GuardedMain(wchar_t const*) [...Engine/Source/Runtime/Launch/Private/Launch.cpp:42]
0x0000000004d98503 CommonLinuxMain(int, char*, int [Image Removed](wchar_t const)) [...Engine/Source/Runtime/Linux/LinuxCommonStartup/Private/LinuxCommonStartup.cpp:236]
0x00007fb2fd562830 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7fb2fd562830]
0x0000000002130159 ./...(_start+0x29) [0x2130159]

[2018.03.21-03.39.53:060][ 0]LogExit: Executing StaticShutdownAfterError
Malloc Size=131160 LargeMemoryPoolOffset=327832
Malloc Size=131160 LargeMemoryPoolOffset=459016
Malloc Size=131160 LargeMemoryPoolOffset=590200
Engine crash handling finished; re-raising signal 11 for the default handler. Good bye.
Segmentation fault (core dumped)

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-56503 in the post.

0
Login to Vote

Fixed
ComponentUE - Platform - Linux
Affects Versions4.18.34.194.20
Target Fix4.20
Fix Commit3969070
Main Commit4052378
Release Commit4095966
CreatedMar 27, 2018
ResolvedMar 28, 2018
UpdatedMay 31, 2018