Description

When the Project Settings is opened on Linux, a call is made to run an iOS-related C# program (execute iPhonePackager certificates). This call causes the editor to crash.

Unable to find mention of the same call being made on Windows.

Regression:
Yes - editor does not crash opening Project Settings in 4.14.3

Steps to Reproduce
  1. Open UE4 editor on Linux
  2. Open Edit->Project Settings

Result:
Locally, editor continues running and the "Local" section of the callstack field appears in the terminal window.
Publicly, editor crashes with the callstack provided in "Public" section of callstack field

Expected:
Opening Project Settings does not call iOS-related program

Callstack

*Public*

[2017.03.28-23.38.08:104][820]LogLinux: Setting swap interval to 'Immediate'
[2017.03.28-23.38.18:067][319]LogHAL:Warning: LinuxPlatformProcess::AttemptToMakeExecIfNotAlready: could not stat '/home/jacky/Downloads/UnrealEngine/Engine/Binaries/DotNET/IOS/IPhonePackager.exe', errno=2 (No such file or directory)
Fatal error: [File:/home/jacky/Downloads/UnrealEngine/Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformProcess.cpp] [Line: 893]
FLinuxPlatformProcess::CreateProc: posix_spawn() failed (2, No such file or directory)
[2017.03.28-23.38.18:071][319]LogLinux:Error: appError called: Assertion failed: Assertion failed:  [File:/home/jacky/Downloads/UnrealEngine/Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformProcess.cpp] [Line: 893]
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
[2017.03.28-23.38.18:101][319]LogCrashTracker:
 
 
[2017.03.28-23.38.18:102][319]LogLinux: === Critical error: ===
Unhandled Exception: SIGSEGV: invalid attempt to write memory at address 0x0000000000000003
 
[2017.03.28-23.38.18:102][319]LogLinux: Assertion failed: Assertion failed:  [File:/home/jacky/Downloads/UnrealEngine/Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformProcess.cpp] [Line: 893]
FLinuxPlatformProcess::CreateProc: posix_spawn() failed (2, No such file or directory)
 
 
[Callstack]  00  0x00007f55ad01b1df  FLinuxPlatformStackWalk::CaptureStackBackTrace(unsigned long long*, unsigned int, void*)
[Callstack]  01  0x00007f55acf03f45  FGenericPlatformStackWalk::StackWalkAndDump(char*, unsigned long, int, void*)
[Callstack]  02  0x00007f55acfdc5c1  FLinuxCrashContext::CaptureStackTrace()
[Callstack]  03  0x00007f55a321a1c0  CommonLinuxCrashHandler(FGenericCrashContext const&)
[Callstack]  04  0x00007f55acfe073a  PlatformCrashHandler(int, siginfo_t*, void*)
[Callstack]  05  0x00007f55b2cd95c0  /lib64/libpthread.so.0(+0x115c0) [0x7f55b2cd95c0]
[Callstack]  06  0x00007f55acef856b  FGenericPlatformMisc::RaiseException(unsigned int)
[Callstack]  07  0x00007f55acfea502  FOutputDeviceLinuxError::Serialize(wchar_t const*, ELogVerbosity::Type, FName const&)
[Callstack]  08  0x00007f55ad0b74cb  FOutputDevice::Logf(wchar_t const*, ...)
[Callstack]  09  0x00007f55ad0209f8  FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...)
[Callstack]  10  0x00007f55acfe00ec  FLinuxPlatformProcess::CreateProc(wchar_t const*, wchar_t const*, bool, bool, bool, unsigned int*, int, wchar_t const*, void*, void*)
[Callstack]  11  0x00007f55ad0b7ce4  FMonitoredProcess::Launch()
[Callstack]  12  0x00007f55096894f0  FIOSTargetSettingsCustomization::FindRequiredFiles()
[Callstack]  13  0x00007f5598353566  SDetailsViewBase::QueryCustomDetailLayout(FDetailLayoutData&)
[Callstack]  14  0x00007f5598350b5c  SDetailsViewBase::UpdateSinglePropertyMap(TSharedPtr<FComplexPropertyNode, (ESPMode)0>&, FDetailLayoutData&)
[Callstack]  15  0x00007f559834d2ae  SDetailsViewBase::UpdatePropertyMaps()
[Callstack]  16  0x00007f559834bffd  SDetailsView::PostSetObject()
[Callstack]  17  0x00007f5598349483  SDetailsView::SetObjectArrayPrivate(TArray<TWeakObjectPtr<UObject, FWeakObjectPtr>, FDefaultAllocator> const&)
[Callstack]  18  0x00007f5598349f70  SDetailsView::SetObjects(TArray<UObject*, FDefaultAllocator> const&, bool, bool)
[Callstack]  19  0x00007f551c54cb64  SSettingsEditor::ReloadCategories()
[Callstack]  20  0x00007f551c54a313  SSettingsEditor::Construct(SSettingsEditor::FArguments const&, TSharedRef<ISettingsEditorModel, (ESPMode)0> const&)
[Callstack]  21  0x00007f551c55deea  TDecl<SSettingsEditor, RequiredArgs::T1RequiredArgs<TSharedRef<ISettingsEditorModel, (ESPMode)0> const&> >::operator<<=(SSettingsEditor::FArguments const&) const
[Callstack]  22  0x00007f551c55c5f8  FSettingsEditorModule::CreateEditor(TSharedRef<ISettingsEditorModel, (ESPMode)0> const&)
[Callstack]  23  0x00007f551c1135b1  FProjectSettingsViewerModule::HandleSpawnSettingsTab(FSpawnTabArgs const&)
[Callstack]  24  0x00007f551c113ec5  TBaseRawMethodDelegateInstance<false, FProjectSettingsViewerModule, TSharedRef<SDockTab, (ESPMode)0> (FSpawnTabArgs const&)>::Execute(FSpawnTabArgs const&) const
[Callstack]  25  0x00007f55a6898e07  FTabManager::SpawnTab(FTabId const&, TSharedPtr<SWindow, (ESPMode)0> const&)
[Callstack]  26  0x00007f55a68982da  FTabManager::InvokeTab_Internal(FTabId const&)
[Callstack]  27  0x00007f55a6897ed1  FTabManager::InvokeTab(FTabId const&)
[Callstack]  28  0x00007f551c111a7d  FProjectSettingsViewerModule::ShowSettings(FName const&, FName const&)
[Callstack]  29  0x00007f553252adcd  FSettingsMenu::OpenSettings(FName, FName, FName)
[Callstack]  30  0x00007f558e82204d  TBaseStaticDelegateInstance<void (), FName, FName, FName>::ExecuteIfSafe() const
[Callstack]  31  0x00007f55a68d2ab9  SMenuEntryBlock::OnClicked(bool)
[Callstack]  32  0x00007f55a68c8211  SMenuEntryBlock::OnMenuItemButtonClicked()
[Callstack]  33  0x00007f55a694093e  TBaseSPMethodDelegateInstance<false, SMenuEntryBlock, (ESPMode)0, FReply ()>::Execute() const
[Callstack]  34  0x00007f55a6973cf2  SButton::OnMouseButtonUp(FGeometry const&, FPointerEvent const&)
[Callstack]  35  0x00007f55a6941f35  SMenuEntryButton::OnMouseButtonUp(FGeometry const&, FPointerEvent const&)
[Callstack]  36  0x00007f55a68069a2  FSlateApplication::RoutePointerUpEvent(FWidgetPath&, FPointerEvent&)
[Callstack]  37  0x00007f55a67d6305  FSlateApplication::ProcessMouseButtonUpEvent(FPointerEvent&)
[Callstack]  38  0x00007f55a680b85d  FSlateApplication::OnMouseUp(EMouseButtons::Type, FVector2D)
[Callstack]  39  0x00007f55acfcf69d  FLinuxApplication::ProcessDeferredMessage(SDL_Event)
[Callstack]  40  0x00007f55acfcef2d  FLinuxApplication::AddPendingEvent(SDL_Event)
[Callstack]  41  0x00007f55acfcedfc  FLinuxPlatformMisc::PumpMessages(bool)
[Callstack]  42  0x000000000041f54d  FEngineLoop::Tick() [Runtime/Core/Public/UObject/NameTypes.h, line 638]
[Callstack]  43  0x00000000004247ea  GuardedMain(wchar_t const*) [/home/jacky/Downloads/UnrealEngine/Engine/Source/Runtime/Launch/Private/Launch.cpp, line 166]
[Callstack]  44  0x00007f55a321af4b  CommonLinuxMain(int, char**, int (*)(wchar_t const*))
[Callstack]  45  0x00007f55a25c5401  /lib64/libc.so.6(__libc_start_main+0xf1) [0x7f55a25c5401]
[Callstack]  46  0x000000000041500a  /home/jacky/Downloads/UnrealEngine/Engine/Binaries/Linux/UE4Editor(_start+0x2a) [0x41500a]

*Local*

[2017.03.29-13.51.57:289][ 17]LogLinux: Setting swap interval to 'Immediate'
[2017.03.29-13.52.03:087][439]LogTemp:Display: Executing iPhonePackager certificates Engine -bundlename com.YourCompany.ProjectSettingsTest

[2017.03.29-13.52.03:087][439]LogTemp:Display: CWD: /home/doug/Documents/github/4.15.0/Engine/Binaries/DotNET/IOS

[2017.03.29-13.52.03:087][439]LogTemp:Display: Initial Dir: /home/doug

[2017.03.29-13.52.03:087][439]LogTemp:Display: Env CWD: /home/doug/Documents/github/4.15.0/Engine/Binaries/DotNET/IOS

[2017.03.29-13.52.03:087][439]LogTemp:Display: BranchPath = luces///home/doug/Documents/github/4.15.0/Engine/Binaries/DotNET/IOS/../.. --- GameBranchPath = luces///home/doug/Documents/github/4.15.0/Engine/Binaries/DotNET/IOS/../..

[2017.03.29-13.52.03:087][439]LogTemp:Display: IPP ERROR: Application exception: System.ComponentModel.Win32Exception: ApplicationName='/usr/bin/security', CommandLine='find-certificate -a -c "iPhone" -p', CurrentDirectory='', Native error= Cannot find the specified file

[2017.03.29-13.52.03:087][439]LogTemp:Display:   at System.Diagnostics.Process.Start_noshell (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) <0x40faab20 + 0x00fe3> in <filename unknown>:0 

[2017.03.29-13.52.03:087][439]LogTemp:Display:   at System.Diagnostics.Process.Start_common (System.Diagnostics.ProcessStartInfo startInfo, System.Diagnostics.Process process) <0x40faa970 + 0x000db> in <filename unknown>:0 

[2017.03.29-13.52.03:087][439]LogTemp:Display:   at System.Diagnostics.Process.Start () <0x40faa8f0 + 0x0004b> in <filename unknown>:0 

[2017.03.29-13.52.03:087][439]LogTemp:Display:   at (wrapper remoting-invoke-with-check) System.Diagnostics.Process:Start ()

[2017.03.29-13.52.03:087][439]LogTemp:Display:   at iPhonePackager.CodeSignatureBuilder.FindCertificates () <0x40fa9500 + 0x00263> in <filename unknown>:0 

[2017.03.29-13.52.03:087][439]LogTemp:Display:   at iPhonePackager.Program.Main (System.String[] args) <0x40fa10a0 + 0x00c1b> in <filename unknown>:0 

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

3
Login to Vote

Fixed
ComponentUE - Platform - Linux
Affects Versions4.15.1
Target Fix4.16
Fix Commit3419327
CreatedMar 29, 2017
ResolvedMay 25, 2017
UpdatedSep 16, 2019