| View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0013225 | ParaView | (No Category) | public | 2012-06-07 11:47 | 2013-01-10 20:16 | ||||
| Reporter | Lawrence | ||||||||
| Assigned To | Sebastien Jourdain | ||||||||
| Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
| Status | closed | Resolution | fixed | ||||||
| Platform | OS | OS Version | |||||||
| Product Version | 3.14.1 | ||||||||
| Target Version | Fixed in Version | ||||||||
| Summary | 0013225: Crash Bug/Bad Memory Read in pqQueryDialog (vtkDataObjectTypes::GetClassNameFromTypeId also partly to blame) | ||||||||
| Description | When pqQueryDialog::populateSelectionType() is used before the pipeline has been updated a bad memory read occurs in VTK's vtkDataObjectTypes::GetClassNameFromTypeId because typeId is -1 Steps to reproduce: Create a Wavelet source. Do not click Apply. Select Menu>Find Data. In our Win7 debug build and official 3.14.1 release this causes a crash due to bad memory access. The cause of the crash is that vtkPVDataInformation is not fully initialized (DataSetType is still -1). which leads to a later bad access: pqQueryDialog::populateSelectionType() if(dataInfo->DataSetTypeIsA("vtkGraph")) vtkPVDataInformation::DataSetTypeIsA(const char* type) if (strcmp(type, this->GetDataSetTypeAsString()) == 0) which calls GetDataSetTypeAsString with -1 vtkDataObjectTypes::GetClassNameFromTypeId(int type) There are two bugs here. First, that vtkDataObjectTypes::GetClassNameFromTypeId's bounds check is incomplete: if (type < numClasses) should be if (type >=0 && type < numClasses) to be more robust and prevent a bad memory access in the subsequent line- if (type < numClasses) { return vtkDataObjectTypesStrings[type]; } else { return "UnknownClass"; } Secondly, on the Paraview side, the dialog should have been more robust when the source info is not yet available. Best, Lawrence | ||||||||
| Tags | No tags attached. | ||||||||
| Project | TBD | ||||||||
| Topic Name | 13225_make_vtkPVDataInformation_more_robust | ||||||||
| Type | crash | ||||||||
| Attached Files | |||||||||
| Relationships | ||||||
|
||||||
| Relationships |
| Notes | |
|
(0029805) Sebastien Jourdain (manager) 2012-11-28 09:21 |
Merged to master |
|
(0030066) Alan Scott (manager) 2013-01-10 20:16 |
Tested Windows, local server, master. |
| Notes |
| Issue History | |||
| Date Modified | Username | Field | Change |
| 2012-06-07 11:47 | Lawrence | New Issue | |
| 2012-06-20 10:58 | Utkarsh Ayachit | Relationship added | related to 0013150 |
| 2012-11-27 15:02 | Sebastien Jourdain | Topic Name | => 13225_make_vtkPVDataInformation_more_robust |
| 2012-11-27 15:02 | Sebastien Jourdain | Status | backlog => gatekeeper review |
| 2012-11-27 15:02 | Sebastien Jourdain | Resolution | open => fixed |
| 2012-11-27 15:02 | Sebastien Jourdain | Assigned To | => Sebastien Jourdain |
| 2012-11-28 09:21 | Sebastien Jourdain | Status | gatekeeper review => customer review |
| 2012-11-28 09:21 | Sebastien Jourdain | Note Added: 0029805 | |
| 2013-01-10 20:16 | Alan Scott | Note Added: 0030066 | |
| 2013-01-10 20:16 | Alan Scott | Status | customer review => closed |
| Issue History |
| Copyright © 2000 - 2018 MantisBT Team |