Packaged build crashes with nativized string tables

With the release of 4.16 I added some string table assets to my project so I can keep all my localizable text in one place. I tried packaging this morning and got the following error:

139773-recursionnotallowed.png

This looks to be the same error as found at Launch Error: Assertion failed: RecursionNotAllowed - Blueprint - Unreal Engine Forums but I’m not using any gameplay tags (and that bug is marked as fixed).

I turned off blueprint nativization on a whim and the error stopped happening so I tried excluding the new string tables from nativization and that also worked. I’m not sure why string tables are being nativized (they’re not blueprints) but that seems to be the issue.

I was able to repro this in a blank project with the following steps:

  1. Create a new blank project
  2. Create a string table asset and add a string to it
  3. Create a UMG widget with a text block, link the text to your string table
  4. Create a level and add the widget to the viewport in begin play
  5. Set the level to the default in the project settings, change nativization settings to inclusive
  6. Package for Windows 32-bit
  7. Run the resulting build

Hello kgameble,

I was unable to reproduce your issue on our end. I have a couple of questions to help me narrow down the issue you are experiencing.

  1. Could you provide screenshots of your issue?
  2. Does this issue occur if you exclude the widget when you nativize?

Thanks!

I’m not sure what screenshots would be useful aside from the error message I get so I’m just going to attach my repro project instead: Repro

It doesn’t seem to happen if I exclude the widget so I guess both the widget and the string table need to be nativized for this to happen.

,

I was able to reproduce your issue and have logged a report for it, which you can view here:

You can track the report’s status as the issue is reviewed by our development staff. Please be aware that this issue may not be prioritized or fixed soon.

I have encountered this error, too with Unreal Engine version 4.20. If the data table row uses an FText that references a String Table entry, then this error occurs when the blueprint Get Data Table Row … function is called or the c++ UDataTable::FindRow function is called or if the method FText::FromStringTable() is called.

I was using FText::FromStringTable() in a USTRUCT’s constructor to initialize an FText property and after I removed it, this error did not occur.