[
https://issues.apache.org/jira/browse/ARROW-15604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17488321#comment-17488321
]
Antoine Pitrou commented on ARROW-15604:
----------------------------------------
The "atexit hook" I mentioned simply seems to be a standard C++ exit hook that
destroys global/static variables. Here the static singleton that's stored in
{{RuntimeContext::GetStorage}}.
> [C++][CI] Sporadic ThreadSanitizer failure with OpenTracing
> -----------------------------------------------------------
>
> Key: ARROW-15604
> URL: https://issues.apache.org/jira/browse/ARROW-15604
> Project: Apache Arrow
> Issue Type: Bug
> Components: C++, Continuous Integration
> Reporter: Antoine Pitrou
> Priority: Major
>
> The error is a heap-use-after-free and involves an OpenTracing structure that
> was deleted by an atexit hook.
> https://github.com/ursacomputing/crossbow/runs/5097362072?check_suite_focus=true#step:5:4843
> Summary:
> {code}
> Atomic write of size 4 at 0x7b08000136a8 by thread T2:
> [...]
> #10
> opentelemetry::v1::context::RuntimeContext::GetRuntimeContextStorage()
> /build/cpp/opentelemetry_ep-install/include/opentelemetry/context/runtime_context.h:156:12
> (libarrow.so.800+0x1e62ef7)
> #11
> opentelemetry::v1::context::RuntimeContext::Detach(opentelemetry::v1::context::Token&)
>
> /build/cpp/opentelemetry_ep-install/include/opentelemetry/context/runtime_context.h:97:54
> (libarrow.so.800+0x1e70178)
> #12 opentelemetry::v1::context::Token::~Token()
> /build/cpp/opentelemetry_ep-install/include/opentelemetry/context/runtime_context.h:168:3
> (libarrow.so.800+0x1e7012f)
> [...]
> {code}
> {code}
> Previous write of size 8 at 0x7b08000136a8 by main thread:
> #0 operator delete(void*) <null> (arrow-dataset-scanner-test+0x16a69e)
> [...]
> #7
> opentelemetry::v1::nostd::shared_ptr<opentelemetry::v1::context::RuntimeContextStorage>::~shared_ptr()
>
> /build/cpp/opentelemetry_ep-install/include/opentelemetry/nostd/shared_ptr.h:98:30
> (libarrow.so.800+0x1e62fb3)
> #8 cxa_at_exit_wrapper(void*) <null> (arrow-dataset-scanner-test+0x11866f)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)