[
https://issues.apache.org/jira/browse/ARROW-15604?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17488727#comment-17488727
]
Antoine Pitrou commented on ARROW-15604:
----------------------------------------
bq. I don't suppose there is any way to block the shutdown until the eternal
thread pool is idle?
Which shutdown? The problem seems to be (as David diagnosed) that the OT
context storage singleton is being destroyed before the Arrow CPU thread pool
singleton. I don't know how we can change or workaround that.
> [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)