IslandzVW / halcyon

InWorldz Halcyon 3d virtual reality world simulator
BSD 3-Clause "New" or "Revised" License
21 stars 26 forks source link

Fixed NRE seen when avatar took enough damage just after crossing... #400

Closed appurist closed 7 years ago

appurist commented 7 years ago

…in damage-enabled region

2017-08-15 01:24:18 [SCENE]: Teleport failed for FirstName LastName
System.AggregateException: One or more errors occurred. --->
AvatarTransitException: Avatar is already in transit
at AvatarTransitController.<TryBeginTransit>d__10.MoveNext() in
AvatarTransitController.cs:line 124
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.Wait()
at System.Threading.Tasks.Task.Wait()
at Scene.RequestTeleportToLocation() in Scene.cs:line 4982
---> (Inner Exception #0) AvatarTransitException: Avatar is already in
transit
at AvatarTransitController.<TryBeginTransit>d__10.MoveNext() in
AvatarTransitController.cs:line 124<---

2017-08-15 01:24:30 [FIREANDFORGET] Call threw an exception
System.NullReferenceException: Object reference not set to an instance
of an object.
at Scene.RequestTeleportToLocation() in Scene.cs:line 4996
at Scene.RequestTeleportLocation() in Scene.cs:line 4775
at Scene.TeleportClientHome() in Scene.cs:line 3473
at CombatModule.KillAvatar() in CombatModule.cs:line 141
at EventManager.TriggerAvatarKill() in EventManager.cs:line 1145
at ScenePresence.<>c__DisplayClass356_0.<HandleDamage>b__0() in
ScenePresence.cs:line 4545
at Util.SmartThreadPoolCallback() in Framework\Util.cs:line 1785
appurist commented 7 years ago

The reason for the damage is not clear; it said the damage was self-inflicted, while flying a plane, so I'm thinking it had to be what the server thought were "collisions" with the plane. This may be because it was evaluating all this during transit, when the sat-upon object was not yet known to the region.