Skip to content

fix(NT8): guard destroyed prop View in GliderPropControllerSystem - #9419

Draft
eordano wants to merge 1 commit into
devfrom
chore/clean-glider-prop-nullguard
Draft

fix(NT8): guard destroyed prop View in GliderPropControllerSystem#9419
eordano wants to merge 1 commit into
devfrom
chore/clean-glider-prop-nullguard

Conversation

@eordano

@eordano eordano commented Jul 17, 2026

Copy link
Copy Markdown
Member

UNITY-EXPLORER-NT8 (824 evts/2 users): EcsSystemException [GliderPropControllerSystem]. The glider prop View is parented to the avatar transform; when the avatar GameObject is torn down by Unity, the child View is destroyed while the ECS GliderProp component still references it. CleanUpDestroyedAvatarsProp then dereferences the destroyed View (PrepareForNextActivation / .gameObject), throwing out of Update. Early-return on Unity-null View (overloaded ==), matching the codebase's SafeDestroy/null-guard idiom. Unverified (no Unity build).

fixes #8064


Supersedes #9405: moved from the fork into the org repo so CI workflows receive repository secrets (fork PRs do not).

UNITY-EXPLORER-NT8 (824 evts/2 users): EcsSystemException [GliderPropControllerSystem].
The glider prop View is parented to the avatar transform; when the avatar
GameObject is torn down by Unity, the child View is destroyed while the ECS
GliderProp component still references it. CleanUpDestroyedAvatarsProp then
dereferences the destroyed View (PrepareForNextActivation / .gameObject),
throwing out of Update. Early-return on Unity-null View (overloaded ==), matching
the codebase's SafeDestroy/null-guard idiom. Unverified (no Unity build).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>



Production evidence (decentraland Sentry, archive snapshot 2026-07-17):
- UNITY-EXPLORER-NT8: 39 events / 1 users, last seen 2026-07-06
@eordano
eordano requested review from a team as code owners July 17, 2026 13:35
@github-actions
github-actions Bot requested a review from anicalbano July 17, 2026 13:35
@decentraland-bot decentraland-bot added the ext-contribution Identifies a contribution which was not initiated by a Unity Developer label Jul 17, 2026
@github-actions

github-actions Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

badge

Build skipped — no changes detected under Explorer/.

@github-actions

Copy link
Copy Markdown
Contributor

Slack notification sent to #explorer-ext-contributions for external review.
To re-send, delete this comment and re-add the ext-contribution label.

@NickKhalow NickKhalow left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be better to enforce the invariant at the type level rather than comments in the long term perspective. i.e. struct GliderProp should explicitly hold weak reference implying that GliderProp doesn't own the resource and the resource can be destroyed by external code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ext-contribution Identifies a contribution which was not initiated by a Unity Developer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DCL.Diagnostics.EcsSystemException: [GliderPropControllerSystem]

3 participants