GC failed on unload level

I make a test to load and unload several streaming levels once 5s.After 15 min or more,it will carsh and report
LogGarbage: Warning: Spent more than 10.00s on routing FinishDestroy to objects (objects in queue: 29)
LogGarbage: Warning: [0]: Texture2D None.None, IsReadyForFinishDestroy: false
LogGarbage: Warning: [1]: Texture2D None.None, IsReadyForFinishDestroy: false
LogGarbage: Warning: [2]: Texture2D None.None, IsReadyForFinishDestroy: false
LogGarbage: Warning: [3]: Texture2D None.None, IsReadyForFinishDestroy: false
LogOutputDevice: Error: Spent to much time waiting for FinishDestroy for 29 object(s) (last object: Texture2D None.None), check log for details

The engine still logs after crash and it’ll make a hug log file, even 50GB if i do nothing.
Any helps for this? I have no idea about it.

it really depends on your code.
what are those t2d doing?
by that “is ready for finish destroy false” gives me the idea that the texture might still be in a state waiting for something.
do you use them to draw? there’s a function to finish a drawing after starting one i cant remember the name. i think it’s " end draw" and it exists on the drawing “context” object. Begin Draw Canvas to Render Target | Unreal Engine 5.2 Documentation?

are you keeping references to the texture? do you pass them around?
are you using cpp or bp?

I do nothing on level obejcts.,just load and unload the streaming levels.And i keep no refereces in codes. It works on cpp.

i don’t know much about it. with no context of your code all i have are really just guesses.
it would really help to see some of your code or what you actually are doing with these things.

my guess is you are keeping a reference to one of those textures, either on a material or in cpp or in bp. and hence can’t unload it.
specially since you are unloading dynamically.

the size of the log and spam is just unreal spin-lock waiting for it to be freed.

I don’t have the code either.I’m just using others’ paks to load and unload their levels.Only a few paks will make this.
And the loading code is in a big module, I can’t show it in a few codes.But i actually do nothing on textures.

maybe there’s some problem with the asset lifecycle inside those paks, or maybe some inter-dependency. i wouldn’t know for sure.
or maybe a deadlock when trying to un/load and something triggers a flush.