Skip to content

Conversation

@bneradt
Copy link
Contributor

@bneradt bneradt commented Jan 9, 2026

PR #12777 introduced a leaky singleton pattern for DbgCtl to fix use-after-free crashes during shutdown. However, removing the _rm_reference() method broke ABI compatibility with existing plugins that were compiled against the old header, where the destructor called this method. This commit restores _rm_reference() as a no-op stub, allowing old plugins to load successfully while maintaining the leaky singleton behavior.

@bneradt bneradt added this to the 10.2.0 milestone Jan 9, 2026
@bneradt bneradt self-assigned this Jan 9, 2026
@bneradt bneradt added the Logging label Jan 9, 2026
Copy link
Contributor

@cmcfarlen cmcfarlen left a comment

Choose a reason for hiding this comment

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

Mind putting the word deprecated in the comment? This might make it easier to find when we do cleanup later.

PR apache#12777 introduced a leaky singleton pattern for DbgCtl to fix
use-after-free crashes during shutdown. However, removing the
_rm_reference() method broke ABI compatibility with existing plugins
that were compiled against the old header, where the destructor called
this method. This commit restores _rm_reference() as a no-op stub,
allowing old plugins to load successfully while maintaining the leaky
singleton behavior.
@bneradt bneradt force-pushed the fix_dbg_ctl_symbol_incompatibility branch from 19f43a9 to 0862ae0 Compare January 12, 2026 17:53
@bneradt
Copy link
Contributor Author

bneradt commented Jan 12, 2026

Mind putting the word deprecated in the comment? This might make it easier to find when we do cleanup later.

Good idea.

@bneradt bneradt merged commit fac9502 into apache:master Jan 13, 2026
15 checks passed
@bneradt bneradt deleted the fix_dbg_ctl_symbol_incompatibility branch January 13, 2026 03:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants