Headless world crash: Exception encoding element of type FrooxEngine.Sync FrooxEngine.Sync`1[System.Action`2[FrooxEngine.IButton,FrooxEngine.ButtonEventData]]: #2104
Not sure how it is reproducible.
Add Button component to object.
Just wait.
Expected behavior
World is not crashed.
Screenshots
No response
Resonite Version Number
2024.5.3.1229
What Platforms does this occur on?
Linux
What headset if any do you use?
No response
Log Files
Part of the headless log:
System.Exception: Exception encoding element of type FrooxEngine.Sync`1[System.Action`2[FrooxEngine.IButton,FrooxEngine.ButtonEventData]]:
<i>null</i> ---> System.NullReferenceException: Object reference not set to an instance of an object
at Elements.Core.Coder`1[T].Encode (T value, System.IO.BinaryWriter bw) [0x00000] in <f01405e0af3349b69c08d282ebcc421e>:0
at FrooxEngine.Sync`1[T].InternalEncodeFull (System.IO.BinaryWriter writer, FrooxEngine.BinaryMessageBatch outboundMessage) [0x00006] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.SyncElement.EncodeFull (System.IO.BinaryWriter writer, FrooxEngine.BinaryMessageBatch outboundMessage) [0x0002b] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.ConflictingSyncElement.EncodeFull (System.IO.BinaryWriter writer, FrooxEngine.BinaryMessageBatch outboundMessage) [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.SyncController.EncodeFullBatch (System.Collections.Generic.List`1[T] elements) [0x0008a] in <062a34dee97a4bf991c6d9411114e711>:0
--- End of inner exception stack trace ---
at FrooxEngine.SyncController.EncodeFullBatch (System.Collections.Generic.List`1[T] elements) [0x000bb] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.SyncController.EncodeFullBatch () [0x00069] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.Session.SyncLoop () [0x00412] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.Session.RunThreadLoop (System.Action loop) [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at System.Environment.get_StackTrace () [0x00000] in <de882a77e7c14f8ba5d298093dde82b2>:0
at Elements.Core.UniLog.Error (System.String message, System.Boolean stackTrace) [0x00000] in <f01405e0af3349b69c08d282ebcc421e>:0
at FrooxEngine.Session.RunThreadLoop (System.Action loop) [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.Session.<.ctor>b__77_2 () [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00000] in <de882a77e7c14f8ba5d298093dde82b2>:0
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean >
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserve>
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x00000] in <de882a77e>
at System.Threading.ThreadHelper.ThreadStart () [0x00000] in <de882a77e7c14f8ba5d298093dde82b2>:0
System.Exception: Exception encoding element of type FrooxEngine.Sync`1[System.Action`2[FrooxEngine.IButton,FrooxEngine.ButtonEventData]]:
<i>null</i> ---> System.NullReferenceException: Object reference not set to an instance of an object
at Elements.Core.Coder`1[T].Encode (T value, System.IO.BinaryWriter bw) [0x00000] in <f01405e0af3349b69c08d282ebcc421e>:0
at FrooxEngine.Sync`1[T].InternalEncodeFull (System.IO.BinaryWriter writer, FrooxEngine.BinaryMessageBatch outboundMessage) [0x00006] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.SyncElement.EncodeFull (System.IO.BinaryWriter writer, FrooxEngine.BinaryMessageBatch outboundMessage) [0x0002b] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.ConflictingSyncElement.EncodeFull (System.IO.BinaryWriter writer, FrooxEngine.BinaryMessageBatch outboundMessage) [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.SyncController.EncodeFullBatch (System.Collections.Generic.List`1[T] elements) [0x0008a] in <062a34dee97a4bf991c6d9411114e711>:0
--- End of inner exception stack trace ---
at FrooxEngine.SyncController.EncodeFullBatch (System.Collections.Generic.List`1[T] elements) [0x000bb] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.SyncController.EncodeFullBatch () [0x00069] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.Session.SyncLoop () [0x00412] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.Session.RunThreadLoop (System.Action loop) [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at System.Environment.get_StackTrace () [0x00000] in <de882a77e7c14f8ba5d298093dde82b2>:0
at Elements.Core.UniLog.Error (System.String message, System.Boolean stackTrace) [0x00000] in <f01405e0af3349b69c08d282ebcc421e>:0
at FrooxEngine.Session.RunThreadLoop (System.Action loop) [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.Session.<.ctor>b__77_2 () [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00000] in <de882a77e7c14f8ba5d298093dde82b2>:0
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean >
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserve>
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x00000] in <de882a77e>
at System.Threading.ThreadHelper.ThreadStart () [0x00000] in <de882a77e7c14f8ba5d298093dde82b2>:0
21:44:43.258 Exception when running OnBeforeSaveStart Action: System.Action
System.Exception: Modifications from a non-locking thread are disallowed! Current lock: DataModel
at FrooxEngine.ConnectorManager.ThreadCheck () [0x00026] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.SyncElement.BeginModification (System.Boolean throwOnError) [0x00055] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.SyncField`1[T].InternalSetValue (T& value, System.Boolean sync, System.Boolean change) [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.SyncField`1[T].set_Value (T value) [0x0006e] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.Sync`1[T].set_Value (T value) [0x0000f] in <062a34dee97a4bf991c6d9411114e711>:0
at ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Slots.SetTag.Do (FrooxEngine.ProtoFlux.FrooxEngineContext context) [0x00029] in <3c8a2311925247069a2a0634854907e7>:0
at ProtoFlux.Runtimes.Execution.ActionBreakableFlowNode`1[C].Run (C context) [0x00000] in <73d8ff99d53044acbb81bdc4e997e873>:0
at ProtoFlux.Runtimes.Execution.SyncOperationSequence`1[C].ExecuteSync (C context) [0x00031] in <73d8ff99d53044acbb81bdc4e997e873>:0
at ProtoFlux.Runtimes.Execution.ExecutionRuntime`1[C].ExecuteSequence (ProtoFlux.Core.ISyncOperation operation, C context) [0x00034] in <73d8ff99d53044acbb81bdc4e997e873>:0
at ProtoFlux.Runtimes.Execution.ExecutionRuntime`1[C].Execute (ProtoFlux.Core.ISyncOperation action, ProtoFlux.Runtimes.Execution.ExecutionContext context) [0x00012] in <73d8ff99d53>
at ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Slots.OnSaving+<>c__DisplayClass2_0.<ProxyAdded>b__1 (FrooxEngine.ProtoFlux.FrooxEngineContext c) [0x00000] in <3c8a2311925247069a2>
at FrooxEngine.ProtoFlux.ProtoFluxNodeGroup.ExecuteImmediatelly (ProtoFlux.Core.NodeContextPath path, System.Action`1[T] callback) [0x00035] in <062a34dee97a4bf991c6d9411114e711>:0
at ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Slots.OnSaving+<>c__DisplayClass2_0.<ProxyAdded>b__0 () [0x00000] in <3c8a2311925247069a2a0634854907e7>:0
at FrooxEngine.SaveControl.StartSaving () [0x0001e] in <062a34dee97a4bf991c6d9411114e711>:0
21:44:43.259 Exception when running OnBeforeSaveStart Action: System.Action
System.Exception: Modifications from a non-locking thread are disallowed! Current lock: DataModel
at FrooxEngine.ConnectorManager.ThreadCheck () [0x00026] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.SyncElement.BeginModification (System.Boolean throwOnError) [0x00055] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.SyncPlayback.InternalSetState (System.Nullable`1[T] play, System.Nullable`1[T] loop, System.Nullable`1[T] offset, System.Nullable`1[T] speed, System.Nullable`1[T] max>
at FrooxEngine.SyncPlayback.Resume () [0x00073] in <062a34dee97a4bf991c6d9411114e711>:0
at ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Time.Stopwatch.DoStart (FrooxEngine.ProtoFlux.FrooxEngineContext context) [0x0000d] in <3c8a2311925247069a2a0634854907e7>:0
at ProtoFlux.Runtimes.Execution.SyncOperationSequence`1[C].ExecuteSync (C context) [0x00031] in <73d8ff99d53044acbb81bdc4e997e873>:0
at ProtoFlux.Runtimes.Execution.ExecutionRuntime`1[C].ExecuteSequence (ProtoFlux.Core.ISyncOperation operation, C context) [0x00034] in <73d8ff99d53044acbb81bdc4e997e873>:0
at ProtoFlux.Runtimes.Execution.ExecutionRuntime`1[C].Execute (ProtoFlux.Core.ISyncOperation action, ProtoFlux.Runtimes.Execution.ExecutionContext context) [0x00012] in <73d8ff99d53>
at ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Slots.OnSaving+<>c__DisplayClass2_0.<ProxyAdded>b__1 (FrooxEngine.ProtoFlux.FrooxEngineContext c) [0x00000] in <3c8a2311925247069a2>
at FrooxEngine.ProtoFlux.ProtoFluxNodeGroup.ExecuteImmediatelly (ProtoFlux.Core.NodeContextPath path, System.Action`1[T] callback) [0x00035] in <062a34dee97a4bf991c6d9411114e711>:0
at ProtoFlux.Runtimes.Execution.Nodes.FrooxEngine.Slots.OnSaving+<>c__DisplayClass2_0.<ProxyAdded>b__0 () [0x00000] in <3c8a2311925247069a2a0634854907e7>:0
at FrooxEngine.SaveControl.StartSaving () [0x0001e] in <062a34dee97a4bf991c6d9411114e711>:0
21:44:43.260 Unhandled Exception when updating world: PROTOGENIA [BUILD/CHILL]. State Running, Refresh Stage: RefreshBegin, Init State: Finished, SyncTick 160149, StateVersion: 622>
Dumped world state to:
System.Exception: Session has been disposed
Dumped world state to:
System.Exception: Session has been disposed
at FrooxEngine.Session.StopProcessing () [0x0003c] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.World.RefreshStep () [0x000d7] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.World.Refresh () [0x00073] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.WorldManager.UpdateStep () [0x004a3] in <062a34dee97a4bf991c6d9411114e711>:0
at System.Environment.get_StackTrace () [0x00000] in <de882a77e7c14f8ba5d298093dde82b2>:0
at Elements.Core.UniLog.Error (System.String message, System.Boolean stackTrace) [0x00000] in <f01405e0af3349b69c08d282ebcc421e>:0
at FrooxEngine.WorldManager.UpdateStep () [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.WorldManager.RunUpdateLoop () [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.Engine.UpdateStep () [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.Engine.RunUpdateLoop () [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at FrooxEngine.StandaloneFrooxEngineRunner.UpdateLoop () [0x00000] in <062a34dee97a4bf991c6d9411114e711>:0
at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00000] in <de882a77e7c14f8ba5d298093dde82b2>:0
at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean >
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserve>
at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x00000] in <de882a77e>
at System.Threading.ThreadHelper.ThreadStart () [0x00000] in <de882a77e7c14f8ba5d298093dde82b2>:0
21:44:43.260 World PROTOGENIA [BUILD/CHILL] has crashed! Restarting...
Additional Context
The weird things started to happen when a user just duplicated, then after some time world crashed, but not the headless, while nothing happened. Just 3-4 people watching videos.
Describe the bug?
Headless world crash on desync probably.
To Reproduce
Not sure how it is reproducible. Add Button component to object. Just wait.
Expected behavior
World is not crashed.
Screenshots
No response
Resonite Version Number
2024.5.3.1229
What Platforms does this occur on?
Linux
What headset if any do you use?
No response
Log Files
Part of the headless log:
Additional Context
The weird things started to happen when a user just duplicated, then after some time world crashed, but not the headless, while nothing happened. Just 3-4 people watching videos.
Reporters
cyberfrogg