View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
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 | |||||||
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); } | ||||||||
Tags | No tags attached. | ||||||||
Project | TBD | ||||||||
Type | crash | ||||||||
Attached Files | |||||||||
Relationships | ||||||
|
Relationships |
Notes | |
(0034306) Cory Quammen (developer) 2015-03-15 00:39 |
Proposed bug fix posted on gerrit: http://review.source.kitware.com/#/t/5576/ [^] |
(0034326) Cory Quammen (developer) 2015-03-25 11:31 |
Same fix posted to GitLab: https://gitlab.kitware.com/vtk/vtk/merge_requests/36 [^] |
(0034364) Cory Quammen (developer) 2015-04-16 22:05 |
Commit 3461a397a49fc675a39e6a46c628cebe8cbe1fbb Authored by Utkarsh Ayachit 21 days ago Committed by Kitware Robot 21 days ago 2 parents b226675e dac748ae master ... Merge topic '15365_thread_safety' dac748ae BUG 15365: Fixed crash in function called from multiple threads Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: David Gobbi <david.gobbi@gmail.com> Merge-request: !36 |
Notes |
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 |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |