Yellow-Dog-Man / Resonite-Issues

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

Being crashed out of the world can sometimes have it be permanently enabled resulting in needing to restart #1507

Open epicEaston197 opened 6 months ago

epicEaston197 commented 6 months ago

Describe the bug?

Being crashed out of the world can sometimes have it be permanently enabled.

What do I mean by this?.

Basically the entire world is permanently enabled no matter which session you're in

To Reproduce

Make sure that you're in a session that's fairly populated and you have really low frames and make sure you crash out of it somehow or the host needs to crash in a weird way

Expected behavior

i should be crushed out of the world and the world should be delete it and cleaned up properly

Screenshots

image image image image

and even users are completely frozen in time image image image image

Resonite Version Number

2024.3.12.1169

What Platforms does this occur on?

Windows

What headset if any do you use?

Desktop

Log Files

I can't provide the log files at this time I need to recreate the bug

Additional Context

A note: this is the entire world users, sound effects, meshes, textures and audio it's literally the entire world but in another world similarly to how the dash it's like a second user space almost

Reporters

@epicEaston197

Frooxius commented 6 months ago

I've seen this happen a few times, but it's rare. We'll need to either: 1) Get logs for this - we can't really do much here without them 2) Find a way to consistently replicate this

Without this, it'll be difficult to fix and I'm not sure if it'd be worth the effort - it's fixing a bugged state that's caused by other bugs (which we'd prefer to fix instead) and generally rare to happen, so I don't think it's worth investing much time into investigating why this happens.

epicEaston197 commented 6 months ago

Yeah I don't have much information about this bug either but I thought it would be worth to put on the issue tracker just so that it's noted down as a bug so it could potentially be referenced in the future i will attempt to replicate but this would require someone that is really dedicated to fixing this since it requires crashing the host client I noticed it is consistent with the host client crashing

shiftyscales commented 5 months ago

Just saw that this seemed to be a duplicate of #1114 which has a log file attached in the report. OP has closed that issue however so we can continue here.

In the attached log file, I found a possible anomalous portion which could hint at the underlying issue, @Frooxius.

Starting from line 2421- it appears that the user attempts to join a headless session, and for some reason Resonite also tried to load their user home at the same time.

When you have time, please look into the attached log file and see if you can spot anything else of note relating to this issue: LENOVORTX - 2024.1.3.1265 - 2024-01-10 18_01_08.log

18:02:58.575 ( 23 FPS)  LNL_Connection OnPeerConnected: 172.96.161.57:25570, IsOpen: False
18:02:58.576 ( 23 FPS)  Connected to: lnl-nat://1d16728aea4f44049bddbd7d5ab9cddf/S-U-BigGreenWolfy:SyncLounge
18:02:58.583 ( 23 FPS)  Waiting for join grant
18:02:59.010 ( 23 FPS)  Found appropriate User home, loading and running it.
18:02:59.077 ( 23 FPS)  LoginResult: CloudResult<SkyFrost.Base.UserSessionResult`1[SkyFrost.Base.UserSession]> - State: OK, Attempts: 1, Content: , Entity: {"entity":{"userId":"U-modimobeikete","token":"yVJrGa6uGdv2BSiH10rNPSgzU42UK0gTfjScP23v4suVhBVPHOLEJkyFlz17rCKw4GxbCHz2pA3DCyA8UrSUSS7JSnXKvaXGZOJG20_NeP47F_yV0II097BWh4wyjRQ43qtpaJr7I57EB5CU7wXeMba9uP5UIS2LlmKRLdiw9V4=","created":"2024-01-10T10:01:55.3826142Z","expire":"2024-01-11T10:01:55.3826418Z","secretMachineIdHash":"EnNTs2GrL0XNa2Rxnp7qD6RW/dsOJjhVkfVDpQ8cF1o=","secretMachineIdSalt":"uTP5DlTq5zYC4pgPdZ0fHWHys\u002B4Rtzub2gh4lEixC26sV0J3Ay7ElFWJYZqlsx3N49A1sKr3Vrm3qLmaSX3RVa4NP0vNAglZT0KQhSoZA3fHjSnqkcox62IGLj//mi7ebMppSukPT5z1rb2CDdWXZIxNKV2UndZqQkkKEDlgkIM=","rememberMe":false,"logoutUrl":null,"logoutUrlClientSide":false,"originalLoginType":"Password","sessionLoginCounter":1},"configFiles":[{"path":"Migrations/NVR.json","content":"{\u0022platform\u0022:{\u0022$type\u0022:\u0022platformProfile\u0022,\u0022name\u0022:\u0022Neos\u0022,\u0022shortNamePrefix\u0022:\u0022Neos\u0022,\u0022abbreviation\u0022:\u0022NVR\u0022,\u0022domain\u0022:\u0022neos.com\u0022,\u0022moderationURL\u0022:null,\u0022supportURL\u0022:null,\u0022policiesPage\u0022:null,\u0022email\u0022:null,\u0022discordInviteURL\u0022:null,\u0022patreonURL\u0022:null,\u0022gitHubProfile\u0022:\u0022Neos-Metaverse\u0022,\u0022gitHubIssuesRepository\u0022:\u0022NeosPublic\u0022,\u0022webRecordEndpoint\u0022:null,\u0022webSessionEndpoint\u0022:null,\u0022groupId\u0022:\u0022G-Neos\u0022,\u0022teamGroupId\u0022:\u0022G-Neos-Team\u0022,\u0022computeGroupId\u0022:\u0022G-Neos-Compute\u0022,\u0022networkGroupId\u0022:null,\u0022appUsername\u0022:\u0022Neos\u0022,\u0022devBotUsername\u0022:\u0022Neos Bot\u0022,\u0022computeUsername\u0022:null,\u0022networkUsername\u0022:null,\u0022appUserId\u0022:\u0022U-Neos\u0022,\u0022devBotUserId\u0022:\u0022U-NeosBot\u0022,\u0022computeUserId\u0022:null,\u0022networkUserId\u0022:null,\u0022authScheme\u0022:\u0022neos\u0022,\u0022appScheme\u0022:\u0022neos\u0022,\u0022dbScheme\u0022:\u0022neosdb\u0022,\u0022sessionScheme\u0022:\u0022neos-session\u0022,\u0022recordScheme\u0022:\u0022neosrec\u0022,\u0022userSessionScheme\u0022:\u0022neos-user-session\u0022,\u0022SteamAppId\u0022:\u00222519830\u0022,\u0022DiscordAppId\u0022:1159154461059592333,\u0022favoriteVariableOverrides\u0022:[\u0022common_avatar.current\u0022,\u0022virtual_keyboard.current\u0022,\u0022interactive_camera.current\u0022,\u0022cloud_home.current\u0022]},\u0022userAgentProduct\u0022:\u0022Neos\u0022,\u0022userAgentVersion\u0022:null,\u0022gzip\u0022:true,\u0022apiEndpoint\u0022:\u0022https://cloudx.azurewebsites.net/api\u0022,\u0022signalREndpoint\u0022:\u0022https://cloudx.azurewebsites.net/hub\u0022,\u0022serverStatusEndpoint\u0022:\u0022https://cloudxstorage.blob.core.windows.net/install/ServerResponse\u0022,\u0022secretClientAccessKey\u0022:null,\u0022saml2Endpoint\u0022:null,\u0022defaultTimeout\u0022:\u002200:00:30\u0022,\u0022assetInterface\u0022:{\u0022$type\u0022:\u0022azure\u0022,\u0022blobEndpoint\u0022:\u0022https://cloudxstorage.blob.core.windows.net/\u0022,\u0022thumbnailEndpoint\u0022:\u0022https://cloudxoperationalblob.blob.core.windows.net/thumbnails/\u0022,\u0022legacyBlobEndpoint\u0022:\u0022https://neoscloud.blob.core.windows.net/assets/\u0022},\u0022networkNodes\u0022:{\u0022$type\u0022:\u0022fixed\u0022,\u0022nodes\u0022:[{\u0022id\u0022:\u0022MatchX\u0022,\u0022timestamp\u0022:\u00220001-01-01T00:00:00\u002B00:00\u0022,\u0022name\u0022:null,\u0022address\u0022:\u002252.165.32.220\u0022,\u0022port\u0022:12501,\u0022nodeType\u0022:\u0022LNL_NAT\u0022,\u0022userCount\u0022:0,\u0022capacity\u0022:-1},{\u0022id\u0022:\u0022RelayX\u0022,\u0022timestamp\u0022:\u00220001-01-01T00:00:00\u002B00:00\u0022,\u0022name\u0022:null,\u0022address\u0022:\u002252.165.32.220\u0022,\u0022port\u0022:12601,\u0022nodeType\u0022:\u0022LNL_Relay\u0022,\u0022userCount\u0022:0,\u0022capacity\u0022:-1}]},\u0022contactPath\u0022:\u0022friends\u0022,\u0022legacyLogin\u0022:true}"}]}
18:03:00.189 ( 38 FPS)  Join Granted, Begin Data Model Init
18:03:01.722 ( 59 FPS)  SessionInfo. Id: S-U-BigGreenWolfy:SyncLounge, Name: [US] The ReSync Lounge, Host: BigGreenWolfy, CorrespondingWorldId: , URLs: lnl-nat://1d16728aea4f44049bddbd7d5ab9cddf/S-U-BigGreenWolfy:SyncLounge, IsExpired: False

Describe the bug?

When I trying to connect to the session.It will be disconnected and return to the local world(not home world) at few minutes.But if I intend to reconnect again.It will be disconnected and I can see the textures from the last scene and myself.

To Reproduce

resrec:///U-modimobeikete/R-683FFFA1AFDDB3A7539C1CCA9DA1C5D0EDB98A04D29856E17AD9E9036B1E9B96

Expected behavior

Screenshots

20240110180657_1 20240110181432_1 20240110181441_1

Resonite Version Number

Beta 2024.1.3.1265

What Platforms does this occur on?

Windows

What headset if any do you use?

Desktop

Log Files

LENOVORTX - 2024.1.3.1265 - 2024-01-10 18_01_08.log

Additional Context

I don't think the problem is happened on my internet connection.they are still talking each other before disconnected.It just like a surprise(If is my connection,these players should be stuck and stop talking).

Reporters

modimobeikete

charlie-sans commented 4 days ago

don't know how much help i can be even though this just happened with mods but from what i'm looking at is

18:06:11.954 ( 21 FPS)  Exception Disposing World:
System.InvalidOperationException: An attempt was made to transition a task to a final state when it had already completed.
  at System.Threading.Tasks.TaskCompletionSource`1[TResult].SetResult (TResult result) [0x00013] in <9577ac7a62ef43179789031239ba8798>:0 
  at FrooxEngine.EngineGatherJob.SessionAssetGathered (System.Uri assetURL, System.String filePath, System.String failReason) [0x00016] in <27ca83c2765c42ebb22aa3a77a87c9c0>:0 
  at FrooxEngine.SessionAssetTransferer.Dispose () [0x0003a] in <27ca83c2765c42ebb22aa3a77a87c9c0>:0 
  at FrooxEngine.Session.Dispose () [0x000cd] in <27ca83c2765c42ebb22aa3a77a87c9c0>:0 
  at FrooxEngine.World.Dispose () [0x0010f] in <27ca83c2765c42ebb22aa3a77a87c9c0>:0 
  at FrooxEngine.WorldManager.UpdateStep () [0x00374] in <27ca83c2765c42ebb22aa3a77a87c9c0>:0 

  at System.Environment.get_StackTrace () [0x00000] in <9577ac7a62ef43179789031239ba8798>:0 
  at Elements.Core.UniLog.Error (System.String message, System.Boolean stackTrace) [0x00000] in <c26064f5344e4f0aa3d1deea3ecdd445>:0 
  at FrooxEngine.WorldManager.UpdateStep () [0x00000] in <27ca83c2765c42ebb22aa3a77a87c9c0>:0 
  at FrooxEngine.WorldManager.RunUpdateLoop () [0x00000] in <27ca83c2765c42ebb22aa3a77a87c9c0>:0 
  at FrooxEngine.Engine.UpdateStep () [0x00000] in <27ca83c2765c42ebb22aa3a77a87c9c0>:0 
  at FrooxEngine.Engine.RunUpdateLoop () [0x00000] in <27ca83c2765c42ebb22aa3a77a87c9c0>:0 
  at UnityFrooxEngineRunner.FrooxEngineRunner.UpdateFrooxEngine () [0x00000] in <0d4d948c5b38496cb8f3506d884672dc>:0 
  at UnityFrooxEngineRunner.FrooxEngineRunner.Update () [0x00000] in <0d4d948c5b38496cb8f3506d884672dc>:0 
18:06:11.956 ( 21 FPS)  UNDISPOSED: SyncMessage: Stream, SenderStateVersion: 8757872, SenderSyncTick: 141428, SenderUser: , Targets.Count: 0, Asynchronous: False, UserID: ID27E20F00, StreamStateVersion: 13, StreamTime: 65996.6885858882, StreamGroup: 1

this is modi's log file aswell and not mine but it seems that the exception shows up inside mine aswell

even though i ran with mods, here's my log file anyways.

but i'm seeing a pattern, from what i found, it's trying to dispose of the world after it crashes but just craps the bed when disposing an object or something. ill see if i can run this under a debugger like gdb to understand wtf is going on with this world crash event.

CHARLIE - 2024.9.13.672 - 2024-09-14 23_19_21.log

charlie-sans commented 4 days ago

i just want to peek into memory at that one address and see what the contents of it is right at the crash. maybe that might give something to this.

Nytra commented 4 days ago

It seems to be that an exception disposing the world can cause things to not be cleaned up fully in that world. In all log files in this issue there is also an immediate prior exception decoding a sync message. So somehow when this happens the world is not able to be disposed properly.

Frooxius commented 4 days ago

If it's in the log like that, then the exception was caught and handled and shouldn't prevent the disposal.

The ones you mention are pretty common when the world does get cleaned up.

Without specific logs it's difficult to determine that though, but the disposal process does catch a lot of the possible exceptions just to prevent them from blocking the cleanup.

It's possible that whatever exception is causing this actually doesn't even show up in the log - if it's an exception at all.

I'm inclined to just leave this issue be though for now . It's rare when it happens and the unity integration will be reworked as part of the performance optimizations, which will probsbly end up in scraping whatever code causes this issue anyway.