MantisBT - VTK | ||||||||||
View Issue Details | ||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | |||||
0015903 | VTK | (No Category) | public | 2015-12-23 06:24 | 2016-05-13 17:03 | |||||
Reporter | Andrei Terechko | |||||||||
Assigned To | Cory Quammen | |||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | |||||
Status | closed | Resolution | fixed | |||||||
Platform | OS | OS Version | ||||||||
Product Version | 6.3.0 | |||||||||
Target Version | Fixed in Version | 7.1.0 | ||||||||
Project | TBD | |||||||||
Type | incorrect functionality | |||||||||
Summary | 0015903: Race condition in accessing lookup table bwLut from vtkLookupTableMapData() in the TestMedical3 example | |||||||||
Description | ENVIRONMENT Ubuntu 14.04, x86_64 VERSION VTK’s branch master, commit a846baedc8d52120ab308ec4dd8c86c7831fff78 STEPS TO REPRODUCE: $ git clone https://gitlab.kitware.com/vtk/vtk.git [^] $ mkdir build $ cd build $ cmake -DBUILD_EXAMPLES=on ../vtk $ ./bin/MedicalExamplesCxxTests TestMedical3 ExternalData/Testing/Data/headsq/quarter -D ExternalData/Testing -T Testing/Temporary -V ExternalData/Examples/Medical/Cxx/Baseline/TestMedical3.png OBSERVED BEHAVIOR: The test succeeds. However, the software verification tool Pareon Verify (http://pareonverify.com/ [^]) reports concurrent reads and writes to the bwLut lookup table from vtkLookupTableMapData() executed in different threads. The detailed error report from Pareon Verify is attached in vtk.bug.rpt. Such concurrent accesses without synchronization constitute a critical race condition that can lead to program crashes and malfunctioning. EXPECTED BEHAVIOR: Accesses to the bwLut data structure from concurrent threads should be either protected with synchronization or the data structure needs to be duplicated and the algorithm adjusted accordingly. Since the example is intended to illustrate proper and safe use of VTK, the described above race condition can mislead the end users of the software. | |||||||||
Steps To Reproduce | ||||||||||
Additional Information | ||||||||||
Tags | No tags attached. | |||||||||
Relationships |
| |||||||||
Attached Files | ![]() https://www.vtk.org/Bug/file/9986/vtk.bug.rpt | |||||||||
Issue History | ||||||||||
Date Modified | Username | Field | Change | |||||||
2015-12-23 06:24 | Andrei Terechko | New Issue | ||||||||
2015-12-23 06:24 | Andrei Terechko | File Added: vtk.bug.rpt | ||||||||
2016-01-14 13:10 | David Gobbi | Relationship added | related to 0015365 | |||||||
2016-01-14 13:17 | David Gobbi | Note Added: 0035652 | ||||||||
2016-01-15 10:48 | Cory Quammen | Note Added: 0035656 | ||||||||
2016-01-15 22:55 | Cory Quammen | Note Added: 0035658 | ||||||||
2016-01-15 22:57 | Cory Quammen | Assigned To | => Cory Quammen | |||||||
2016-01-15 22:57 | Cory Quammen | Status | backlog => gerrit review | |||||||
2016-05-13 17:03 | Cory Quammen | Note Added: 0035952 | ||||||||
2016-05-13 17:03 | Cory Quammen | Status | gerrit review => closed | |||||||
2016-05-13 17:03 | Cory Quammen | Resolution | open => fixed | |||||||
2016-05-13 17:03 | Cory Quammen | Fixed in Version | => 7.1.0 |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|