-
Notifications
You must be signed in to change notification settings - Fork 645
Open
Description
Describe the bug
A clear and concise description of what the bug is. What happened, and
what did you expect to happen instead.
OpenImageIO's default thread pool initialization seems to have a data race.
In OpenImageIO 2.4.8 (and it seems to still be the same in upstream main)
thread_pool::thread_pool
-> thread_pool::Impl::Impl
-> thread_pool::Impl::resize
-> thread_pool::Impl::set_thread
-> starts a new thread using the lambda f
-> that lambda references thread_pool::Impl::q before thread_pool::Impl's constructor has finished on the main thread
Full TSAN error with proprietary parts of the stack removed beloe
OpenImageIO version and dependencies
2.4.8
Evidence
- Error messages (paste them here exactly)
- Screenshots (if helpful)
- Example input: If the problem only happens with certain image files, please
attach the smallest image you can make that reproduces the problem.
IF YOU ALREADY HAVE A CODE FIX: There is no need to file a separate issue,
please just go straight to making a pull request.
Metadata
Metadata
Assignees
Labels
No labels