Assertion failed: HasFoundDataDirectory

Hello, I am very new to UE so please bear with me, I’m trying to create a minimal android project. So far I got to the stage where I can build an APK and upload it to the phone. But right after it starts, it crashes and I can see this in the debug log:

D/UE4     (19597): Assertion failed: HasFoundDataDirectory [File:C:\Users\\UnrealEngine\Engine\Source\Runtime\Core\Private\Internationalization\ICUInternationalization.cpp] [Line: 117]
D/UE4     (19597): ICU data directory was not discovered:
D/UE4     (19597): ../../../MyProject/Content/Internationalization
D/UE4     (19597): ../../../Engine/Content/Internationalization
D/UE4     (19597): Signal 11 caught!

I’m using UE 4.10 from github (it is part of my task to use the source version).

Here is what I’ve done:

  • built the editor from sources
  • started the editor and then asked to create an empty C++ project
  • that created a new project and opened a new visual studio 2013
  • compiled the project for android, this created MyProject-debug.apk
  • then adb install Myproject-debug.apk and start from the phone
  • crash happens within seconds.

UPDATE: Here is the full output as seen when running adb -d logcat | grep UE4

D/dalvikvm(32007): Trying to load lib /data/app-lib/com.YourCompany.MyProject-1/libUE4.so 0x4270bea8
D/dalvikvm(32007): Added shared lib /data/app-lib/com.YourCompany.MyProject-1/libUE4.so 0x4270bea8
D/UE4     (32007): In the JNI_OnLoad function
D/UE4     (32007): Path found as '/storage/emulated/0'
D/UE4     (32007): Font Path found as '/system/fonts/'
D/UE4     (32007): In the JNI_OnLoad function 5
D/UE4     (32007): Entering native app glue main function
D/UE4     (32007): Created event thread
D/UE4     (32007): Entered AndroidMain()
D/UE4     (32007): Controller interface supported
D/UE4     (32007): Entering event processing thread engine entry point
D/UE4     (32007): Prepared looper for event thread
D/UE4     (32007): Passed callback initialization
D/UE4     (32007): Passed sensor initialization
D/UE4     (32007): Found DepthBufferPreference = 0
D/UE4     (32007): Found bPackageDataInsideApk = 0
D/UE4     (32007): Found ProjectName = MyProject
D/UE4     (32007): Found bHasOBBFiles = 0
D/UE4     (32007): Found bVerifyOBBOnStartUp = false
D/UE4     (32007): UI hiding set to false
D/UE4     (32007): No GearVR mode detected.
D/UE4     (32007): Asking if osOBBInAPK? false
D/UE4     (32007): ExternalFilePath found as '/storage/emulated/0/Android/data/com.YourCompany.MyProject/files'
D/UE4     (32007): App is running in Landscape
D/UE4     (32007): Android version is 4.3
D/UE4     (32007): Android manufacturer is samsung
D/UE4     (32007): Android model is GT-I9300
D/UE4     (32007): OS language is set to en_GB
D/UE4     (32007): ==============> GameActive.onCreate complete!
D/UE4     (32007): ==================================> Inside onStart function in GameActivity
D/UE4     (32007): LogAndroidEvents: EnqueueAppEvent : 9, 0, tid = 32024
D/UE4     (32007): Case APP_CMD_RESUME
D/UE4     (32007): App is running in Landscape
D/UE4     (32007): ==============> Resuming main init
D/UE4     (32007): LogAndroidEvents: EnqueueAppEvent : 7, 0, tid = 32024
D/UE4     (32007): Final commandline:
D/UE4     (32007): Created sync event
D/UE4     (32007): ==============> GameActive.onResume complete!
D/UE4     (32007): Assertion failed: HasFoundDataDirectory [File:C:\Users\\Documents\GitHub\UnrealEngine\Engine\Source\Runtime\Core\Private\Internationalization\ICUInternationalization.cpp] [Line: 117]
D/UE4     (32007): ICU data directory was not discovered:
D/UE4     (32007): ../../../MyProject/Content/Internationalization
D/UE4     (32007): ../../../Engine/Content/InternationalizationlibUE4.so!FDebug::LogAssertFailedMessage(char const*, char const*, int, wchar_t const*, ...)
D/UE4     (32007): libUE4.so!FICUInternationalization::Initialize()
D/UE4     (32007): libUE4.so!FInternationalization::Get()
D/UE4     (32007): libUE4.so!FText::FormatInternal(FText, TArray<FFormatArgumentValue, FDefaultAllocator>, bool, bool)
D/UE4     (32007): libUE4.so!FText::Format(FText, TArray<FFormatArgumentValue, FDefaultAllocator>)
D/UE4     (32007): libUE4.so!FText::Format(FText, FText)
D/UE4     (32007): libUE4.so!FProjectDescriptor::Load(FString const&, FText&)
D/UE4     (32007): libUE4.so!FProjectManager::LoadProjectFile(FString const&)
D/UE4     (32007): libUE4.so!FEngineLoop::PreInit(wchar_t const*)
D/UE4     (32007): libUE4.so!FEngineLoop::PreInit(int, wchar_t**, wchar_t const*)
D/UE4     (32007): libUE4.so!AndroidMain(android_app*)
D/UE4     (32007): libUE4.so!android_main()
D/UE4     (32007): libUE4.so![Unknown]()
D/UE4     (32007): libc.so!__thread_entry()
D/UE4     (32007): libc.so!pthread_create()
D/UE4     (32007): Signal 11 caught!
D/UE4     (32007): Case APP_CMD_INIT_WINDOW
D/UE4     (32007): LogAndroidEvents: EnqueueAppEvent : 0, 1547907232, tid = 32024
I/DEBUG   (31762):     #00  pc 01771148  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FOutputDevice::Logf(wchar_t const*, ...)+956)
I/DEBUG   (31762):     #01  pc 01760d80  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...)+700)
I/DEBUG   (31762):     #02  pc 0166f5d4  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FICUInternationalization::Initialize()+1740)
I/DEBUG   (31762):     #03  pc 01671848  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FInternationalization::Get()+352)
I/DEBUG   (31762):     #04  pc 0168ded0  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FText::FormatInternal(FText, TArray<FFormatArgumentValue, FDefaultAllocator>, bool, bool)+28)
I/DEBUG   (31762):     #05  pc 0168b11c  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FText::Format(FText, TArray<FFormatArgumentValue, FDefaultAllocator>)+260)
I/DEBUG   (31762):     #06  pc 0168aea8  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FText::Format(FText, FText)+684)
I/DEBUG   (31762):     #07  pc 019596a8  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FProjectDescriptor::Load(FString const&, FText&)+616)
I/DEBUG   (31762):     #08  pc 0195b2c0  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FProjectManager::LoadProjectFile(FString const&)+140)
I/DEBUG   (31762):     #09  pc 0156bb1c  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FEngineLoop::PreInit(wchar_t const*)+7732)
I/DEBUG   (31762):     #10  pc 0155d000  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FEngineLoop::PreInit(int, wchar_t**, wchar_t const*)+3936)
I/DEBUG   (31762):     #11  pc 0155bb18  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (AndroidMain(android_app*)+2848)
I/DEBUG   (31762):     #12  pc 01566d00  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (android_main+216)
I/DEBUG   (31762):     #13  pc 01588a78  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so
I/DEBUG   (31762):          65c4dfc0  64ab4d18  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so
I/DEBUG   (31762):          65c4dfc4  60cec918  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FScopedCategoryAndVerbosityOverride::GetTLSCurrent()+100)
I/DEBUG   (31762):          65c4e840  64ebc4b8  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so
I/DEBUG   (31762):          65c4e844  64ebc4ce  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so
I/DEBUG   (31762):          65c53cb4  60d26490  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FMallocThreadSafeProxy::Realloc(void*, unsigned int, unsigned int)+120)
I/DEBUG   (31762):          65c53cc4  60d26418  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FMallocThreadSafeProxy::Realloc(void*, unsigned int, unsigned int))
I/DEBUG   (31762):          65c53cd4  60cf3e34  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FMemory::Realloc(void*, unsigned int, unsigned int)+320)
D/CrashAnrDetector( 2355):     #00  pc 01771148  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FOutputDevice::Logf(wchar_t const*, ...)+956)
D/CrashAnrDetector( 2355):     #01  pc 01760d80  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FDebug::AssertFailed(char const*, char const*, int, wchar_t const*, ...)+700)
D/CrashAnrDetector( 2355):     #02  pc 0166f5d4  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FICUInternationalization::Initialize()+1740)
D/CrashAnrDetector( 2355):     #03  pc 01671848  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FInternationalization::Get()+352)
D/CrashAnrDetector( 2355):     #04  pc 0168ded0  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FText::FormatInternal(FText, TArray<FFormatArgumentValue, FDefaultAllocator>, bool, bool)+28)
D/CrashAnrDetector( 2355):     #05  pc 0168b11c  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FText::Format(FText, TArray<FFormatArgumentValue, FDefaultAllocator>)+260)
D/CrashAnrDetector( 2355):     #06  pc 0168aea8  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FText::Format(FText, FText)+684)
D/CrashAnrDetector( 2355):     #07  pc 019596a8  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FProjectDescriptor::Load(FString const&, FText&)+616)
D/CrashAnrDetector( 2355):     #08  pc 0195b2c0  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FProjectManager::LoadProjectFile(FString const&)+140)
D/CrashAnrDetector( 2355):     #09  pc 0156bb1c  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FEngineLoop::PreInit(wchar_t const*)+7732)
D/CrashAnrDetector( 2355):     #10  pc 0155d000  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FEngineLoop::PreInit(int, wchar_t**, wchar_t const*)+3936)
D/CrashAnrDetector( 2355):     #11  pc 0155bb18  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (AndroidMain(android_app*)+2848)
D/CrashAnrDetector( 2355):     #12  pc 01566d00  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (android_main+216)
D/CrashAnrDetector( 2355):     #13  pc 01588a78  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so
D/CrashAnrDetector( 2355):          65c4dfc0  64ab4d18  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so
D/CrashAnrDetector( 2355):          65c4dfc4  60cec918  /data/app-lib/com.YourCompany.MyProject-1/libUE4.so (FScopedCategoryAndVerbosityOverride::GetTLSCurrent()+100)

Inetic,

Please upload your full output error logs from the engine, if there are any. Once you’ve done that, go to: C:\android-sdk-windows\tools and open Monitor.bat

When Monitor.bat loads up, go ahead and start the game on your device and wait for it to crash. After the project has crashed on your device, go back to Monitor.bat and save all of the logs. Don’t forget to highlight all of the logs that you want to save. Not highlighting the logs causes them not to be saved.

Thanks!

Hi , I updated the question with the full output I’m seeing, it is filtered through grep UE4, hope that is OK, if not, please let me know. I tried to open monitor.bat, but it does absolutely nothing, not even any output to the console, I’ll try to see what is going on later. Since I posted this question, I’ve realized that this crash only happens on my GT-I9300 phone. When working with , everything seems to work normally.

Thank you for providing the logs. It seems that your device had a Signal 11 crash. Signal 11 is a generic crash that typically means the GPU or the drivers for the GPU are unable to run the project. Could you upload your specific project? I followed your reproduction steps but have been unable to replicate it with a Samsung Galaxy S3 .

Hey Inetic,

We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will offer further assistance.

Thank you!