2017-04-14 686 views
0

我從源代碼編譯了虛幻引擎,一切都成功了。但是當我嘗試啓動UE4Editor時,它會崩潰。控制檯上的錯誤是:在Linux上啓動時虛幻引擎崩潰

[2017.04.14-05.25.55:381][ 0]LogExit: Exiting. 
Engine crash handling finished; re-raising signal 11 for the default handler. Good bye. 

附加崩潰日誌和診斷文件。

環境:

Linux andrii-asus 4.4.0-72-generiC#93-Ubuntu SMP Fri Mar 31 14:07:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 

UE4.log:

Log file open, 04/14/17 08:20:46 
LogInit:Display: Running engine without a game 
LogPlatformFile: Not using cached read wrapper 
LogInit:Display: RandInit(-1053205140) SRandInit(-1053205140). 
LogTaskGraph: Started task graph with 5 named threads and 6 total threads with 1 sets of task threads. 
LogStats: Stats thread started at 0.255940 
LogInit: Using libcurl 7.48.0-DEV 
LogInit: - built for x86_64-unknown-linux-gnu 
LogInit: - supports SSL with OpenSSL/1.0.2h 
LogInit: - supports HTTP deflate (compression) using libz 1.2.8 
LogInit: - other features: 
LogInit:  CURL_VERSION_SSL 
LogInit:  CURL_VERSION_LIBZ 
LogInit:  CURL_VERSION_IPV6 
LogInit:  CURL_VERSION_ASYNCHDNS 
LogInit:  CURL_VERSION_LARGEFILE 
LogInit:  CURL_VERSION_TLSAUTH_SRP 
LogInit: Libcurl: checking if '/etc/pki/tls/certs/ca-bundle.crt' exists 
LogInit: Libcurl: checking if '/etc/ssl/certs/ca-certificates.crt' exists 
LogInit: CurlRequestOptions (configurable via config and command line): 
LogInit: - bVerifyPeer = true - Libcurl will verify peer certificate 
LogInit: - bUseHttpProxy = false - Libcurl will NOT use HTTP proxy 
LogInit: - bDontReuseConnections = false - Libcurl will reuse connections 
LogInit: - CertBundlePath = /etc/ssl/certs/ca-certificates.crt - Libcurl will set CURLOPT_CAINFO to it 
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 
LogDevObjectVersion: Number of dev versions registered: 14 
LogDevObjectVersion: Dev-Blueprints (B0D832E4-1F89-4F0D-ACCF-7EB736FD4AA2): 8 
LogDevObjectVersion: Dev-Build (E1C64328-A22C-4D53-A36C-8E866417BD8C): 0 
LogDevObjectVersion: Dev-Core (375EC13C-06E4-48FB-B500-84F0262A717E): 2 
LogDevObjectVersion: Dev-Editor (E4B068ED-F494-42E9-A231-DA0B2E46BB41): 14 
LogDevObjectVersion: Dev-Framework (CFFC743F-43B0-4480-9391-14DF171D2073): 22 
LogDevObjectVersion: Dev-Mobile (B02B49B5-BB20-44E9-A304-32B752E40360): 0 
LogDevObjectVersion: Dev-Networking (A4E4105C-59A1-49B5-A7C5-40C4547EDFEE): 0 
LogDevObjectVersion: Dev-Online (39C831C9-5AE6-47DC-9A44-9C173E1C8E7C): 0 
LogDevObjectVersion: Dev-Physics (78F01B33-EBEA-4F98-B9B4-84EACCB95AA2): 0 
LogDevObjectVersion: Dev-Platform (6631380F-2D4D-43E0-8009-CF276956A95A): 0 
LogDevObjectVersion: Dev-Rendering (12F88B9F-8875-4AFC-A67C-D90C383ABD29): 12 
LogDevObjectVersion: Dev-Sequencer (7B5AE74C-D270-4C10-A958-57980B212A5A): 3 
LogDevObjectVersion: Dev-VR (D7296918-1DD6-4BDD-9DE2-64A83CC13884): 0 
LogDevObjectVersion: Dev-LoadTimes (C2A15278-BFE7-4AFE-6C17-90FF531DF755): 1 
LogInit: Compiled (64-bit): Apr 14 2017 01:02:21 
LogInit: Compiled with Clang: 3.9.1 (branches/release_39) 
LogInit: Build Configuration: Development 
LogInit: Branch Name: ++UE4+Release-4.15 
LogInit: Command line: 
LogInit: Base directory: /home/andrii/dev/game-dev/UnrealEngine/Engine/Binaries/Linux/ 
LogInit: Installed Engine Build: 0 
LogInit: Presizing for max 8388607 objects, including 0 objects not considered by GC, pre-allocating 0 bytes for permanent pool. 
LogInit: Object subsystem initialized 
[2017.04.14-05.20.47:317][ 0]LogInit: Initializing SDL. 
[2017.04.14-05.20.47:393][ 0]LogInit: Initialized SDL 2.0.4 revision: 10374 (hg-10374:dccf51aee79b with EpicExtensions) (compiled against 2.0.4) 
[2017.04.14-05.20.47:393][ 0]LogInit: Display metrics: 
[2017.04.14-05.20.47:393][ 0]LogInit: PrimaryDisplayWidth: 1366 
[2017.04.14-05.20.47:394][ 0]LogInit: PrimaryDisplayHeight: 768 
[2017.04.14-05.20.47:394][ 0]LogInit: PrimaryDisplayWorkAreaRect: 
[2017.04.14-05.20.47:394][ 0]LogInit:  Left=0, Top=0, Right=1366, Bottom=768 
[2017.04.14-05.20.47:394][ 0]LogInit: VirtualDisplayRect: 
[2017.04.14-05.20.47:394][ 0]LogInit:  Left=0, Top=0, Right=1366, Bottom=768 
[2017.04.14-05.20.47:394][ 0]LogInit: TitleSafePaddingSize: X=0.000 Y=0.000 
[2017.04.14-05.20.47:394][ 0]LogInit: ActionSafePaddingSize: X=0.000 Y=0.000 
[2017.04.14-05.20.47:394][ 0]LogInit: Number of monitors: 1 
[2017.04.14-05.20.47:394][ 0]LogInit:  Monitor 0 
[2017.04.14-05.20.47:394][ 0]LogInit:  Name: 0 
[2017.04.14-05.20.47:394][ 0]LogInit:  ID: display0 
[2017.04.14-05.20.47:394][ 0]LogInit:  NativeWidth: 1366 
[2017.04.14-05.20.47:394][ 0]LogInit:  NativeHeight: 768 
[2017.04.14-05.20.47:394][ 0]LogInit:  bIsPrimary: true 
[2017.04.14-05.20.47:396][ 0]LogLinux: Selected Device Profile: [Linux] 
[2017.04.14-05.20.47:396][ 0]LogInit: Applying CVar settings loaded from the selected device profile: [Linux] 
[2017.04.14-05.20.47:425][ 0]LogInit: Linux hardware info: 
[2017.04.14-05.20.47:425][ 0]LogInit: - we are the first instance of this executable 
[2017.04.14-05.20.47:425][ 0]LogInit: - this process' id (pid) is 21826, parent process' id (ppid) is 18246 
[2017.04.14-05.20.47:425][ 0]LogInit: - we are not running under debugger 
[2017.04.14-05.20.47:425][ 0]LogInit: - machine network name is 'andrii-asus' 
[2017.04.14-05.20.47:425][ 0]LogInit: - user name is 'andrii' (andrii) 
[2017.04.14-05.20.47:425][ 0]LogInit: - we're logged in locally 
[2017.04.14-05.20.47:425][ 0]LogInit: - we're running with rendering 
[2017.04.14-05.20.47:425][ 0]LogInit: - CPU: GenuineIntel 'Intel(R) Core(TM) i5-4200U CPU @ 1.60GHz' (signature: 0x40651) 
[2017.04.14-05.20.47:425][ 0]LogInit: - Number of physical cores available for the process: 2 
[2017.04.14-05.20.47:425][ 0]LogInit: - Number of logical cores available for the process: 4 
[2017.04.14-05.20.47:425][ 0]LogInit: - Cache line size: 64 
[2017.04.14-05.20.47:425][ 0]LogInit: - Memory allocator used: binned 
[2017.04.14-05.20.47:425][ 0]LogLinux: Benchmarking clocks: 
[2017.04.14-05.20.47:425][ 0]LogLinux: - CLOCK_REALTIME (id=0) can sustain 43327609 (43328K, 43M) calls per second without zero deltas. 
[2017.04.14-05.20.47:425][ 0]LogLinux: - CLOCK_MONOTONIC (id=1) can sustain 43813462 (43813K, 44M) calls per second without zero deltas. 
[2017.04.14-05.20.47:425][ 0]LogLinux: - CLOCK_MONOTONIC_RAW (id=4) can sustain 11311143 (11311K, 11M) calls per second without zero deltas. 
[2017.04.14-05.20.47:425][ 0]LogLinux: - CLOCK_MONOTONIC_COARSE (id=6) can sustain 131097007 (131097K, 131M) calls per second with 99.999802% zero deltas. 
[2017.04.14-05.20.47:425][ 0]LogLinux: Selected clock_id 1 (CLOCK_MONOTONIC) since it is the fastest support clock without zero deltas. 
[2017.04.14-05.20.47:425][ 0]LogInit: Linux-specific commandline switches: 
[2017.04.14-05.20.47:426][ 0]LogInit: -nodwarf (currently OFF): suppress parsing of DWARF debug info (callstacks will be generated faster, but won't have line numbers) 
[2017.04.14-05.20.47:426][ 0]LogInit: -ansimalloc - use malloc()/free() from libc (useful for tools like valgrind and electric fence) 
[2017.04.14-05.20.47:426][ 0]LogInit: -jemalloc - use jemalloc for all memory allocation 
[2017.04.14-05.20.47:426][ 0]LogInit: -binnedmalloc - use binned malloc for all memory allocation 
[2017.04.14-05.20.47:426][ 0]LogInit: -httpproxy=ADDRESS:PORT - redirects HTTP requests to a proxy (only supported if compiled with libcurl) 
[2017.04.14-05.20.47:426][ 0]LogInit: -reuseconn - allow libcurl to reuse HTTP connections (only matters if compiled with libcurl) 
[2017.04.14-05.20.47:426][ 0]LogInit: -virtmemkb=NUMBER - sets process virtual memory (address space) limit (overrides VirtualMemoryLimitInKB value from .ini) 
[2017.04.14-05.20.47:426][ 0]LogInit: - Physical RAM available (not considering process quota): 8 GB (7867 MB, 8056536 KB, 8249892864 bytes) 
[2017.04.14-05.20.47:485][ 0]LogTextLocalizationManager: No specific translations for ('en-US') exist, so ('en') translations will be used. 
[2017.04.14-05.20.51:313][ 0]LogInit:Error: _PlatformCreateOpenGLContextCore - Could not create OpenGL 4.3 context, SDL error: 'Could not create GL context: GLXBadFBConfig' 
[2017.04.14-05.20.51:313][ 0]LogRHI:Error: OpenGL 4.3 not supported by driver 
[2017.04.14-05.20.51:314][ 0]LogInit:Error: _PlatformCreateOpenGLContextCore - Could not create OpenGL 4.3 context, SDL error: 'Could not create GL context: GLXBadFBConfig' 
[2017.04.14-05.20.51:361][ 0]LogLinux:Error: appError called: Assertion failed: Assertion failed: SharedContext.hGLContext [File:/home/andrii/dev/game-dev/UnrealEngine/Engine/Source/Runtime/OpenGLDrv/Private/Linux/OpenGLLinux.cpp] [Line: 249] 


[2017.04.14-05.20.51:401][ 0]LogLinux: === Critical error: === 
Unhandled Exception: SIGSEGV: invalid attempt to write memory at address 0x0000000000000003 

[2017.04.14-05.20.51:401][ 0]LogLinux: Assertion failed: Assertion failed: SharedContext.hGLContext [File:/home/andrii/dev/game-dev/UnrealEngine/Engine/Source/Runtime/OpenGLDrv/Private/Linux/OpenGLLinux.cpp] [Line: 249] 



[Callstack] 00 0x00007fe745f33eff FLinuxPlatformStackWalk::CaptureStackBackTrace(unsigned long long*, unsigned int, void*) 
[Callstack] 01 0x00007fe745e1cf25 FGenericPlatformStackWalk::StackWalkAndDump(char*, unsigned long, int, void*) 
[Callstack] 02 0x00007fe745ef52e1 FLinuxCrashContext::CaptureStackTrace() 
[Callstack] 03 0x00007fe73c139190 CommonLinuxCrashHandler(FGenericCrashContext const&) 
[Callstack] 04 0x00007fe745ef945a PlatformCrashHandler(int, siginfo_t*, void*) 
[Callstack] 05 0x00007fe74bbf1390 /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390) [0x7fe74bbf1390] 
[Callstack] 06 0x00007fe745e1154b FGenericPlatformMisc::RaiseException(unsigned int) 
[Callstack] 07 0x00007fe745f03222 FOutputDeviceLinuxError::Serialize(wchar_t const*, ELogVerbosity::Type, FName const&) 
[Callstack] 08 0x00007fe745fd016b FOutputDevice::Logf(wchar_t const*, ...) 
[Callstack] 09 0x00007fe745f39718 FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...) 
[Callstack] 10 0x00007fe720431902 FPlatformOpenGLDevice::FPlatformOpenGLDevice() 
[Callstack] 11 0x00007fe72042eac7 FOpenGLDynamicRHI::FOpenGLDynamicRHI() 
[Callstack] 12 0x00007fe72042e5ff FOpenGLDynamicRHIModule::CreateRHI(ERHIFeatureLevel::Type) 
[Callstack] 13 0x00007fe73ff72051 PlatformCreateDynamicRHI() 
[Callstack] 14 0x00007fe73ff718af RHIInit(bool) 
[Callstack] 15 0x0000000000418484 FEngineLoop::PreInit(wchar_t const*) [/home/andrii/dev/game-dev/UnrealEngine/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp, line 1633] 
[Callstack] 16 0x0000000000424508 GuardedMain(wchar_t const*) [/home/andrii/dev/game-dev/UnrealEngine/Engine/Source/Runtime/Launch/Private/Launch.cpp, line 42] 
[Callstack] 17 0x00007fe73c139f1b CommonLinuxMain(int, char**, int (*)(wchar_t const*)) 
[Callstack] 18 0x00007fe73b4e1830 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7fe73b4e1830] 
[Callstack] 19 0x0000000000414ff9 ./UE4Editor(_start+0x29) [0x414ff9] 

diagnostics.txt:

Generating report for minidump 

Application version 4.15.1.0 
... built from changelist 0 

OS version Linux 4.4.0-72-generic (network name: andrii-asus) 
Running 2 x86_64 processors (4 logical cores) 
Exception was "SIGSEGV: invalid attempt to write memory at address 0x0000000000000003" 

<SOURCE START> 
<SOURCE END> 

<CALLSTACK START> 
Unknown!FLinuxPlatformStackWalk::CaptureStackBackTrace(unsigned long long*, unsigned int, void*) + some bytes 
Unknown!FGenericPlatformStackWalk::StackWalkAndDump(char*, unsigned long, int, void*) + some bytes 
Unknown!FLinuxCrashContext::CaptureStackTrace() + some bytes 
Unknown!CommonLinuxCrashHandler(FGenericCrashContext const&) + some bytes 
Unknown!PlatformCrashHandler(int, siginfo_t*, void*) + some bytes 
Unknown!/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390) [0x7fe74bbf1390] + some bytes 
Unknown!FGenericPlatformMisc::RaiseException(unsigned int) + some bytes 
Unknown!FOutputDeviceLinuxError::Serialize(wchar_t const*, ELogVerbosity::Type, FName const&) + some bytes 
Unknown!FOutputDevice::Logf(wchar_t const*, ...) + some bytes 
Unknown!FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...) + some bytes 
Unknown!FPlatformOpenGLDevice::FPlatformOpenGLDevice() + some bytes 
Unknown!FOpenGLDynamicRHI::FOpenGLDynamicRHI() + some bytes 
Unknown!FOpenGLDynamicRHIModule::CreateRHI(ERHIFeatureLevel::Type) + some bytes 
Unknown!PlatformCreateDynamicRHI() + some bytes 
Unknown!RHIInit(bool) + some bytes 
./UE4Editor!FEngineLoop::PreInit(wchar_t const*) + some bytes [/home/andrii/dev/game-dev/UnrealEngine/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp:1633] 
./UE4Editor!GuardedMain(wchar_t const*) + some bytes [/home/andrii/dev/game-dev/UnrealEngine/Engine/Source/Runtime/Launch/Private/Launch.cpp:42] 
Unknown!CommonLinuxMain(int, char**, int (*)(wchar_t const*)) + some bytes 
Unknown!/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7fe73b4e1830] + some bytes 
Unknown!./UE4Editor(_start+0x29) [0x414ff9] + some bytes 

<CALLSTACK END> 

0 loaded modules 

Report end! 

在此先感謝。

回答

0

好的,我找到了一個原因,爲什麼我有啓動失敗。

長話短說:

執行以下命令,讓我很快樂:

apt-add-repository ppa:oibaf/graphics-drivers && apt-get update && apt-get dist-upgrade 

注:您可能需要執行這些命令的根。

日誌中最有用的行是:

0]LogInit:Error: _PlatformCreateOpenGLContextCore - Could not create OpenGL 4.3 context, SDL error: 'Could not create GL context: GLXBadFBConfig' 
[2017.04.14-05.20.51:313][ 0]LogRHI:Error: OpenGL 4.3 not supported by driver 
[2017.04.14-05.20.51:314][ 0]LogInit:Error: _PlatformCreateOpenGLContextCore - Could not create OpenGL 4.3 context, SDL error: 'Could not create GL context: GLXBadFBConfig' 
[2017.04.14-05.20.51:361][ 0]LogLinux:Error: appError called: Assertion failed: Assertion failed: SharedContext.hGLContext [File:/home/andrii/dev/game-dev/UnrealEngine/Engine/Source/Runtime/OpenGLDrv/Private/Linux/OpenGLLinux.cpp] [Line: 249] 


[2017.04.14-05.20.51:401][ 0]LogLinux: === Critical error: === 
Unhandled Exception: SIGSEGV: invalid attempt to write memory at address 0x0000000000000003 

[2017.04.14-05.20.51:401][ 0]LogLinux: Assertion failed: Assertion failed: SharedContext.hGLContext [File:/home/andrii/dev/game-dev/UnrealEngine/Engine/Source/Runtime/OpenGLDrv/Private/Linux/OpenGLLinux.cpp] [Line: 249] 

這意味着,我的圖形驅動程序不支持OpenGL 4.3及更高版本。

谷歌搜了一下之後,我發現了一篇關於在Linux上安裝英特爾圖形驅動程序的好文章(在我的例子中爲18碼)。

這裏是鏈接:It's Easy Trying Out Intel's OpenGL 4.2 Mesa Driver On Ubuntu 16.04