Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
136 stars 2 forks source link

Local Assets Get Stuck Infinitely Loading And Block New Assets #2653

Open lxw404 opened 2 months ago

lxw404 commented 2 months ago

Is your feature request related to a problem? Please describe.

Sometimes when going into a world where people are importing a lot of items, such as a Creator Jam or other building session, assets will get randomly "clogged" in the Asset Queue and seemingly prevent any others from ever loading afterwards.

This seems to be potentially related to: https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/660, however that one was specifically focused on resdb assets, whereas this specifically refers to local ones.

Describe the solution you'd like

There should be a way for the asset queue to become unstuck no matter what.

Describe alternatives you've considered

The alternative right now is to restart the problematic session and Resonite entirely which will clear the queue and any bad assets seemingly, however this is a poor long term solution.

Additional Context

I am writing this issue since I've experienced it several times over the past month, however I apologize that I don't have every single log of the sessions that were experiencing this... This is more of a placeholder issue to raise community awareness of it happening and to eventually accumulate more data about it.

In one instance of this, I and several other users noticed a stream which was deleted from the world, but in the Asset queue it was seemingly being treated as an infinitely large file. In that world, most if not all other local assets were stuck and no one could see newly imported textures, (which may be related or just coincidental):

20240720061412_1

Stuck Local Assets001 - 2024.7.20.94 - 2024-07-20 03_56_01.log

Requesters

LuxKitty

JackTheFoxOtter commented 2 months ago

This was a big issue at the previous Z-Rave as well, where at one point the queue got fully locked up, leading to noone seeing freshly taken pictures load until they got manually synced to the cloud. I believe one condition that can trigger a local asset being stuck is the uploading user leaving before the asset is fully transferred.

stiefeljackal commented 2 months ago

I believe one condition that can trigger a local asset being stuck is the uploading user leaving before the asset is fully transferred.

This is correct, and this happened a lot in past Creator Jams. If the asset owner who imports a local asset should leave the session while it is still transferring, then that asset never gets fully transferred over. This usually left null meshes and photos.

Frooxius commented 2 months ago

Thanks for making this issue.

This has been known issue for a while. My goal is to rewrite this session asset transfer system completely, since the current implementation is very messy and hard to work with and has bugs like this.

The goal for the new one would be to also work well with mesh networking once implemented, by allowing to transfer asset chunks between all users to speed up transfers.