Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
197 stars 9 forks source link

World cannot be saved #3245

Open Medravr opened 2 years ago

Medravr commented 2 years ago

Describe the bug?

This is a semi-reoccurring bug that occurs every 3-5 Creator Jams. A headless client will no longer autosave the world. If any user in admin tries to save a copy of the world, the world stays in local space and never is saved (moving to the inventory). This happens with multiple people.

Relevant issues

No

To Reproduce

This cannot be reproduced consistently. It occurs semi-periodically.

Expected behavior

The world should save.

Log Files

https://www.digitaldung.com/neosvr/REMOTESERVER3%20-%202021.10.21.64%20-%202021-10-24%2021_00_57.log

Screenshots

No response

How often does it happen?

Sometimes

Does the bug persist after restarting Neos?

No

Neos Version Number

2021.10.21.64

What Platforms does this occur on?

Windows

Link to Reproduction Item/World

No response

Did this work before?

I Don't Know

If it worked before, on which build?

No response

Additional context

No response

Reporters

Medra, Creator Jam, Jeff07734, Rucio

shiftyscales commented 2 years ago

It appears that this is somehow related to an asset that hasn't been removed properly.

In Medra's most recent case tonight, I narrowed the issue down to one specific slot- it was a photo that was using a local URL, but the asset itself appeared to be missing as its size was -1 x -1.

Upon deleting the slot with the red trash can, the world was able to be saved.

It's not presently clear the conditions under which these broken assets are created, but so far I've only seen this issue present in Creator Jam sessions which utilize a 'janitor bot' system we suspect may possibly be a common factor.

In a prior example, it was a brush stroke with a mesh that no longer existed that was also using a local asset as best I can recall.

shiftyscales commented 2 years ago

The two attempts I had initially made to save the world both were stuck on 'Saving' (until such point as I eventually left the world- then the orbs had turned red). These two attempts can be seen reflected in exceptions thrown at 28014 and 28087 in my log file.

1:09:04 AM.106 ( 63 FPS) Exception in the save process! Dumping the raw save data to: C:/Users/Shifty/AppData/Local/Temp/Solirax/NeosVR\Cache\mbgq9behwy9ipkoj.lz4bson System.NullReferenceException: Object reference not set to an instance of an object

SHIFTYWINDOWS - 2021.11.5.486 - 2021-11-06 17_06_26.log

Frooxius commented 2 years ago

@shiftyscales Hmm, what exactly did you do while saving those worlds? From the logs it doesn't seem like it's related to assets at all, but actually extracting the world's tags.

However from the exception it almost seems like the world has been closed between the saving and the save failing. I see that you saved other worlds as well, so there's quite a lot of things mixed in the log, which makes it a bit difficult to make sense of it, because there's several things going on at once.

Is there a way to replicate this in a clean scenario?

Frooxius commented 2 years ago

I've fixed up a few things in 2021.11.7.794 and added some more logging. Can you see if there are any improvements?

shiftyscales commented 2 years ago

Hmm- perhaps that was too deep into the log then @Frooxius ? I'll have a more thorough read through it.

Based on what I saw you mention was fixed, that was probably the latter half of what I said- the orbs turning red after the world was closed.

But something about that empty asset photo was preventing the world from being saved outright.

Earlier on I tried to 'save as' as well as 'save copy' the CJ world, but it was only able to be properly saved on the third attempt after I had found and removed that photo (after manually saving various hierarchies of the world into my intentory one by one).

shiftyscales commented 2 years ago

I definitely realize the log is not ideal- this issue just comes up rarely- but I know more about it that should it come up again I'll be more prepared to be able to make cleaner logs.