Assertion failed: IsThreadSafeForSlateRendering()

Editor constantly crashes on me (haven’t managed to survive even for five minutes) with same assertion:

Assertion failed: IsThreadSafeForSlateRendering() [File:Runtime/SlateCore/Public/Application/SlateApplicationBase.h] [Line: 306] 


Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0x7fffcf44c700 (LWP 25194)]
0x00007ffff7bce4eb in raise () from /lib64/libpthread.so.0
(gdb) bt
#0  0x00007ffff7bce4eb in raise () from /lib64/libpthread.so.0
#1  0x00007ffff723bc20 in DebugBreak () at Runtime/Core/Public/Linux/LinuxPlatformMisc.h:32
#2  StaticFailDebug (Error=<optimized out>, File=<optimized out>, Line=<optimized out>, Description=<optimized out>, bIsEnsure=<optimized out>)
    at /home/irina/marat/unreal/Engine/Source/Runtime/Core/Private/Misc/OutputDevice.cpp:190
#3  0x00007ffff7227b70 in FDebug::AssertFailed (Expr=<optimized out>, File=0x7ffff1133662 "Runtime/SlateCore/Public/Application/SlateApplicationBase.h", Line=306, Format=0x7ffff1133f6c L"")
    at /home/irina/marat/unreal/Engine/Source/Runtime/Core/Private/Misc/OutputDevice.cpp:223
#4  0x00007ffff1055928 in Get () at Runtime/SlateCore/Public/Application/SlateApplicationBase.h:306
#5  SWindow::GetCurrentWindowZone (this=0x19e97000, LocalMousePosition=...) at /home/irina/marat/unreal/Engine/Source/Runtime/SlateCore/Private/Widgets/SWindow.cpp:1701
#6  0x00007ffff1557c59 in FSlateApplication::GetWindowZoneForPoint (this=<optimized out>, PlatformWindow=..., X=177, Y=53)
    at /home/irina/marat/unreal/Engine/Source/Runtime/Slate/Private/Framework/Application/SlateApplication.cpp:4969
#7  0x00007ffff719bf39 in FLinuxApplication::WindowHitTest (this=<optimized out>, Window=..., x=177, y=53) at /home/irina/marat/unreal/Engine/Source/Runtime/Core/Private/Linux/LinuxApplication.cpp:755
#8  0x00007ffff71b674f in FLinuxWindow::HitTest (SDLwin=<optimized out>, point=0x7fffcf44b220, data=0x1918dcc0) at /home/irina/marat/unreal/Engine/Source/Runtime/Core/Private/Linux/LinuxWindow.cpp:148
#9  0x00007ffff743b111 in ProcessHitTest (xev=0x7fffcf44b0b0, data=0x3b80920, _this=0x969010) at /home/rcl/build/2014-12005/SDL-gui-backend/src/video/x11/SDL_x11events.c:374
#10 X11_DispatchEvent (_this=0x969010) at /home/rcl/build/2014-12005/SDL-gui-backend/src/video/x11/SDL_x11events.c:867
#11 0x00007ffff743bb08 in X11_PumpEvents (_this=0x969010) at /home/rcl/build/2014-12005/SDL-gui-backend/src/video/x11/SDL_x11events.c:1173
#12 0x00007ffff73ec69c in SDL_PumpEvents_REAL () at /home/rcl/build/2014-12005/SDL-gui-backend/src/events/SDL_events.c:402
#13 SDL_WaitEventTimeout_REAL (event=0x7fffcf44b458, timeout=0) at /home/rcl/build/2014-12005/SDL-gui-backend/src/events/SDL_events.c:435
#14 0x00007ffff71b52dd in StartSplashScreenThread (ptr=<optimized out>) at /home/irina/marat/unreal/Engine/Source/Runtime/Core/Private/Linux/LinuxPlatformSplash.cpp:727
#15 0x00007ffff7414f9b in SDL_RunThread (data=0xe44fd0) at /home/rcl/build/2014-12005/SDL-gui-backend/src/thread/SDL_thread.c:282
#16 0x00007ffff743fdb9 in RunThread (data=<optimized out>) at /home/rcl/build/2014-12005/SDL-gui-backend/src/thread/pthread/SDL_systhread.c:72
#17 0x00007ffff7bc62ba in start_thread () from /lib64/libpthread.so.0
#18 0x00007fffecc3e32d in clone () from /lib64/libc.so.6

As I understand, this is caused by the fact that splash screen doesn’t destroy itself after main editor window is closed. And yes, I see splash screen still visible all the time editor is working.

This both happens on master and 4.7 branch. I also want to mention that this problem doesn’t occur on 4.6 branch, so it is a regression somewhere between 4.6 and 4.7.

UE4Editor takes a -nosplash cmd line argument… Try that as a work around?

hmm either it’s taking an awfully long time to start up or -nosplash turns off the enitre UI.

Yes, I have the same problem and -nosplash seems to skip the gui…

This has now been resolved by @rcl with the following commit in the master: https://github.com/EpicGames/UnrealEngine/commit/486327e4bb3f8c81ef9f03daa7c1a403f6267913

Which would be nice except the master doesn’t compile on linux.