View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0014313 | VTK | (No Category) | public | 2013-10-02 09:18 | 2016-08-12 09:55 | ||||
Reporter | Kevin Funk | ||||||||
Assigned To | Kitware Robot | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | closed | Resolution | moved | ||||||
Platform | OS | OS Version | |||||||
Product Version | 5.10.1 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0014313: Invalid reads/write when using vtkSpanTreeLayoutStrategy | ||||||||
Description | Actually I tried to reproduce a different bug while running my application through valgrind, but then found this invalid read/write, which looks like a bug inside VTK. I'm using a vtkGraphLayoutView with SetLayoutStrategyToSpanTree applied -- unfortunately there is no easy to write a MWE which can reproduce the problem, so I'm just posting the valgrind output here for reference. Inspection of the (relevant) values inside vtkLabelHierarchy::ComputeHierarchy() when the invalid read occurs: - this->Points->GetNumberOfPoints(): 1 - Id: 1 - numCoincidentPoints: 45 => line 2044: "this->Points->GetPoint( Id, point );" leads to invalid read. Valgrind output: ==7785== Invalid read of size 4 ==7785== at 0x12B942BE: vtkDataArrayTemplate<float>::GetTuple(long long, double*) (vtkDataArrayTemplate.txx:614) ==7785== by 0x13A0327E: vtkPoints::GetPoint(long long, double*) (vtkPoints.h:122) ==7785== by 0x13AE1330: vtkLabelHierarchy::ComputeHierarchy() (vtkLabelHierarchy.cxx:2045) ==7785== by 0x13B697E0: vtkPointSetToLabelHierarchy::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkPointSetToLabelHierarchy.cxx:298) ==7785== by 0x13AF6BE2: vtkLabelHierarchyAlgorithm::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkLabelHierarchyAlgorithm.cxx:96) ==7785== by 0x132D990B: vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) (vtkExecutive.cxx:747) ==7785== by 0x132C1F68: vtkDemandDrivenPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkDemandDrivenPipeline.cxx:507) ==7785== by 0x132C1638: vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkDemandDrivenPipeline.cxx:279) ==7785== by 0x134F4E13: vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkStreamingDemandDrivenPipeline.cxx:276) ==7785== by 0x132D9482: vtkExecutive::ForwardUpstream(vtkInformation*) (vtkExecutive.cxx:646) ==7785== by 0x132C15A7: vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkDemandDrivenPipeline.cxx:265) ==7785== by 0x134F4E13: vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkStreamingDemandDrivenPipeline.cxx:276) ==7785== Address 0x105981ac is 0 bytes after a block of size 12 alloc'd ==7785== at 0x4C2A2DB: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==7785== by 0x12B93123: vtkDataArrayTemplate<float>::Allocate(long long, long long) (vtkDataArrayTemplate.txx:139) ==7785== by 0x12B94AEF: vtkDataArrayTemplate<float>::SetNumberOfValues(long long) (vtkDataArrayTemplate.txx:850) ==7785== by 0x12B9339B: vtkDataArrayTemplate<float>::SetNumberOfTuples(long long) (vtkDataArrayTemplate.txx:406) ==7785== by 0x12C4B53D: vtkPoints::SetNumberOfPoints(long long) (vtkPoints.h:187) ==7785== by 0x1431993A: vtkGraphLayout::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkGraphLayout.cxx:264) ==7785== by 0x132F8109: vtkGraphAlgorithm::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkGraphAlgorithm.cxx:60) ==7785== by 0x132D990B: vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) (vtkExecutive.cxx:747) ==7785== by 0x132C1F68: vtkDemandDrivenPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkDemandDrivenPipeline.cxx:507) ==7785== by 0x132C1638: vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkDemandDrivenPipeline.cxx:279) ==7785== by 0x134F4E13: vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkStreamingDemandDrivenPipeline.cxx:276) ==7785== by 0x132D9482: vtkExecutive::ForwardUpstream(vtkInformation*) (vtkExecutive.cxx:646) ==7785== ==7785== Invalid write of size 4 ==7785== at 0x12B9445B: vtkDataArrayTemplate<float>::SetTuple(long long, double const*) (vtkDataArrayTemplate.txx:648) ==7785== by 0x1324C7A1: vtkPoints::SetPoint(long long, double, double, double) (vtkPoints.h:196) ==7785== by 0x13AE13CB: vtkLabelHierarchy::ComputeHierarchy() (vtkLabelHierarchy.cxx:2053) ==7785== by 0x13B697E0: vtkPointSetToLabelHierarchy::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkPointSetToLabelHierarchy.cxx:298) ==7785== by 0x13AF6BE2: vtkLabelHierarchyAlgorithm::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkLabelHierarchyAlgorithm.cxx:96) ==7785== by 0x132D990B: vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) (vtkExecutive.cxx:747) ==7785== by 0x132C1F68: vtkDemandDrivenPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkDemandDrivenPipeline.cxx:507) ==7785== by 0x132C1638: vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkDemandDrivenPipeline.cxx:279) ==7785== by 0x134F4E13: vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkStreamingDemandDrivenPipeline.cxx:276) ==7785== by 0x132D9482: vtkExecutive::ForwardUpstream(vtkInformation*) (vtkExecutive.cxx:646) ==7785== by 0x132C15A7: vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkDemandDrivenPipeline.cxx:265) ==7785== by 0x134F4E13: vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkStreamingDemandDrivenPipeline.cxx:276) ==7785== Address 0x105981ac is 0 bytes after a block of size 12 alloc'd ==7785== at 0x4C2A2DB: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==7785== by 0x12B93123: vtkDataArrayTemplate<float>::Allocate(long long, long long) (vtkDataArrayTemplate.txx:139) ==7785== by 0x12B94AEF: vtkDataArrayTemplate<float>::SetNumberOfValues(long long) (vtkDataArrayTemplate.txx:850) ==7785== by 0x12B9339B: vtkDataArrayTemplate<float>::SetNumberOfTuples(long long) (vtkDataArrayTemplate.txx:406) ==7785== by 0x12C4B53D: vtkPoints::SetNumberOfPoints(long long) (vtkPoints.h:187) ==7785== by 0x1431993A: vtkGraphLayout::RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkGraphLayout.cxx:264) ==7785== by 0x132F8109: vtkGraphAlgorithm::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkGraphAlgorithm.cxx:60) ==7785== by 0x132D990B: vtkExecutive::CallAlgorithm(vtkInformation*, int, vtkInformationVector**, vtkInformationVector*) (vtkExecutive.cxx:747) ==7785== by 0x132C1F68: vtkDemandDrivenPipeline::ExecuteData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkDemandDrivenPipeline.cxx:507) ==7785== by 0x132C1638: vtkDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkDemandDrivenPipeline.cxx:279) ==7785== by 0x134F4E13: vtkStreamingDemandDrivenPipeline::ProcessRequest(vtkInformation*, vtkInformationVector**, vtkInformationVector*) (vtkStreamingDemandDrivenPipeline.cxx:276) ==7785== by 0x132D9482: vtkExecutive::ForwardUpstream(vtkInformation*) (vtkExecutive.cxx:646) ==7785== | ||||||||
Tags | No tags attached. | ||||||||
Project | TBD | ||||||||
Type | incorrect functionality | ||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0036285) Berk Geveci (administrator) 2016-07-06 16:48 |
Setting to status of bugs that have not been updated in the last year to expired. Please re-open if still important. |
(0037311) Kitware Robot (administrator) 2016-08-12 09:55 |
Resolving issue as `moved`. This issue tracker is no longer used. Further discussion of this issue may take place in the current VTK Issues page linked in the banner at the top of this page. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2013-10-02 09:18 | Kevin Funk | New Issue | |
2016-07-06 16:48 | Berk Geveci | Status | backlog => expired |
2016-07-06 16:48 | Berk Geveci | Note Added: 0036285 | |
2016-08-12 09:55 | Kitware Robot | Note Added: 0037311 | |
2016-08-12 09:55 | Kitware Robot | Status | expired => closed |
2016-08-12 09:55 | Kitware Robot | Resolution | open => moved |
2016-08-12 09:55 | Kitware Robot | Assigned To | => Kitware Robot |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |