View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0013143 | VTK | (No Category) | public | 2012-05-01 22:04 | 2015-08-28 14:48 | ||||
Reporter | Gopalakrishna Palem | ||||||||
Assigned To | T.J. Corona | ||||||||
Priority | high | Severity | minor | Reproducibility | have not tried | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0013143: crash due to vtkDataArrayTemplateLookup::SortedArray incorrect state because of vtkDataArrayTemplate<T>::SetVariantValue() | ||||||||
Description | The method vtkDataArrayTemplate<T>::SetVariantValue() is missing the DataElementChanged() method call, leaving its Lookup variable Sorted array in incorrect state. This is causing a crash(access violation). There are actually two issues here: 1. vtkDataArrayTemplate<T>::SetVariantValue() changes the value, but does not update the lookup sorted array. A call to DataElementChanged() should be able to take care of it. 2. But, the vtkDataArrayTemplate<T>::DataElementChanged() does not take the updates for SortedArray() into account. Presently its only taking care of CachedUpdates member. To correct issue 1, please add this below line at about line 907 in Common\vtkDataArrayTemplate.txx file: this->Lookup->Rebuild = true;; The corrected code should look like: if (valid) { this->SetValue(id, toInsert); this->Lookup->Rebuild = true; } Also, If DataElementChanged() can be updated to include the SortedArray() updations into account, then vtkDataArrayTemplate<T>::SetVariantValue() can as well use the DataElementChanged() as below: if (valid) { this->SetValue(id, toInsert); DataElementChanged(id); } | ||||||||
Tags | No tags attached. | ||||||||
Project | TBD | ||||||||
Type | crash | ||||||||
Attached Files | ![]() | ||||||||
Relationships | ||||||
|
Relationships |
Notes | |
(0028563) Gopalakrishna Palem (reporter) 2012-05-01 22:05 |
This is from VTK5.10.0.RC1 |
(0031034) Dave DeMarle (administrator) 2013-06-24 22:18 |
Would you mind submitting: 1) a test case which demonstrates the problem. 2) your updates as a patch under gerrit? For details on how to do so, see http://www.vtk.org/Wiki/VTK/Git/Develop [^] Both will simplify automated testing and reviewing. |
(0035096) T.J. Corona (developer) 2015-08-28 14:48 |
The vtkDataArrayTemplate has been updated to have safe calls to insert variant values, as of the following commit: https://gitlab.kitware.com/vtk/vtk/commit/84b126f964763a556da467e643c5aa8cc650611f [^] |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2012-05-01 22:04 | Gopalakrishna Palem | New Issue | |
2012-05-01 22:04 | Gopalakrishna Palem | File Added: bug.jpg | |
2012-05-01 22:05 | Gopalakrishna Palem | Note Added: 0028563 | |
2013-06-24 22:18 | Dave DeMarle | Note Added: 0031034 | |
2014-10-02 14:16 | Utkarsh Ayachit | Relationship added | related to 0014340 |
2015-08-13 10:44 | T.J. Corona | Assigned To | => T.J. Corona |
2015-08-13 10:44 | T.J. Corona | Description Updated | |
2015-08-28 14:48 | T.J. Corona | Note Added: 0035096 | |
2015-08-28 14:48 | T.J. Corona | Status | backlog => closed |
2015-08-28 14:48 | T.J. Corona | Resolution | open => fixed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |