Crash upon Project Settings

Hi, I’m experiencing a crash on Linux when using the editor to access the Project Settings. I’m using Fedora 25. Am I missing something? Thanks!

Here’s the log:

Fatal error: [File:/home//Downloads/UnrealEngine/Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformProcess.cpp] [Line: 893] 
FLinuxPlatformProcess::CreateProc: posix_spawn() failed (8, Exec format error)
[2017.03.22-12.40.42:034][945]LogLinux:Error: appError called: Assertion failed: Assertion failed:  [File:/home//Downloads/UnrealEngine/Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformProcess.cpp] [Line: 893] 
FLinuxPlatformProcess::CreateProc: posix_spawn() failed (8, Exec format error)

Signal 11 caught.
Malloc Size=131076 LargeMemoryPoolOffset=131092 
CommonLinuxCrashHandler: Signal=11
Malloc Size=65535 LargeMemoryPoolOffset=196655 
[2017.03.22-12.40.42:065][945]LogCrashTracker: 


[2017.03.22-12.40.42:065][945]LogLinux: === Critical error: ===
Unhandled Exception: SIGSEGV: invalid attempt to write memory at address 0x0000000000000003

[2017.03.22-12.40.42:065][945]LogLinux: Assertion failed: Assertion failed:  [File:/home//Downloads/UnrealEngine/Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformProcess.cpp] [Line: 893] 
FLinuxPlatformProcess::CreateProc: posix_spawn() failed (8, Exec format error)


[Callstack]  00  0x00007f3e93d641df  FLinuxPlatformStackWalk::CaptureStackBackTrace(unsigned long long*, unsigned int, void*)
[Callstack]  01  0x00007f3e93c4cf45  FGenericPlatformStackWalk::StackWalkAndDump(char*, unsigned long, int, void*)
[Callstack]  02  0x00007f3e93d255c1  FLinuxCrashContext::CaptureStackTrace()
[Callstack]  03  0x00007f3e89f631c0  CommonLinuxCrashHandler(FGenericCrashContext const&)
[Callstack]  04  0x00007f3e93d2973a  PlatformCrashHandler(int, siginfo_t*, void*)
[Callstack]  05  0x00007f3e99a225c0  /lib64/libpthread.so.0(+0x115c0) [0x7f3e99a225c0]
[Callstack]  06  0x00007f3e93c4156b  FGenericPlatformMisc::RaiseException(unsigned int)
[Callstack]  07  0x00007f3e93d33502  FOutputDeviceLinuxError::Serialize(wchar_t const*, ELogVerbosity::Type, FName const&)
[Callstack]  08  0x00007f3e93e004cb  FOutputDevice::Logf(wchar_t const*, ...)
[Callstack]  09  0x00007f3e93d699f8  FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...)
[Callstack]  10  0x00007f3e93d290ec  FLinuxPlatformProcess::CreateProc(wchar_t const*, wchar_t const*, bool, bool, bool, unsigned int*, int, wchar_t const*, void*, void*)
[Callstack]  11  0x00007f3e93e00ce4  FMonitoredProcess::Launch()
[Callstack]  12  0x00007f3df04974f0  FIOSTargetSettingsCustomization::FindRequiredFiles()
[Callstack]  13  0x00007f3e7f09c566  SDetailsViewBase::QueryCustomDetailLayout(FDetailLayoutData&)
[Callstack]  14  0x00007f3e7f099b5c  SDetailsViewBase::UpdateSinglePropertyMap(TSharedPtr<FComplexPropertyNode, (ESPMode)0>&, FDetailLayoutData&)
[Callstack]  15  0x00007f3e7f0962ae  SDetailsViewBase::UpdatePropertyMaps()
[Callstack]  16  0x00007f3e7f094ffd  SDetailsView::PostSetObject()
[Callstack]  17  0x00007f3e7f092483  SDetailsView::SetObjectArrayPrivate(TArray<TWeakObjectPtr<UObject, FWeakObjectPtr>, FDefaultAllocator> const&)
[Callstack]  18  0x00007f3e7f092f70  SDetailsView::SetObjects(TArray<UObject*, FDefaultAllocator> const&, bool, bool)
[Callstack]  19  0x00007f3df324db64  SSettingsEditor::ReloadCategories()
[Callstack]  20  0x00007f3df324b313  SSettingsEditor::Construct(SSettingsEditor::FArguments const&, TSharedRef<ISettingsEditorModel, (ESPMode)0> const&)
[Callstack]  21  0x00007f3df325eeea  TDecl<SSettingsEditor, RequiredArgs::T1RequiredArgs<TSharedRef<ISettingsEditorModel, (ESPMode)0> const&> >::operator<<=(SSettingsEditor::FArguments const&) const
[Callstack]  22  0x00007f3df325d5f8  FSettingsEditorModule::CreateEditor(TSharedRef<ISettingsEditorModel, (ESPMode)0> const&)
[Callstack]  23  0x00007f3df2e145b1  FProjectSettingsViewerModule::HandleSpawnSettingsTab(FSpawnTabArgs const&)
[Callstack]  24  0x00007f3df2e14ec5  TBaseRawMethodDelegateInstance<false, FProjectSettingsViewerModule, TSharedRef<SDockTab, (ESPMode)0> (FSpawnTabArgs const&)>::Execute(FSpawnTabArgs const&) const
[Callstack]  25  0x00007f3e8d5e1e07  FTabManager::SpawnTab(FTabId const&, TSharedPtr<SWindow, (ESPMode)0> const&)
[Callstack]  26  0x00007f3e8d5e12da  FTabManager::InvokeTab_Internal(FTabId const&)
[Callstack]  27  0x00007f3e8d5e0ed1  FTabManager::InvokeTab(FTabId const&)
[Callstack]  28  0x00007f3df2e12a7d  FProjectSettingsViewerModule::ShowSettings(FName const&, FName const&)
[Callstack]  29  0x00007f3e1d30cdcd  FSettingsMenu::OpenSettings(FName, FName, FName)
[Callstack]  30  0x00007f3e7556b04d  TBaseStaticDelegateInstance<void (), FName, FName, FName>::ExecuteIfSafe() const
[Callstack]  31  0x00007f3e8d61bab9  SMenuEntryBlock::OnClicked(bool)
[Callstack]  32  0x00007f3e8d611211  SMenuEntryBlock::OnMenuItemButtonClicked()
[Callstack]  33  0x00007f3e8d68993e  TBaseSPMethodDelegateInstance<false, SMenuEntryBlock, (ESPMode)0, FReply ()>::Execute() const
[Callstack]  34  0x00007f3e8d6bccf2  SButton::OnMouseButtonUp(FGeometry const&, FPointerEvent const&)
[Callstack]  35  0x00007f3e8d68af35  SMenuEntryButton::OnMouseButtonUp(FGeometry const&, FPointerEvent const&)
[Callstack]  36  0x00007f3e8d54f9a2  FSlateApplication::RoutePointerUpEvent(FWidgetPath&, FPointerEvent&)
[Callstack]  37  0x00007f3e8d51f305  FSlateApplication::ProcessMouseButtonUpEvent(FPointerEvent&)
[Callstack]  38  0x00007f3e8d55485d  FSlateApplication::OnMouseUp(EMouseButtons::Type, FVector2D)
[Callstack]  39  0x00007f3e93d1869d  FLinuxApplication::ProcessDeferredMessage(SDL_Event)
[Callstack]  40  0x00007f3e93d17f2d  FLinuxApplication::AddPendingEvent(SDL_Event)
[Callstack]  41  0x00007f3e93d17dfc  FLinuxPlatformMisc::PumpMessages(bool)
[Callstack]  42  0x000000000041f54d  FEngineLoop::Tick() [Runtime/Core/Public/UObject/NameTypes.h, line 638]
[Callstack]  43  0x00000000004247ea  GuardedMain(wchar_t const*) [/home//Downloads/UnrealEngine/Engine/Source/Runtime/Launch/Private/Launch.cpp, line 166]
[Callstack]  44  0x00007f3e89f63f4b  CommonLinuxMain(int, char**, int (*)(wchar_t const*))
[Callstack]  45  0x00007f3e8930e401  /lib64/libc.so.6(__libc_start_main+0xf1) [0x7f3e8930e401]
[Callstack]  46  0x000000000041500a  /home//Downloads/UnrealEngine/Engine/Binaries/Linux/UE4Editor(_start+0x2a) [0x41500a]

[2017.03.22-12.40.42:075][945]LogExit: Executing StaticShutdownAfterError
Malloc Size=52235 LargeMemoryPoolOffset=248907 
Using binned.
LogPlatformFile: Not using cached  wrapper
LogInit:Display: RandInit(294097408) SRandInit(294097408).
LogTaskGraph: Started task graph with 4 named threads and 7 total threads with 1 sets of task threads.
LogInit: Build: ++UE4+Release-4.15-CL-0
LogInit: Engine Version: 4.15.1-0+++UE4+Release-4.15
LogInit: Compatible Engine Version: 4.15.0-0+++UE4+Release-4.15
LogInit: Net CL: 0
LogInit: Compiled (64-bit): Mar 22 2017 08:51:04
LogInit: Compiled with Clang: 3.9.1 (tags/RELEASE_391/final)
LogInit: Build Configuration: Shipping
LogInit: Branch Name: ++UE4+Release-4.15
LogInit: Command line:  -Abslog=/home//Documents/Unreal Projects/TestUnrealEngine/Saved/Logs/TestUnrealEngine-CRC.log /home//Documents/Unreal Projects/TestUnrealEngine/Saved/Crashes/crashinfo-TestUnrealEngine-pid-30468-170594982A0314160028004C6195FBA0/
LogInit: Base directory: /home//Downloads/UnrealEngine/Engine/Binaries/Linux/
LogInit: Installed Engine Build: 1
LogInit: Presizing for max 100000 objects, including 0 objects not considered by GC, pre-allocating 0 bytes for permanent pool.
LogInit: Object subsystem initialized
[2017.03.22-12.40.42:187][  0]LogInit: Linux hardware info:
[2017.03.22-12.40.42:187][  0]LogInit:  - we are the first instance of this executable
[2017.03.22-12.40.42:187][  0]LogInit:  - this process' id (pid) is 30553, parent process' id (ppid) is 30468
[2017.03.22-12.40.42:187][  0]LogInit:  - we are not running under debugger
[2017.03.22-12.40.42:187][  0]LogInit:  - machine network name is 'home.localdomain'
[2017.03.22-12.40.42:187][  0]LogInit:  - user name is '' ()
[2017.03.22-12.40.42:187][  0]LogInit:  - we're logged in locally
[2017.03.22-12.40.42:187][  0]LogInit:  - we're running with rendering
[2017.03.22-12.40.42:187][  0]LogInit:  - CPU: GenuineIntel 'Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz' (signature: 0x906E9)
[2017.03.22-12.40.42:187][  0]LogInit:  - Number of physical cores available for the process: 4
[2017.03.22-12.40.42:187][  0]LogInit:  - Number of logical cores available for the process: 8
[2017.03.22-12.40.42:188][  0]LogInit:  - Cache line size: 64
[2017.03.22-12.40.42:188][  0]LogInit:  - Memory allocator used: binned
[2017.03.22-12.40.42:188][  0]LogLinux: Skipped benchmarking clocks because the engine is running in a standalone program mode - CLOCK_REALTIME will be used.
[2017.03.22-12.40.42:188][  0]LogInit: Linux-specific commandline switches:
[2017.03.22-12.40.42:188][  0]LogInit:  -nodwarf (currently OFF): suppress parsing of DWARF debug info (callstacks will be generated faster, but won't have line numbers)
[2017.03.22-12.40.42:188][  0]LogInit:  -ansimalloc - use malloc()/free() from libc (useful for tools like valgrind and electric fence)
[2017.03.22-12.40.42:188][  0]LogInit:  -jemalloc - use jemalloc for all memory allocation
[2017.03.22-12.40.42:188][  0]LogInit:  -binnedmalloc - use binned malloc  for all memory allocation
[2017.03.22-12.40.42:188][  0]LogInit:  -httpproxy=ADDRESS:PORT - redirects HTTP requests to a proxy (only supported if compiled with libcurl)
[2017.03.22-12.40.42:188][  0]LogInit:  -reuseconn - allow libcurl to reuse HTTP connections (only matters if compiled with libcurl)
[2017.03.22-12.40.42:188][  0]LogInit:  -virtmemkb=NUMBER - sets process virtual memory (address space) limit (overrides VirtualMemoryLimitInKB value from .ini)
[2017.03.22-12.40.42:188][  0]LogInit:  - Physical RAM available (not considering process quota): 8 GB (7947 MB, 8138500 KB, 8333824000 bytes)
[2017.03.22-12.40.42:188][  0]LogUObjectArray: 146 objects as part of root set at end of initial load.
[2017.03.22-12.40.42:188][  0]LogUObjectAllocator: 24096 out of 0 bytes used by permanent object pool.
[2017.03.22-12.40.42:188][  0]LogUObjectArray: CloseDisregardForGC: 0/0 objects in disregard for GC pool
[2017.03.22-12.40.42:188][  0]LogTextLocalizationManager: No translations for ('') exist, falling back to 'en' for localization and internationalization data.
[2017.03.22-12.40.42:191][  0]CrashReportClientLog: CrashReportClientVersion=1.0
[2017.03.22-12.40.42:191][  0]CrashReportClientLog: CrashReportReceiver disabled
[2017.03.22-12.40.42:191][  0]CrashReportClientLog: DataRouterUrl: https://datarouter.ol.epicgames.com/datarouter/api/v1/public/data
[2017.03.22-12.40.42:191][  0]LogExit: Preparing to exit.
[2017.03.22-12.40.42:191][  0]LogObj: Freed 0b from 0 cluster array pools.
[2017.03.22-12.40.42:191][  0]LogExit: Object subsystem successfully closed.
[2017.03.22-12.40.42:191][  0]LogModuleManager: Shutting down and abandoning module CoreUObject (2)
[2017.03.22-12.40.42:191][  0]LogExit: Exiting.
Engine crash handling finished; re-raising signal 11 for the default handler. Good bye.

Hey-

This is a known issue that was fixed in a pull request which you can find more information about here: [Linux] Opening project settings crashes editor - Platform & Builds - Epic Developer Community Forums . In short, please check the capitalization of the DOTNET folder. This fix should be present in the 4.15 engine version, if you are still seeing this occur in 4.15.0, please try updating to 4.15.1. If this is still an issue after upgrading, manually changing the folder name (to DotNet) should prevent the crash.

Cheers

Hi ,

It seems to still crash after changing the following folders to from ‘DotNET’ to ‘DotNet’:
Engine/Binaries/DotNET/IOS
Engine/Source/Editor/SwarmInterface/DotNET/Properties

I was already using Unreal Engine 4.15.1.

Does this crash occur in a new project as well? Additionally, does the crash happen as soon as you click on Project Settings or when trying to access a specific section inside the Project Settings window?

EDIT: Can you also provide the full output from the terminal window

Yeah, it also happens on a completely new project. The program would freeze as soon as I click Project Settings, and I would see the errors on the terminal a second later. Then after 15 seconds or so, the program would close.

Here’s the full terminal output: Unreal Engine 4.15.1 crash - Pastebin.com

Hey-

I was able to narrow the issue down to a call being made to an iOS program and have entered a report for the issue here: Unreal Engine Issues and Bug Tracker (UE-43444) . You can track the report’s status as the issue is reviewed by our development staff.

Cheers

Hi ,

Cool, thanks for reporting it!

The entire file IOSTragetSettingsCustomization.cpp seems to be problematic; there is no consideration for LINUX within the various mono commands…

To fix this particular problem

  1. open the file IOSTragetSettingsCustomization.cpp
  2. find the function/method “FIOSTargetSettingsCustomization::FindRequiredFiles” in release 4.15.1 it is located at line 1024
  3. Add the following lines between #if PLATFORM_MAC and #else sections

#elif PLATFORM_LINUX

FString CmdExe = TEXT(“/bin/bash”);

FString ScriptPath = FPaths::ConvertRelativePathToFull(FPaths::EngineDir() / TEXT(“Build/BatchFiles/Linux/RunMono.sh”));

FString IPPPath = FPaths::ConvertRelativePathToFull(FPaths::EngineDir() / TEXT(“Binaries/DotNET/IOS/IPhonePackager.exe”));

FString CommandLine = FString::Printf(TEXT(“"%s" "%s" certificates Engine -bundlename "%s"”), *ScriptPath, *IPPPath, *(BundleIdentifier));

As I said the entire file IOSTragetSettingsCustomization.cpp seem to be one big bug; there is only consideration for PLATFORM_MAC.

I am not sure how to file a bug report but the entire fill needs to be updated.

Could someone let the power that exist know about this file

Thanks

I have a vested interest in making sure UE works in the Linux environment. So if you have any problems with UE under Linux please let me know and I will do my best to offer a patch/fix

I tried the code in the IOSTargetSettingsCustomization.cpp and it did not fix the problem. The editor will still crash trying to open the project settings.

There are several assumption:

  1. Linux --I am using openSuSE tumbleweed
  2. Unreal Engine 4 version 4.15.1
  3. mono is installed --the thing crashing is a C# application is basically what bring up the the project setting menu
  4. After you have changed the file you run “make”

If that does not work for you, I am guessing you have something missing from your Linux installation

Hi,

I actually try your suggestion in ver. 4.15.2
But the compiler produce the following error:

~/Shared/UnrealEngine/
/home/sbbg/Shared/UnrealEngine/Engine/Source/Developer
iOS/IOSPlatformEditor/Private
IOSTargetSettingsCustomization.cpp:1042:115: error:
cannot pass object of non-trivial type ‘FString’ through
variadic function; call will abort at runtime
[-Wnon-pod-varargs]
…CommandLine = FString::Printf(TEXT(“"%s" "%s"
certificates Engine -bundlename "%s"”), *ScriptPath, IPPPath,
(Bun…
^
/home/sbbg/Shared/UnrealEngine/Engine/Source/Developer
iOS/IOSPlatformEditor/Private
IOSTargetSettingsCustomization.cpp:1042:124: error:
cannot pass object of non-trivial type ‘FString’ through
variadic function; call will abort at runtime
[-Wnon-pod-varargs]
…= FString::Printf(TEXT(“"%s" "%s" certificates Engine
bundlename "%s"”), *ScriptPath, IPPPath, (BundleIdentifie…

Do you have any better idea?
Thank you anyway.

This really concerns me about how Epic Unreal Engine 4 under Linux is being ignored. Not only was it an easy fix in version 4.15.1, it was a fix absolutely necessary if anyone needed for anyone needing to setup the inputs for their project. I am appalled that the fix did not go into version 4.15.2 – no one seems to be QA the linux version of UE4…

I will try to get the 4.15.2 version tonight and should have a solution tomorrow. Please let me know if you have fixed the issue yourself before I try tonight.

I dear not tamper with my version 4.15.1 because I have been making a number of minor modification to it work properly in my openSuSE Tumbleweed environment

sbbg; I am pretty sure you did not follow my instructions. I just clone the 4.15.2 version of UE4 and add the changes exactly as stated in my comments.
UE4 4.15.2 no longer crashes when you access the project settings … just in case the formatting of this blog could have cause what should have been a simple cut and paste, here is alternate source of my instruction can be found here http://www…com/unreal-engine-4-crash-upon-project-settings/

Best of luck

,
Tried it again. This time I used the latest 4.15. I was using 4.16 ( I may try that one later ).

Your fix works! Thanks.

I hope the fix is implemented soon.

BTW, using Void Linux / CLANG 3.9 / now Unreal 4.15.(2?) / Mono 4.8.1

Also, to make life a bit easier, these are the steps I took. In the IOSTargetSettingsCustomization.cpp and in the section you mentioned - FIOSTargetSettingsCustomization::FindRequiredFiles at line 1024:

  1. Copy from the #if PLATFORM_MAC to (but not including) #else.
  2. Paste the copy above the #else.
  3. Change #if to #elif & MAC to LINUX in the second #if (the pasted copy).
  4. Change “sh” to “bash”.
  5. Change Mac to Linux in the RunMono.sh path.
  6. Save & recompile/compile.

I hope that helps until the fix is in.

Xerus,
Your approach helped me.
Thank you so much.

If only Unreal devs can shed more love for Linux platform… (sigh)

Glad to help, just like finding the solution helped me out. We all help each other…

I am happy my solution has help both of you … The general rule is, if it works in the Windows or MAC environment I should be able to make it work in the LINUX environment. Right now I am making my way through a number of Intermediate level and advance level tutorials and have found nothing out of the ordinarily. One thing to note is UE4 seems to disrupt the KDE Plasma 5 desktop that returns to normal functionality when UE4 terminate.

I do have some minor patches/fixes if you want to use Unreal Engine 4 in openSuSE Tumbleweed; the latest pull forces clang 4.0 … and want to use Kdevelop your code C++ IDE … you can find my notes at www…com.

Let me know if you should find any other bugs that work in Windows but refuse to work in Linxu…

Thanks Micheal. I’ve just tried your fix on UE4Editor 4.16 and it works great. The project settings come up without any issue.

Fedora 25 Unreal 4.16.2

The issue still exists. I tried Harts Fix. Compiler throws warnings about the FString Commandline line, both 's fix for Linux and the original line in the file for Mac (the lines are identical).

The fix seems to work. I can open project settings, make changes,

Thank you Mr Hart!