AcademySoftwareFoundation / AcademySoftwareFoundation/openvdb

[BUG] ThreadSanitizer issue in meshToVolume conversion

Open
#1,601 3 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.