Skip to content

Conversation

@vidhyav
Copy link
Contributor

@vidhyav vidhyav commented Dec 9, 2025

Summary:
The root cause is that the test creates real Counter objects
that use the global OpenTelemetry meter. When Python shuts
down, the order of destruction between Python objects and the Rust
OpenTelemetry global state can cause a use-after-free or double-free.

The fix should be to mock the inner Rust objects in the tests that don't need
real telemetry,

Reviewed By: amirafzali

Differential Revision: D88752324

Summary:
The root cause is that the test creates real Counter objects
that use the global OpenTelemetry meter. When Python shuts
down, the order of destruction between Python objects and the Rust
OpenTelemetry global state can cause a use-after-free or double-free.

The fix should be to mock the inner Rust objects in the tests that don't need
real telemetry,

Reviewed By: amirafzali

Differential Revision: D88752324
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Meta Open Source bot. label Dec 9, 2025
@meta-codesync
Copy link

meta-codesync bot commented Dec 9, 2025

@vidhyav has exported this pull request. If you are a Meta employee, you can view the originating Diff in D88752324.

@meta-codesync
Copy link

meta-codesync bot commented Dec 10, 2025

This pull request has been merged in 726f020.

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

Labels

CLA Signed This label is managed by the Meta Open Source bot. fb-exported Merged meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants