Skip to content

fix static init order in WebControlRelayEvents#1638

Closed
tyleretters wants to merge 1 commit intojuce-framework:masterfrom
circular-ruin:fix/static-identifier-init-order
Closed

fix static init order in WebControlRelayEvents#1638
tyleretters wants to merge 1 commit intojuce-framework:masterfrom
circular-ruin:fix/static-identifier-init-order

Conversation

@tyleretters
Copy link
Copy Markdown

Convert static inline const Identifier members to function-local statics (Meyers singleton pattern) to avoid constructing Identifier objects during C++ static initialization. The Identifier constructor needs StringPool, which may not be initialized when AU bundles are dlopen'd — causing EXC_BAD_INSTRUCTION crashes, particularly under Rosetta x86-64 translation.

Affects WebSliderRelayEvents, WebToggleButtonRelayEvents, and WebComboBoxRelayEvents (14 identifiers total).

Thank you for submitting a pull request.

Please make sure you have read and followed our contribution guidelines (.github/contributing.md in this repository). Your pull request will not be accepted if you have not followed the instructions.

Convert static inline const Identifier members to function-local statics
(Meyers singleton pattern) to avoid constructing Identifier objects during
C++ static initialization. The Identifier constructor needs StringPool,
which may not be initialized when AU bundles are dlopen'd — causing
EXC_BAD_INSTRUCTION crashes, particularly under Rosetta x86-64 translation.

Affects WebSliderRelayEvents, WebToggleButtonRelayEvents, and
WebComboBoxRelayEvents (14 identifiers total).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@tyleretters tyleretters changed the title fix static init order fiasco in WebControlRelayEvents fix static init order in WebControlRelayEvents Mar 22, 2026
@tyleretters tyleretters deleted the fix/static-identifier-init-order branch March 22, 2026 16:08
@tyleretters
Copy link
Copy Markdown
Author

apologies, accidental PR.

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