FStreamableManager::AsyncLoadCallback crashes

Exception thrown: read access violation.
this was 0xFFFFFFFF00000002.

Hi windywang,

Would you be able to provide more details about what you are doing when you see this crash occur? I made a new code project in 4.12 with Starter Content, then moved a bunch of the content around in the Editor and selected the option to fix up redirectors. The process completed successfully for me without a crash occurring.

I add some log, and it shows that the AsyncLoadCallback is called after the FStreamableManager object destroyed

the number in [] is the FStreamableManager object address

[2017.01.04-11.09.17:921][640]LogStreamableManager: [1686261617184]:FStreamableManager::IsAsyncLoadComplete

[2017.01.04-11.09.17:921][640]LogStreamableManager: [1686261616416]:FStreamableManager::IsAsyncLoadComplete

[2017.01.04-11.09.17:921][640]LogStreamableManager: [1686261616160]:FStreamableManager::IsAsyncLoadComplete

[2017.01.04-11.09.17:986][641]LogStreamableManager: [1686261617184]:FStreamableManager::IsAsyncLoadComplete

[2017.01.04-11.09.17:986][641]LogStreamableManager: [1686261616416]:FStreamableManager::IsAsyncLoadComplete

[2017.01.04-11.09.17:986][641]LogStreamableManager: [1686261616160]:FStreamableManager::IsAsyncLoadComplete

[2017.01.04-11.09.18:002][641]LogStreamableManager: [1686261617184]:FStreamableManager::Unload

[2017.01.04-11.09.18:002][641]LogStreamableManager: [1686261617184]:FStreamableManager::~FStreamableManager

[2017.01.04-11.09.18:003][641]LogStreamableManager: [1686261616416]:FStreamableManager::Unload

[2017.01.04-11.09.18:003][641]LogStreamableManager: [1686261616416]:FStreamableManager::~FStreamableManager

[2017.01.04-11.09.18:003][641]LogStreamableManager: [1686261616160]:FStreamableManager::Unload

[2017.01.04-11.09.18:003][641]LogStreamableManager: [1686261616160]:FStreamableManager::~FStreamableManager

[2017.01.04-11.09.18:152][644]LogStreamableManager: [1686261617184]:FStreamableManager::AsyncLoadCallback

That does seem to indicate that there is a problem with released memory trying to be accessed. What are you trying to do when this occurs? Are you moving or deleting assets?

Spawn some new blueprint actors, and call AsyncLoadAsset in its BeginPlay. it has nothing to do with Redirectors

Thank you for that clarification. How many Blueprint actors are you spawning, and how many assets is each one loading? I set up a project to spawn 100 Blueprint actors, with each one loading a static mesh asset and setting it into a Static Mesh Component. I ran the project several times in PIE, and did not experience a crash. In my case, they are all loading the same asset, so it may not be an adequate test. Does the crash occur for you every time?

more information:

  1. they are not load the same resouce
  2. destroy them before load completed
  3. it crahes more in DebugEditor build, but not every time

Hi windywang,

Thank you for the additional information. I believe I was able to reproduce the crash that you described (my callstack is slightly different from the one that you showed), and have entered UE-40318 to have this investigated further.