Visitar URL original
fix(core): delete attributeInTransition when a GPU transition is deleted by mmporong · Pull Request #11086 · visgl/deck.gl · GitHub
Skip to content

fix(core): delete attributeInTransition when a GPU transition is deleted - #11086

Open
mmporong wants to merge 1 commit into
visgl:masterfrom
mmporong:fix-core-delete-attribute-in-transition
Open

mmporong wants to merge 1 commit into
visgl:masterfrom
mmporong:fix-core-delete-attribute-in-transition

Conversation

@mmporong

@mmporong mmporong commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

Follow up of #11068

Background

GPUTransitionBase keeps a clone of the attribute in attributeInTransition, and cloneAttribute() gives that clone its own placeholder buffer. delete() destroys the transition buffers but not the clone, so each deleted transition leaks one buffer, as noted in the #11068 review. The clone holds the transition buffers only as external buffers, so deleting it does not destroy them a second time.

Change List

  • GPUTransitionBase.delete(): delete attributeInTransition
  • Unit tests: remove the "1 Buffers" leak exception
  • Unit tests: drop manual attributeInTransition.delete() workarounds

Verified with vitest --project headless test/modules/core/transitions test/modules/core/lib/attribute and yarn lint. Without the fix, the updated #11068 test fails with "1 Buffers".


Note

Low Risk
Low-risk cleanup ensuring internal transition resources are properly disposed of, with no impact on active transition behavior.

Overview
Disposes attributeInTransition within GPUTransitionBase.delete(), preventing buffer leaks from cloned transition attributes when GPU transitions are cleaned up.

Related unit tests are updated to remove manual attribute deletion workarounds and drop the buffer leak exemption.

Reviewed by Cursor Bugbot for commit 8591131. Bugbot is set up for automated code reviews on this repo. Configure here.

@greptile-apps

greptile-apps Bot commented Nov 11, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge.

Summary

Fixes the buffer leak by deleting attributeInTransition when its GPU transition is deleted.

  • GPU transitions release their cloned attribute when they are deleted.

No actionable issues found. Tests were not run during this review.

Reviews (1) · Last reviewed commit: "fix(core): delete attributeInTransition ..." · Reviewed by Greptile

This branch has not been deployed

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant