decentraland / decentraland/unity-explorer
System.Exception: UnexpectedException: Unhandled exception on Changing Realm attempt 3/3: System.InvalidOperationException: RealmData has not been configured
- Dominant language
- C#
- Stars
- 23
- Forks
- 17
- Avg merge
- 2d 16h
- Merged PRs (30d)
- 101
Description
Sentry Issue: [UNITY-EXPLORER-PX0](https://decentraland.sentry.io/issues/7706640997/)
```
System.Exception: UnexpectedException: Unhandled exception on Changing Realm attempt 3/3: System.InvalidOperationException: RealmData has not been configured
at ECS.RealmData.Validate () [0x00000] in C:/workspace/workspace/p/Explorer/Assets/DCL/NetworkDefinitions/RealmData.cs:177
at ECS.RealmData.get_ScenesAreFixed () [0x00000] in C:/workspace/workspace/p/Explorer/Assets/DCL/NetworkDefinitions/RealmData.cs:76
at DCL.RealmNavigation.TeleportOperations.PrewarmRoadAssetPoolsTeleportOperation.InternalExecuteAsync (DCL.RealmNavigation.TeleportOperations.TeleportParams teleportParams, System.Threading.CancellationToken ct) [0x00000] in C:/workspace/workspace/p/Explorer/Assets/DCL/RealmNavigation/TeleportOperations/PrewarmRoadAssetPoolsTeleportOperation.cs:21
at DCL.RealmNavigation.LoadingOperation.LoadingOperationBase`1[TParams].ExecuteAsync (TParams args, System.Threading.CancellationToken ct) [0x00000] in C:/workspace/workspace/p/Explorer/Assets/DCL/RealmNavigation/LoadingOperation/LoadingOperationBase.cs:22
at DCL.RealmNavigation.LoadingOperation.SequentialLoadingOperation`1[TParams].ExecuteAsync (System.String processName, System.Int32 attemptsCount, TParams args, System.Threading.CancellationToken ct) [0x00000] in C:/workspace/workspace/p/Explorer/Assets/DCL/RealmNavigation/LoadingOperation/SequentialLoadingOperation.cs:54
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`2[TStateMachine,T].Run () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/StateMachineRunner.cs:313
at System.Action`1[T].Invoke (T obj) [0x00000] in <00000000000000000000000000000000>:1
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`2[TStateMachine,T].SetResult (T result) [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/StateMachineRunner.cs:328
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTaskMethodBuilder`1[T].SetResult (T result) [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/AsyncUniTaskMethodBuilder.cs:201
at DCL.Utilities.Extensions.UniTaskExtensions.SuppressToResultAsync (Cysharp.Threading.Tasks.UniTask coreOp, System.Nullable`1[T] reportData, System.Func`2[T,TResult] exceptionToResult) [0x00000] in C:/workspace/workspace/p/Explorer/Assets/DCL/Infrastructure/Utility/Extensions/UniTaskExtensions.cs:36
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`2[TStateMachine,T].Run () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/StateMachineRunner.cs:313
at System.Action`1[T].Invoke (T obj) [0x00000] in <00000000000000000000000000000000>:1
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`1[TStateMachine].SetResult () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/StateMachineRunner.cs:204
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTaskMethodBuilder.SetResult () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/AsyncUniTaskMethodBuilder.cs:70
at DCL.RealmNavigation.TeleportOperations.LoadLandscapeTeleportOperation.InternalExecuteAsync (DCL.RealmNavigation.TeleportOperations.TeleportParams teleportParams, System.Threading.CancellationToken ct) [0x00000] in C:/workspace/workspace/p/Explorer/Assets/DCL/RealmNavigation/TeleportOperations/LoadLandscapeTeleportOperation.cs:37
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`1[TStateMachine].Run () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/StateMachineRunner.cs:189
at System.Action`1[T].Invoke (T obj) [0x00000] in <00000000000000000000000000000000>:1
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`2[TStateMachine,T].SetResult (T result) [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/StateMachineRunner.cs:328
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTaskMethodBuilder`1[T].SetResult (T result) [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/AsyncUniTaskMethodBuilder.cs:201
at Global.Dynamic.Landscapes.Landscape.LoadTerrainAsync (DCL.Utilities.AsyncLoadProcessReport landscapeLoadReport, System.Threading.CancellationToken ct) [0x00000] in C:/workspace/workspace/p/Explorer/Assets/DCL/Infrastructure/Global/Dynamic/Landscapes/Landscape.cs:82
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`2[TStateMachine,T].Run () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/StateMachineRunner.cs:313
at System.Action`1[T].Invoke (T obj) [0x00000] in <00000000000000000000000000000000>:1
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`1[TStateMachine].SetResult () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/StateMachineRunner.cs:204
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTaskMethodBuilder.SetResult () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/AsyncUniTaskMethodBuilder.cs:70
at DCL.Landscape.TerrainGenerator.ShowAsync (DCL.Utilities.AsyncLoadProcessReport postRealmLoadReport, System.Threading.CancellationToken ct) [0x00000] in C:/workspace/workspace/p/Explorer/Assets/DCL/Landscape/TerrainGenerator.cs:124
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`1[TStateMachine].Run () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/StateMachineRunner.cs:189
at System.Action`1[T].Invoke (T obj) [0x00000] in <00000000000000000000000000000000>:1
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`1[TStateMachine].SetResult () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/StateMachineRunner.cs:204
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTaskMethodBuilder.SetResult () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/AsyncUniTaskMethodBuilder.cs:70
at DCL.Landscape.TreeData.InstantiateAsync (System.Threading.CancellationToken ct) [0x00000] in C:/workspace/workspace/p/Explorer/Assets/DCL/Landscape/TreeData.cs:201
at Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`1[TStateMachine].Run () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/CompilerServices/StateMachineRunner.cs:189
at System.Action`1[T].Invoke (T obj) [0x00000] in <00000000000000000000000000000000>:1
at Cysharp.Threading.Tasks.UniTask+NextFramePromise.MoveNext () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/UniTask.Delay.cs:408
at Cysharp.Threading.Tasks.Internal.PlayerLoopRunner.RunCore () [0x00000] in ./Library/PackageCache/com.cysharp.unitask@d648f5692cf2/Runtime/Internal/PlayerLoopRunner.cs:203
```
This issue was automatically created by Sentry via [Explorer Alpha Github Issue Creation](https://sentry.io/organizations/decentraland/monitors/alerts/3130340/)
Contributor guide
Research direction
Start with Assets/DCL/NetworkDefinitions/RealmData.cs, especially Validate and ScenesAreFixed, then trace the changing-realm path through PrewarmRoadAssetPoolsTeleportOperation.cs and LoadingOperationBase.cs. Reproduce the realm change and determine why RealmData is unconfigured before the prewarm operation; done means the reported exception no longer occurs during a successful realm change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, unity
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100