View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003717 | Slicer4 | Core: Base Code | public | 2014-05-27 14:59 | 2018-03-02 11:06 |
Reporter | jcfr | Assigned To | msmolens | ||
Priority | low | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | |||||
Target Version | Slicer 4.5.0-1 | Fixed in Version | Slicer 4.5.0-1 | ||
Summary | 0003717: Memory leak when scene saving fails | ||||
Description | To reproduce: Then, you get the following leaks: Class "vtkCellData" has 1 instance still around. | ||||
Tags | No tags attached. | ||||
Import 2017-06-07 23:51:09: master 327e4b5f 2015-09-25 10:55:04 Details Diff |
BUG: Fix memory leaks when saving scene fails This commit replaces manual memory management with smart pointers to fix memory leaks in vtkITKImageWriter::Write() when an exception occurs while writing the image. Fixes issue 0003717: To reproduce: -> Create folder ~/test -> Start Slicer -> Download MRHead -> File -> Save Scene -> Click "Change directory for selected files" and select "~/test" -> after selecting the folder and before clicking Save => chmod -w ~/test -> Click Save -> When you get the "Cannot write data file" error, click Yes to say you want to continue despite the problem -> When you get the "Cannot write scene file" error, click Yes to say you ignore these errors and close saving -> Close Slicer (click Exit and discard modification) Then, you get the following leaks: Class "vtkCellData" has 1 instance still around. Class "vtkInformationIntegerVectorValue" has 3 instances still around. Class "vtkInformationVector" has 15 instances still around. Class "vtkPointData" has 1 instance still around. Class "vtkImageFlip" has 1 instance still around. Class "vtkTrivialProducer" has 1 instance still around. Class "vtkMatrix4x4" has 1 instance still around. Class "vtkPoints" has 1 instance still around. Class "vtkInformation" has 21 instances still around. Class "vtkMultiThreader" has 1 instance still around. Class "vtkInformationIntegerPointerValue" has 2 instances still around. Class "vtkIdList" has 1 instance still around. Class "vtkImageExport" has 1 instance still around. Class "vtkDoubleArray" has 1 instance still around. Class "vtkAlgorithmOutput" has 1 instance still around. Class "vtkImageStencilData" has 1 instance still around. Class "vtkInformationIntegerValue" has 26 instances still around. Class "vtkExtentTranslator" has 1 instance still around. Class "vtkImageData" has 1 instance still around. Class "vtkInformationStringValue" has 1 instance still around. Class "vtkInformationExecutivePortVectorValue" has 1 instance still around. Class "vtkShortArray" has 1 instance still around. Class "vtkVoxel" has 1 instance still around. Class "vtkFieldData" has 2 instances still around. Class "vtkInformationDoubleVectorValue" has 2 instances still around. Class "vtkStreamingDemandDrivenPipeline" has 3 instances still around. Class "vtkInformationExecutivePortValue" has 4 instances still around. From: Max Smolens <max.smolens@kitware.com> git-svn-id: http://svn.slicer.org/Slicer4/trunk@24578 3bd1e089-480b-0410-8dfb-8563597acbee |
||
mod - Libs/vtkITK/vtkITKImageWriter.cxx | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-05-27 14:59 | jcfr | New Issue | |
2014-05-27 14:59 | jcfr | Status | new => assigned |
2014-05-27 14:59 | jcfr | Assigned To | => jcfr |
2014-05-27 15:00 | jcfr | Priority | normal => low |
2014-05-27 15:00 | jcfr | Target Version | => Slicer 4.4.0 |
2014-07-29 09:45 | jcfr | Target Version | Slicer 4.4.0 => Slicer 4.5.0-1 |
2015-09-24 14:35 | msmolens | Assigned To | jcfr => msmolens |
2015-09-25 07:31 | msmolens | Note Added: 0013306 | |
2015-09-25 07:31 | msmolens | Status | assigned => resolved |
2015-09-25 07:31 | msmolens | Fixed in Version | => Slicer 4.5.0-1 |
2015-09-25 07:31 | msmolens | Resolution | open => fixed |
2017-06-10 08:51 | msmolens | Changeset attached | => Slicer master 327e4b5f |
2018-03-02 11:06 | jcfr | Status | resolved => closed |