Neos-Metaverse / NeosPublic

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

Textures stop loading #3584

Open RobertBaruch opened 2 years ago

RobertBaruch commented 2 years ago

Describe the bug?

I've noticed that sometimes I'm working away in a world, and then my context radial menu icons will not show up, then inventory thumbnails won't show up, not even the debug panel has textures. And the icons at the top of the inspector don't load either. I don't believe there's some infinite loop running, and the world is responsive, just that textures stop loading. My NeosVR/Assets folder has 77 GB, Cache has 20GB, and the drive those are stored on has 1.5 TB free.

Relevant issues

None found.

To Reproduce

Cannot reproduce.

Expected behavior

Neos loads textures.

Log Files

DESKTOP-83DJ9R8 - 2022.1.28.1310 - 2022-02-05 12_48_09.log

Note that I'm giving the prev log file because I restarted Neos after clearing the Cache.

Player-prev.log

Screenshots

No response

How often does it happen?

Sometimes

Does the bug persist after restarting Neos?

Yes

Neos Version Number

2022.1.28.1310

What Platforms does this occur on?

Windows

Link to Reproduction Item/World

No response

Did this work before?

Yes

If it worked before, on which build?

Unknown when this issue started.

Additional context

No response

Reporters

Xekri

shiftyscales commented 2 years ago

I had a look through the log files and didn't really see anything that seemed out of place- aside from the looping error "Enumerating reachable nodes has reached a disposed node!". How long is Neos running when this occurs- is there any consistency there, or is that random too?

From what I saw too you were entirely isolated in these sessions/these were private sessions with no possible outside interference?

How often does this occur? What sort of tasks are you performing in the world when it happens?

I did notice that the looping error references the 'remove all logix visuals' node- how is that being used in your world/tools?

At a first glance, I might guess that something is causing it to continually loop the generation/removal of the Logix visuals(?)

When you mentioned the debug panel has no textures- was the text not rendering either?

RobertBaruch commented 2 years ago

It's random how long it takes. Often it doesn't happen at all, but sometimes it will happen after half an hour, sometimes after a few hours. I've usually experienced it happening once a week or so, which corresponds to maybe every 10-15 Neos app startups.

It was definitely a private session, nobody ever entered the world. However, it also happens when I'm working with others, but the others don't experience the problem.

Usually I'm writing logix. I haven't really experienced this happen when I'm not writing logix because... well, I'm almost always writing logix, and always with Uki's Redprint v1.3 or v1.4.

As for "remove all logix visuals", I don't really know what that is, I don't use that node. The only thing that I can think of that might use it is Uki's Redprints. Uki says they use it to pack logix. Suspicious? Problem handling exceptions during the Input refresh phase?

For the debug panel, the text rendered. It was hard to see because the no-texture texture is black and grey, but I could definitely see the text.

RobertBaruch commented 2 years ago

I grepped my logs going back 3 months, and found many instances of RemoveAllLogixNodes running into exceptions. I don't quite recall having the problem so often... but it seems that there's a definite problem. Another example from Nov 26:

DESKTOP-83DJ9R8 - 2021.11.10.1265 - 2021-11-26 18_10_36.log

RobertBaruch commented 2 years ago

It happened 63 times over the past 3 months, out of 176 app sessions.

RobertBaruch commented 2 years ago

I almost had a repro case. Sometimes when packing a redprint that has an interface card that isn't on the redprint, the interface card will be left behind -- that is, it will not disappear, but stick around, and then I get the exception. Can't reliably repro though.

RobertBaruch commented 2 years ago

The icon thing happened again today at around 10:31 when I was working with logix. There weren't any interface cards hanging around, and the logs didn't show the packing exception, either. I immediately saved the world and exited.

DESKTOP-83DJ9R8 - 2022.1.28.1310 - 2022-02-06 09_03_04.log

shadowpanther commented 2 years ago

Next time it happens @RobertBaruch , try taking screenshots of debug window's gather jobs and background threads tabs. I feel there's something happening in the background that stops the texture processing threads from running.

RobertBaruch commented 2 years ago

It happened again, starting at around 1:15 or so, a few minutes before Axius and Cyrillus joined the world. Here's the log:

DESKTOP-83DJ9R8 - 2022.1.28.1310 - 2022-02-06 09_03_04.log

I also copied the background tasks:

Background workers active: 1 of 16. Last processed jobs: 73
HighPriority workers active: 0 of 15. Last processed jobs: 9
ThreadPool WorkerThreads, 1600, CompletionPortThreads: 200, MaxConcurrencyLevel: 2147483647
--------
<b>Background</b>
#0 (7): ---
#1 (2): AD12F700, <Post>b__0 on BaseX.WorkProcessor+<>c__DisplayClass38_0 for BaseX.WorkProcessor+<>c__DisplayClass38_0
Background
#2 (5): ---
#3 (5): ---
#4 (4): ---
#5 (6): ---
#6 (6): ---
#7 (4): ---
#8 (4): ---
#9 (5): ---
#10 (5): ---
#11 (4): ---
#12 (4): ---
#13 (4): ---
#14 (4): ---
#15 (4): ---
<b>HighPriority</b>
#0 (6): ---
#1 (3): ---
#2 (0): ---
#3 (0): ---
#4 (0): ---
#5 (0): ---
#6 (0): ---
#7 (0): ---
#8 (0): ---
#9 (0): ---
#10 (0): ---
#11 (0): ---
#12 (0): ---
#13 (0): ---
#14 (0): ---

There were no gather jobs in the debug panel.

I also started capturing performance data when it happened.

2022-01-22 12_37_26.csv