MantisBT - VTK | ||||||||||
View Issue Details | ||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | |||||
0015365 | VTK | (No Category) | public | 2015-03-09 13:49 | 2016-01-14 13:10 | |||||
Reporter | David Gobbi | |||||||||
Assigned To | Cory Quammen | |||||||||
Priority | high | Severity | crash | Reproducibility | have not tried | |||||
Status | closed | Resolution | fixed | |||||||
Platform | OS | OS Version | ||||||||
Product Version | 6.2.0 | |||||||||
Target Version | Fixed in Version | 6.2.1 | ||||||||
Project | TBD | |||||||||
Type | crash | |||||||||
Summary | 0015365: Crash in vtkLookupTableMapData if called from multiple threads | |||||||||
Description | This morning I saw a crash in the following recently-added vtkLookupTable code, when using the lookup table via vtkImageMapToColors on a multi-CPU workstation. By adding print statements, I saw that vtkLookupTableMapData() was being called from multiple threads, which were simultaneously calling the Resize() function. It looks like a mutex will be needed in order to make the code thread-safe. // Resize the internal table to hold the special colors at the // end. When this function is called repeatedly with the same size // lookup table, memory reallocation will be done only one the first // call if at all. vtkUnsignedCharArray* lookupTable = self->GetTable(); vtkIdType numberOfColors = lookupTable->GetNumberOfTuples(); vtkIdType neededSize = (numberOfColors + vtkLookupTable::NUMBER_OF_SPECIAL_COLORS) * lookupTable->GetNumberOfComponents(); if (lookupTable->GetSize() < neededSize) { lookupTable->Resize(numberOfColors + vtkLookupTable::NUMBER_OF_SPECIAL_COLORS); } | |||||||||
Steps To Reproduce | ||||||||||
Additional Information | ||||||||||
Tags | No tags attached. | |||||||||
Relationships |
| |||||||||
Attached Files | ||||||||||
Issue History | ||||||||||
Date Modified | Username | Field | Change | |||||||
2015-03-09 13:49 | David Gobbi | New Issue | ||||||||
2015-03-09 13:49 | David Gobbi | Assigned To | => Cory Quammen | |||||||
2015-03-13 09:20 | Cory Quammen | Priority | normal => high | |||||||
2015-03-13 09:20 | Cory Quammen | Severity | minor => crash | |||||||
2015-03-15 00:39 | Cory Quammen | Note Added: 0034306 | ||||||||
2015-03-15 00:39 | Cory Quammen | Status | backlog => active development | |||||||
2015-03-16 14:32 | Cory Quammen | Status | active development => gerrit review | |||||||
2015-03-25 11:31 | Cory Quammen | Note Added: 0034326 | ||||||||
2015-04-16 22:05 | Cory Quammen | Note Added: 0034364 | ||||||||
2015-04-16 22:05 | Cory Quammen | Status | gerrit review => closed | |||||||
2015-04-16 22:05 | Cory Quammen | Resolution | open => fixed | |||||||
2015-04-16 22:05 | Cory Quammen | Fixed in Version | => 6.2.1 | |||||||
2016-01-14 13:10 | David Gobbi | Relationship added | related to 0015903 |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|