AcademySoftwareFoundation / AcademySoftwareFoundation/openvdb
[BUG] ThreadSanitizer issue in meshToVolume conversion
- Dominant language
- C++
- Stars
- 3.4k
- Forks
- 774
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 34
Description
### Environment
**Operating System:** Ubuntu 22.04
**Version / Commit SHA:** 10.0.1
**Other:** GCC 11 and LLVM 14
### Describe the bug
I've run into a ThreadSanitizer issue in the `meshToVolume()` function. I have reproduced the issue in a [minimal repository](https://github.com/jdumas/onetbb-sanitizer/tree/openvdb-tsan) using GitHub Actions. Please see [this log](https://github.com/jdumas/onetbb-sanitizer/actions/runs/5336054033/jobs/9670169785) for details about the error.
### To Reproduce
Simple head over to [this repository](https://github.com/jdumas/onetbb-sanitizer/tree/openvdb-tsan) and compile the code with [ThreadSanitizer enabled](https://github.com/jdumas/onetbb-sanitizer/blob/9cfc75e5d071fe1183addcb90ed8e812cbff9d66/.github/workflows/continuous.yml#L91-L95) on a Linux machine.
### Expected behavior
No TSan issue :)
Contributor guide
Research direction
Reproduce the report using the linked minimal repository on Linux, following its GitHub Actions workflow and ThreadSanitizer configuration. Then inspect the meshToVolume() conversion path in OpenVDB and identify the reported race; done means the reproduction no longer produces a ThreadSanitizer issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, github-actions, linux, ubuntu
- Domain
- computer-graphics, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100