Linux

时间:2017-04-14 05:32:33

标签: linux segmentation-fault unreal-engine4

我从源代码编译了虚幻引擎,一切都很成功。但是当我尝试启动UE4Editor时,它会崩溃。控制台上的错误是:

[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!

提前致谢。

1 个答案:

答案 0 :(得分:1)

好的,我找到了启动失败的原因。

长话短说:

执行以下命令:

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

注意:您可能需要成为root才能执行这些命令。

日志中最有用的行是:

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上安装英特尔图形驱动程序的好文章(在我的案例中是Mint 18)。

这是一个链接:It's Easy Trying Out Intel's OpenGL 4.2 Mesa Driver On Ubuntu 16.04