[crash] There is no disk in the drive

Updated with more proper format:

Branch: Binary

Build version: 4.3.1 2226335

The error appeared to be two separate issues that would trigger at the same time: the error message about no disk in drive followed by a crash.
The disk error message was caused by having a USB stick attached to my machine. I was able to fix it by removing the stick and rebooting. The crashes continued consistently during saving operations however, but the error message no longer appeared, only the crash dump.

The crash appears to be caused by a corrupt blueprint. Removing the blueprint and the struct that was associated with it have solved the issue.

Repro Steps:

  1. Create a struct with several variable arrays
  2. Add it to a function library
  3. Use that function in a blueprint
  4. Save the project

Note: I was only able to repro this inconsistently, as it appears things only get funky after a while.

I’ve included the text files

link text

Hey Hyperloop -

Thank you for your report. I will begin investigation into this issue as soon as possible. If I am unable to reproduce the problem, or I need more information, I or another staff member will follow up with some additional questions for you. Otherwise, I will post an ‘Answer’ once I have logged the issue in our bug database or we have a solution for it.

In the meantime, please be sure to review our suggestions for how to report a bug, and feel free to edit your post if you have additional information to provide:

How do I report a bug? - Programming & Scripting - Epic Developer Community Forums

Any information about what you were doing in the project before you started experiencing this crash would also be helpful.

Thank you.

Eric Ketchum

Thank you Eric,

I’ll add some additional info. That link for formatting is helpful.

Edit: updated the report as per the requested format!

remove your USB stick.

Hey Hyperloop -

I am glad you were able to get this resolved, but for our testing purposes would you mind sending us the *.uasset files of the offending blueprint.

Thank You

Eric Ketchum

Come to think of it, that BP is the child of a custom class derived from Actor - I’d have to include the header and .cpp file as well, or should I zip the entire project and upload it someplace?

That was indeed one part of the issue!

I had the same issue, and that fixed it (the answer may have “sound” a bit… inpolite, but I was in hurry and saw someone asking answer to problem I had tackled 5 min ago, so…)

Much appreciated!

Hey Hyperloop -

Yes I would need all of your source files if it is derived from a custom class.

Thank You

Eric Ketchum

Eric, added the project and files here for you.

Note: The ‘no disk in drive’ warning seems unrelated to this issue and has been solved by removing an offending flash drive from the machine. Current behavior is crashing upon saving a BP with a reference to a custom struct in it.

Repro by:

  1. Add variable of type:struct"NewUserDefinedStruct" to a blueprint. (I’ve been using C_Item_PlaceableBase)
  2. Get the variable in the graph
  3. Attempt to save

It sometimes won’t crash on save, I’d say about 1/2 of the time it does. You may need to break the struct and try to use a value inside it to get it to crash on save.

Steps I’ve taken to track this down:

1.Rebuilt the struct in a stable (non crashing) project. Result: instability upon saving the blueprint which contains any reference to the struct.

2.Deleted items out of the struct one by one to see if there’s a particular data type/object that is causing the issue. Result: still unstable.

3.Used a simple struct with no arrays and only one data type. Result: still unstable.

4.Called the struct from a function instead of the graph Result: still unstable.

5.Add custom struct to a blueprint in stable project, confirm instability as a result. Delete struct and references to it. Result: deleting a custom struct and all references to is in a BP cause the project to become stable upon saving.

6 Added custom struct to brand new blueprint of class: actor. Result: instability upon saving.

I wouldn’t say the issue is resolved per se, since custom stucts are a pretty useful feature, and not being able to use them might be a bit of a bummer ^.^

Hey Hyperloop -

I am not able to reproduce this issue in any project but the Sandbox you sent me, so the problem lays in your added code. I would begin debugging where you have calls and references to the variables listed in your Struct. I did notice that those variable names are used twice in your project once in the struct and they are created again in another blueprint, this too could result in an error

Eric Ketchum

Eric, I appreciate you checking this out, thank you so much for the suggestions.

Eric -

I’ve put another day or so into seeing if I can help track this down, here is what I have found:

I’ve reproduced this crash consistently in completely new projects based on the FPS code template with no modifications whatsoever, save for the addition of a struct, and a blueprint.

Here is one example of the setup that will repro this consistently:

As you can see, I’ve made a mistake in this setup in the sense that I’ve failed to call my custom function before attempting to set the mesh material based on it. I thought that the crash might be related to the BP not handling this exception properly, however I was able to reproduce the crash in a new project without that particular error on my part.

The common factor seems to be getting a material from a struct array and setting a variable within a blueprint with it.

I have not yet tested this with different data types of than material, and I’ve not yet tested it in templates other than the FPS code template.

The part that makes this tough to troubleshoot is, it seems to corrupt the blueprint so you have to start over in a fresh project again or you’ll get the crash even with no references to the struct in the BP anymore.

REPLYING AGAIN WITH UPDATED INFORMATION: ISSUE IS NARROWED DOWN FURTHER

Not all data types defined in the struct cause this issue. So far it’s narrowed to this:

1: Make a Struct

2: In the struct, make an Array with a data type from either the “Object” or the “Class” menus

3; Add something to the array

4: Make a variable that is your struct in a blueprint.

5: Crash on save.

This is happening in brand new, blank project templates!!

Here’s a simple way to reproduce the crash:

Hey Hyperloop -

Really great job on hunting down this issue. I was able to reproduce exactly as you described it and have entered this bug in with our engineers.

Thank You

Eric Ketchum

Hi Hyperloop,

No member variable in UDS can have a default value, that reference any instanced uobject (or class - internally class is also an uobject). Adding default values for Object (and types based on Object) is blocked. It should be also blocked for any array of objects. Sorry for the bug.

Cheers,
M

If I’m correctly understanding, you are saying that the editor shouldn’t allow you to add a reference to an instanced class as a default but it does?

What about the items that exist under the “class” submenu in the data type menu? My understanding is these point to classes but not individual instances of objects. Those should work, correct? (currently they crash also).

the editor shouldn’t allow you to add a reference to an instanced class as a default but it does?

Yes.

What about the items that exist under the “class” submenu in the data type menu? My understanding is these point to classes but not individual instances of objects. Those should work, correct? (currently they crash also).

Types of member fields are stored in definition of the structure, not in memory of instanced structures. They should be safe. Would you mind writing repro steps for the crash?

Cheers,
M