x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Inital launch localization crash

Hello,

A game I am working on has been having an issue with the version published to steam where a crash occurs only on the very initial launch after installing that seems to be related to localization engine code. Subsequent launches and the crash is not hit again, only the initial launch.

We are having a hard time reproducing this issue, leading me to believe some sort of temp file is being created that avoids the crash on subsequent launches. However this is just a guess and has so far not helped to reproduce it.

Specifically an access violation exception is being hit in ICUCulture.cpp in the function ExtractNumberFormattingRulesFromICUDecimalFormatter. Full callstack from the log below along with a couple of preceding lines for context.

We have yet to properly implement localization data for the game and I'm wondering if that is the cause, but its a wild guess without a way to reliably reproduce the crash. Since its only on very initial launch it will be a bad thing to have for launch so need help with this asap!
Many thanks for any help someone can provide.

 LogInit: Using OS detected language (en-US).
 LogInit: Using OS detected locale (en-US).
 LogPaths: Warning: No paths for game localization data were specifed in the game configuration.
 LogInit: Warning: No paths for engine localization data were specifed in the engine configuration.
 LogTextLocalizationManager: No localization for 'en-US' exists, so 'en' will be used for the language.
 LogTextLocalizationManager: No localization for 'en-US' exists, so 'en' will be used for the locale.
 LogWindows: Warning: CreateProc failed: The system cannot find the file specified. (0x00000002)
 LogWindows: Warning: URL: ../../../Engine/Binaries/Win64/CrashReportClient.exe "C:/Users/Peter/AppData/Local/GameName/Saved/Crashes/UE4CC-Windows-18E4F7CF4374E5CABE511687E820CC32_0000" -AppName=UE4-GameName -CrashGUID=UE4CC-Windows-18E4F7CF4374E5CABE511687E820CC32_0000 -DebugSymbols=..\..\..\Engine\Intermediate\Symbols
 LogWindows: Could not start CrashReportClient.exe
 LogMemory: Platform Memory Stats for WindowsNoEditor
 LogMemory: Process Physical Memory: 128.34 MB used, 128.37 MB peak
 LogMemory: Process Virtual Memory: 120.16 MB used, 120.37 MB peak
 LogMemory: Physical Memory: 6490.78 MB used,  9848.39 MB free, 16339.16 MB total
 LogMemory: Virtual Memory: 512.95 MB used,  9848.39 MB free, 134217728.00 MB total
 LogWindows: Error: === Critical error: ===
 LogWindows: Error: 
 LogWindows: Error: Fatal error!
 LogWindows: Error: 
 LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000
 LogWindows: Error: 
 LogWindows: Error: [Callstack] 0x000000005271FD31 GameName-Win64-Shipping.exe!`anonymous namespace'::ExtractNumberFormattingRulesFromICUDecimalFormatter() [c:\projects\unrealengine\engine\source\runtime\core\private\internationalization\icuculture.cpp:634]
 LogWindows: Error: [Callstack] 0x00000000527205BE GameName-Win64-Shipping.exe!FCulture::FICUCultureImplementation::GetDecimalNumberFormattingRules() [c:\projects\unrealengine\engine\source\runtime\core\private\internationalization\icuculture.cpp:708]
 LogWindows: Error: [Callstack] 0x000000005275F9E9 GameName-Win64-Shipping.exe!FText::AsNumberTemplate() [c:\projects\unrealengine\engine\source\runtime\core\private\internationalization\text.cpp:534]
 LogWindows: Error: [Callstack] 0x000000005273589E GameName-Win64-Shipping.exe!FText::AsNumber() [c:\projects\unrealengine\engine\source\runtime\core\private\internationalization\text.cpp:518]
 LogWindows: Error: [Callstack] 0x00000000529CE1AF GameName-Win64-Shipping.exe!EKeys::Initialize() [c:\projects\unrealengine\engine\source\runtime\inputcore\private\inputcoretypes.cpp:584]
 LogWindows: Error: [Callstack] 0x0000000052A9A6EB GameName-Win64-Shipping.exe!FSlateApplication::Create() [c:\projects\unrealengine\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:884]
 LogWindows: Error: [Callstack] 0x0000000052A9A654 GameName-Win64-Shipping.exe!FSlateApplication::Create() [c:\projects\unrealengine\engine\source\runtime\slate\private\framework\application\slateapplication.cpp:877]
 LogWindows: Error: [Callstack] 0x0000000052527471 GameName-Win64-Shipping.exe!FEngineLoop::PreInit() [c:\projects\unrealengine\engine\source\runtime\launch\private\launchengineloop.cpp:1717]
 LogWindows: Error: [Callstack] 0x0000000052523439 GameName-Win64-Shipping.exe!GuardedMain() [c:\projects\unrealengine\engine\source\runtime\launch\private\launch.cpp:127]
 LogWindows: Error: [Callstack] 0x000000005252DFBA GameName-Win64-Shipping.exe!GuardedMainWrapper() [c:\projects\unrealengine\engine\source\runtime\launch\private\windows\launchwindows.cpp:134]
 
 LogWindows: Error: [Callstack] 0x0000000054711F07 GameName-Win64-Shipping.exe!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253]
 LogWindows: Error: [Callstack] 0x00000000E0AF1FE4 KERNEL32.DLL!UnknownFunction []
 LogWindows: Error: [Callstack] 0x00000000E0C2EFC1 ntdll.dll!UnknownFunction []
 LogWindows: Error: [Callstack] 0x00000000E0C2EFC1 ntdll.dll!UnknownFunction []
 LogWindows: Error: 
 LogExit: Executing StaticShutdownAfterError
 LogWindows: FPlatformMisc::RequestExit(1)
Product Version: UE 4.18
Tags:
more ▼

asked Apr 02 '18 at 06:57 AM in C++ Programming

avatar image

redPower
1 2 1

avatar image Jamie Dale STAFF Apr 02 '18 at 01:15 PM

How are you packaging your game, and are you trying to do anything fancy like part-install the game to begin play, then installing the rest later (like consoles would)?

The error about missing engine data makes me think that either config or content data is missing.

avatar image redPower Apr 02 '18 at 04:29 PM

Afaik we are using a standard approach for packaging with unreal automation tool, and not doing any runtime package loads atm. Here is the command line we are using to package game with:

RunUAT" BuildCookRun -project="%WORKSPACE%/GameName/GameName.uproject" -noP4 -platform=%GameName_CLIENT_PLATFORM% -clientconfig=%GameName_CLIENT_CONFIG% -build -cook -stage -pak

If there is missing data, it seems to be somehow creating that data just prior to the crash since the game never crashes again on startup after initial just following first install of the game on steam.

The root of the issue seems to be related to using FText::AsNumber in a static function in EKeys::Initialize() when instantiating the touch key inputs.

avatar image Jamie Dale STAFF Apr 03 '18 at 03:55 PM

Hmm, okay. I'm not aware of any issues related to this, or anything that would fix it after the first run.

There are a number of checks in the code that would have likely caught this crash earlier and given a better idea about why it's failing. If you don't have a reliable repro, it might be worth enabling asserts in your shipping build to try and trap the issue sooner.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

3 answers: sort voted first

We have seen the exact same crash, with UE 4.18, on another platform. It happens also with a fresh install. Do not crash after 2nd run or if we update the game.

more ▼

answered May 02 '18 at 06:56 PM

avatar image

ThierryV
1 1 1

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Same here. I had a project which would always crash the first time after being packaged, then rarely after that. The project currently crashes less often, but still usually first time after packaged.

more ▼

answered Jul 30 '18 at 10:38 PM

avatar image

Nerdballer Games
35 5 15 16

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

I solved an issue similar to this and hope this message helps someone in the future. I had crashes only in packaged builds (never editor) with the following log error:

 Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address ...

and

 Warning: CreateProc failed: The system cannot find the file specified. 

Experienced devs told me 99% of the time it's a null pointer error, meaning you are referencing something in your c++ or blueprints which can't be referenced (usually because it doesn't exist, for example it hasn't yet been instantiated). This was true in my case.

The way to solve this issue:

1) Look in your log folder. ([yourprojectname]>Saved>Crashes). Look for the FATAL ERROR near the end and look underneath that for the callstack hint which will steer you where your problem is. In my case, it looked like this:

 [2018.07.30-19.19.53:720][ 0]LogWindows: Error: Fatal error!
 [2018.07.30-19.19.53:720][ 0]LogWindows: Error: 
 [2018.07.30-19.19.53:720][ 0]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xfad70000
 [2018.07.30-19.19.53:720][ 0]LogWindows: Error: 
 [2018.07.30-19.19.53:720][ 0]LogWindows: Error: [Callstack] 0x00007ff716532680 
 AAADragonFresh.exe!AlgoImpl::IntroSortInternal<TBitArray<FDefaultBitArrayAllocator>,FIdentityFunctor,TDereferenceWrapper<TBitArray<FDefaultBitArrayAllocator>,TGreater<TBitArray<FDefaultBitArrayAllocator> > > >() []
 [2018.07.30-19.19.53:720][ 0]LogWindows: Error: [Callstack] 0x00007ff7165ca3b9 AAADragonFresh.exe!FSkeletalMeshLODRenderData::InitResources() []

Notice the last message in mine. It contains the words "skeletalMesh", "sort", "TBitArray". In my case, the null pointer was a reference to a skeletal mesh inside of a switch.

2) Go into a blueprint you think the log could be referring to and disconnect the tick, begin play, and constructor wires, effectively deactivating the blueprint, and then package and run. If it stops crashing, you've found the blueprint with your toxic reference. You're zeroing in!

3) Reconnect your wires and disconnect only the part you think is responsible until the packaged build stops crashing. Find your bad reference, and then figure out why it's a bad reference. Have you instantiated it yet? (You can put in printstrings, or you can put in breakpoints and step through your blueprints to find out). In my case, it was something stranger which really threw me off: I had imported the mesh from Blender with the skeleton turned to invisible. This was enough to throw off ue4, but only when ue4 was trying to load it (hence why only the crashes in packaged builds).

The first time debugging something like this is hell, but have faith that you can and will get through it, and once you do, you'll have tremendous confidence moving forward!

more ▼

answered Aug 05 '18 at 06:11 AM

avatar image

Nerdballer Games
35 5 15 16

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question