[Linux] Opening project settings crashes editor

Unreal is crashing whenever I try to open the project settings. It looks like it has something to do with the IPhonePackager.exe. The file is definitely there.

I’ve tried deleting the contents of Saved/Config, and still get a crash. Samething happens for a clean project as well.

Unreal was compiled with Clang 3.9 in case that helps.

[2016.11.16-21.22.22:502][455]LogHAL:Warning: LinuxPlatformProcess::AttemptToMakeExecIfNotAlready: could not stat '/opt/unreal-engine/Engine/Binaries/DotNet/IOS/IPhonePackager.exe', errno=2 (No such file or directory)
Fatal error: [File:/opt/unreal-engine/Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformProcess.cpp] [Line: 857]
FLinuxPlatformProcess::CreateProc: posix_spawn() failed (2, No such file or directory)
[2016.11.16-21.22.22:503][455]LogLinux:Error: appError called: Assertion failed: Assertion failed:  [File:/opt/unreal-engine/Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformProcess.cpp] [Line: 857]
FLinuxPlatformProcess::CreateProc: posix_spawn() failed (2, No such file or directory)

Signal 11 caught.
Malloc Size=131076 LargeMemoryPoolOffset=131092
CommonLinuxCrashHandler: Signal=11
Malloc Size=65535 LargeMemoryPoolOffset=196655
[2016.11.16-21.22.22:544][455]LogCrashTracker:


[2016.11.16-21.22.22:544][455]LogLinux: === Critical error: ===
Unhandled Exception: SIGSEGV: invalid attempt to write memory at address 0x0000000000000003

[2016.11.16-21.22.22:544][455]LogLinux: Assertion failed: Assertion failed:  [File:/opt/unreal-engine/Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformProcess.cpp] [Line: 857]
FLinuxPlatformProcess::CreateProc: posix_spawn() failed (2, No such file or directory)


[Callstack]  00  0x00007f901d183a4f  FLinuxPlatformStackWalk::CaptureStackBackTrace(unsigned long long*, unsigned int, void*)
[Callstack]  01  0x00007f901d08ac45  FGenericPlatformStackWalk::StackWalkAndDump(char*, unsigned long, int, void*)
[Callstack]  02  0x00007f901d16ccc1  FLinuxCrashContext::CaptureStackTrace()
[Callstack]  03  0x00007f9013505170  CommonLinuxCrashHandler(FGenericCrashContext const&)
[Callstack]  04  0x00007f901d170f0a  PlatformCrashHandler(int, siginfo_t*, void*)
[Callstack]  05  0x00007f901de1d080  /usr/lib/libpthread.so.0(+0x11080) [0x7f901de1d080]
[Callstack]  06  0x00007f901d07f6db  FGenericPlatformMisc::RaiseException(unsigned int)
[Callstack]  07  0x00007f901d17af3f  FOutputDeviceLinuxError::Serialize(wchar_t const*, ELogVerbosity::Type, FName const&)
[Callstack]  08  0x00007f901d22cd9b  FOutputDevice::Logf(wchar_t const*, ...)
[Callstack]  09  0x00007f901d1a3068  FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...)
[Callstack]  10  0x00007f901d1708bc  FLinuxPlatformProcess::CreateProc(wchar_t const*, wchar_t const*, bool, bool, bool, unsigned int*, int, wchar_t const*, void*, void*)
[Callstack]  11  0x00007f901d22d624  FMonitoredProcess::Launch()
[Callstack]  12  0x00007f8f837316e0  FIOSTargetSettingsCustomization::FindRequiredFiles()
[Callstack]  13  0x00007f900cb9d2c4  SDetailsViewBase::QueryCustomDetailLayout(FDetailLayoutData&)
[Callstack]  14  0x00007f900cb9a87c  SDetailsViewBase::UpdateSinglePropertyMap(TSharedPtr<FComplexPropertyNode, (ESPMode)0>&, FDetailLayoutData&)
[Callstack]  15  0x00007f900cb9734e  SDetailsViewBase::UpdatePropertyMaps()
[Callstack]  16  0x00007f900cb9609d  SDetailsView::PostSetObject()
[Callstack]  17  0x00007f900cb93541  SDetailsView::SetObjectArrayPrivate(TArray<TWeakObjectPtr<UObject, FWeakObjectPtr>, FDefaultAllocator> const&)
[Callstack]  18  0x00007f900cb94010  SDetailsView::SetObjects(TArray<UObject*, FDefaultAllocator> const&,bool, bool)
[Callstack]  19  0x00007f8f8a7f1ca4  SSettingsEditor::ReloadCategories()
[Callstack]  20  0x00007f8f8a7ef47b  SSettingsEditor::Construct(SSettingsEditor::FArguments const&, TSharedRef<ISettingsEditorModel, (ESPMode)0> const&)
[Callstack]  21  0x00007f8f8a80307a  TDecl<SSettingsEditor, RequiredArgs::T1RequiredArgs<TSharedRef<ISettingsEditorModel, (ESPMode)0> const&> >::operator<<=(SSettingsEditor::FArguments const&) const
[Callstack]  22  0x00007f8f8a8017c8  FSettingsEditorModule::CreateEditor(TSharedRef<ISettingsEditorModel,(ESPMode)0> const&)
[Callstack]  23  0x00007f8f8a3b93b1  FProjectSettingsViewerModule::HandleSpawnSettingsTab(FSpawnTabArgs const&)
[Callstack]  24  0x00007f8f8a3b9cd5  TBaseRawMethodDelegateInstance<false, FProjectSettingsViewerModule, TSharedRef<SDockTab, (ESPMode)0> (FSpawnTabArgs const&)>::Execute(FSpawnTabArgs const&) const
[Callstack]  25  0x00007f9016b1be77  FTabManager::SpawnTab(FTabId const&, TSharedPtr<SWindow, (ESPMode)0>const&)
[Callstack]  26  0x00007f9016b1b34a  FTabManager::InvokeTab_Internal(FTabId const&)
[Callstack]  27  0x00007f9016b1af41  FTabManager::InvokeTab(FTabId const&)
[Callstack]  28  0x00007f8f8a3b7a0d  FProjectSettingsViewerModule::ShowSettings(FName const&, FName const&)
[Callstack]  29  0x00007f8fa9aa370d  FSettingsMenu::OpenSettings(FName, FName, FName)
[Callstack]  30  0x00007f9004fef0ad  TBaseStaticDelegateInstance<void (), FName, FName, FName>::ExecuteIfSafe() const
[Callstack]  31  0x00007f9016b55bd9  SMenuEntryBlock::OnClicked(bool)
[Callstack]  32  0x00007f9016b4b331  SMenuEntryBlock::OnMenuItemButtonClicked()
[Callstack]  33  0x00007f9016bd6a1e  TBaseSPMethodDelegateInstance<false, SMenuEntryBlock, (ESPMode)0, FReply ()>::Execute() const
[Callstack]  34  0x00007f9016bf5b39  SButton::OnMouseButtonUp(FGeometry const&, FPointerEvent const&)
[Callstack]  35  0x00007f9016bd8015  SMenuEntryButton::OnMouseButtonUp(FGeometry const&, FPointerEvent const&)
[Callstack]  36  0x00007f9016a89237  FSlateApplication::RoutePointerUpEvent(FWidgetPath&, FPointerEvent&)
[Callstack]  37  0x00007f9016a58e85  FSlateApplication::ProcessMouseButtonUpEvent(FPointerEvent&)
[Callstack]  38  0x00007f9016a8e20d  FSlateApplication::OnMouseUp(EMouseButtons::Type, FVector2D)
[Callstack]  39  0x00007f901d160077  FLinuxApplication::ProcessDeferredMessage(SDL_Event)
[Callstack]  40  0x00007f901d15fbbd  FLinuxApplication::AddPendingEvent(SDL_Event)
[Callstack]  41  0x00007f901d15fa8c  FLinuxPlatformMisc::PumpMessages(bool)
[Callstack]  42  0x000000000041d98d  FEngineLoop::Tick() [Runtime/Core/Public/UObject/NameTypes.h, line 633]
[Callstack]  43  0x000000000042276a  GuardedMain(wchar_t const*) [/opt/unreal-engine/Engine/Source/Runtime/Launch/Private/Launch.cpp, line 152]
[Callstack]  44  0x00007f9013505efb  CommonLinuxMain(int, char**, int (*)(wchar_t const*))
[Callstack]  45  0x00007f90128d9291  /usr/lib/libc.so.6(__libc_start_main+0xf1) [0x7f90128d9291]
[Callstack]  46  0x000000000041385a  /opt/unreal-engine/Engine/Binaries/Linux/UE4Editor(_start+0x2a) [0x41385a]

Ok, it’s looking for DotNet, while the folder is named DotNET.

Hey -

Is this occurring in a fresh 4.14 project or is this a project that was converted from another engine version? If this is a converted project, do you get the same crash in a fresh 4.14 project? Does this crash occur when opening other windows such as Editor Settings or Plugins?

Yeah, it happens in a fresh 4.14 project, and a converted project. Editor Settings is fine, and so is Plugins. I think I found the cause in Engine/Source/Developer/iOS/IOSPlatformEditor/Private/IOSTargetSettingsCustomization.cpp

Currently, building and installing with DotNet changed to DotNET, in that FindRequiredFiles() I only changed the name of the folder for systems other than ios. If I can open project settings without issue I’ll push to master.

I made a pull request with the fix. https://github.com/EpicGames/UnrealEngine/pull/2945

The same typos are all over that file. Might consider fixing all of them(to prevent crashes in the future). Or I will do it after the code is merged.

I held off on fixing them, as I didn’t know if the casing was the same for Mac, and I don’t own a mac to test. After the holiday I can fix the issue for other paths through the file. I also noticed there’s a couple different casings available for ios folders in different hierarchies.

Same problem here on Kubuntu 16.10 x64 with the difference that I found /DotNet/ directory misspelled in various other files. Unfortunately changing them and creating a new project has same results. By the way, the engine is completely killing the desktop environment when running, which would not happen with previous unreal versions, but that maybe a bug of plasma5 itself. So currently the only way to work on UE4 is have Windows somewhere (sad).

It works more or less in Cinnamon.