Crash with BP structs when editing default string values

Engine version: 4.3.0-2215663+++depot+UE4-Releases+4.3

Start a new project. In the content browser, go New → Blueprints → Structure, leave the struct name as it is and double-click to edit.

Change the first struct member to data type string, then immediately add another member, and set its type to string as well.

Do not click the save button!

Now type something in Default Values for the first string member, “kaboom” for example, then click on the input field for the second string member to activate the crash function.

Throws an Unknown exception caused by a failed assertion:
Count >= 0 [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.3\Engine\Source\Runtime\Core\Public\Containers\UnrealString.h] [Line: 327]

Current workaround: always save before editing default values.

Hi ,

Thank you for your report. I have attempted to reproduce this issue, but have not had any luck. I created a new struct, opened it, changed the first variable to a string, added a new string variable, gave the first one default text, and then gave the second string a default value. The editor did not crash at that point, but can you tell me if I did anything different or wrong? Also, does this occur in a new project or just one project? Can you please give me the crash callstack, dxdiag and project log files? The log files can be located in the folder [Project Name]/Saved/Logs.

Thanks,

Hi ,

no, that sounds about right. I first discovered the problem in my own project, but then it turned out to be easily reproduced in a new blank project as well.

I have just updated to the official 4.3.1 release, and I can still reproduce this with 100% “success” rate :slight_smile: The attached holds the contents of the Logs directory, the callstack and my DxDiag.txt.

To recap, in exact detail, what I did for this last reproduction:

  1. Start 4.3.1 from Launcher
  2. Create new empty project without starter content
  3. Save the project and quit, close the launcher
  4. Load project again by opening the .uproject file directly from a windows explorer window (because that’s what I always do)
  5. In Content Browser, do: New->Blueprints->Structure
  6. Press enter to accept default name of new struct
  7. Double-click the new struct to edit it
  8. Change initial variable type to string
  9. Press ‘New variable’ button
  10. Change datatype to string for the newly created second variable
  11. Type “sproing” (why not? :slight_smile: in the default value input field for first variable
  12. Click on default value input field for second variable, and crash

Never fails here

11431-crash_data. (61.7 KB)

Hi ,

Thank you for those additional reproduction steps. Based on those steps I found that I needed to create a fresh project in 4.3.1 in order to get the crash, but it is happening for me now. I have created a bug report and informed our blueprint developer of the issue. Please let me know if there is anything else that I can do to help until this is resolved.

Cheers,

Hi ,

The issue seems to be fixed in 4.4.
If you build the whole engine, you can add the fix (in SStructureDetailsView.cpp file):

void SStructureDetailsView::SetStructureData(TSharedPtr<FStructOnScope> InStructData)
{
	//PRE SET
	SaveExpandedItems();
// >>> THE FIX
	RootNode->SetStructure(NULL); 
// <<<
	RootNodePendingKill = RootNode;

Let me know, if it helps.

Cheers,
M

Same problem in 4.11.2
Also crash after adding new var in BPS =(

Hi Ded_Mazay,

Unfortunately, this bug report is extremely outdated as it is from a very early version of the editor. Please create a new post detailing what error you are seeing, what steps I can take to reproduce the error on my end, and please provide your crash logs and callstack. I am closing this thread as outdated.