25
I Use This!
Activity Not Available

News

Analyzed about 1 month ago. based on code collected 2 months ago.
Posted over 9 years ago by jcfr
BUG: Fix memory leak in qMRMLCheckableNodeComboBox This commit fixes the error(s) reported below by valgrind memcheck tool. Valgrind was used on Ubuntu 14.04 against a Debug build of Slicer. It was exected doing the following: (1) Start a terminal ... [More] with the appropriate environment: ./Slicer --gnome-terminal (2) Start Slicer using valgrind: valgrind --log-file=2015-07-16-Slicer-memcheck.txt --tool=memcheck --leak-check=yes ./bin/SlicerApp-real --disable-python --disable-cli-modules (3) Exit Slicer and inspect valgrind log file Valgrind error: ==29339== 474 (32 direct, 442 indirect) bytes in 1 blocks are definitely lost in loss record 2,158 of 2,448 ==29339== at 0x4C2B0E0: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==29339== by 0x5E1AA09: qMRMLCheckableNodeComboBoxPrivate::init(QAbstractItemModel*) (qMRMLCheckableNodeComboBox.cxx:63) ==29339== by 0x5E5E445: qMRMLNodeComboBox::qMRMLNodeComboBox(qMRMLNodeComboBoxPrivate*, QWidget*) (qMRMLNodeComboBox.cxx:399) ==29339== by 0x5E1AB88: qMRMLCheckableNodeComboBox::qMRMLCheckableNodeComboBox(QWidget*) (qMRMLCheckableNodeComboBox.cxx:89) ==29339== by 0x5E2E712: qMRMLDisplayNodeViewComboBox::qMRMLDisplayNodeViewComboBox(QWidget*) (qMRMLDisplayNodeViewComboBox.cxx:74) ==29339== by 0x1046D9FDC: Ui_qSlicerMarkupsModule::setupUi(qSlicerWidget*) (ui_qSlicerMarkupsModule.h:472) ==29339== by 0x1046C4016: qSlicerMarkupsModuleWidgetPrivate::setupUi(qSlicerWidget*) (qSlicerMarkupsModuleWidget.cxx:135) ==29339== by 0x1046C6B55: qSlicerMarkupsModuleWidget::setup() (qSlicerMarkupsModuleWidget.cxx:464) ==29339== by 0x8E819EA: qSlicerAbstractModuleRepresentation::setModule(qSlicerAbstractCoreModule*) (qSlicerAbstractModuleRepresentation.cxx:82) ==29339== by 0x8E714A2: qSlicerAbstractCoreModule::createNewWidgetRepresentation() (qSlicerAbstractCoreModule.cxx:258) ==29339== by 0x8E7133B: qSlicerAbstractCoreModule::widgetRepresentation() (qSlicerAbstractCoreModule.cxx:226) ==29339== by 0x1046C224A: qSlicerMarkupsModule::setup() (qSlicerMarkupsModule.cxx:153) [Less]
Posted over 9 years ago by jcfr
BUG: Fix memory leak in qMRMLThreeDView removing unused code This commit removes code most likely inadvertently added during the refactoring done in r17602 (ENH: Add qMRMLThreeDWidget and qMRMLThreeDViewControllerWidget) This commit fixes the ... [More] error(s) reported below by valgrind memcheck tool. Valgrind was used on Ubuntu 14.04 against a Debug build of Slicer. It was exected doing the following: (1) Start a terminal with the appropriate environment: ./Slicer --gnome-terminal (2) Start Slicer using valgrind: valgrind --log-file=2015-07-16-Slicer-memcheck.txt --tool=memcheck --leak-check=yes ./bin/SlicerApp-real --disable-python --disable-cli-modules (3) Exit Slicer and inspect valgrind log file Valgrind error: ==29339== 4,757 (48 direct, 4,709 indirect) bytes in 1 blocks are definitely lost in loss record 2,402 of 2,448 ==29339== at 0x4C2B0E0: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==29339== by 0x5EAD8BC: qMRMLThreeDViewPrivate::init() (qMRMLThreeDView.cxx:80) ==29339== by 0x5EAE37C: qMRMLThreeDView::qMRMLThreeDView(QWidget*) (qMRMLThreeDView.cxx:227) ==29339== by 0x5EB59C6: qMRMLThreeDWidgetPrivate::init() (qMRMLThreeDWidget.cxx:84) ==29339== by 0x5EB5B76: qMRMLThreeDWidget::qMRMLThreeDWidget(QWidget*) (qMRMLThreeDWidget.cxx:102) ==29339== by 0x5E3E3C6: qMRMLLayoutThreeDViewFactory::createViewFromNode(vtkMRMLAbstractViewNode*) (qMRMLLayoutManager.cxx:76) ==29339== by 0x5E46804: qMRMLLayoutViewFactory::onViewNodeAdded(vtkMRMLAbstractViewNode*) (qMRMLLayoutViewFactory.cxx:373) ==29339== by 0x5E46A9A: qMRMLLayoutViewFactory::onSceneModified() (qMRMLLayoutViewFactory.cxx:423) ==29339== by 0x5E45FD2: qMRMLLayoutViewFactory::setMRMLScene(vtkMRMLScene*) (qMRMLLayoutViewFactory.cxx:255) ==29339== by 0x5E41C2A: qMRMLLayoutManager::setMRMLScene(vtkMRMLScene*) (qMRMLLayoutManager.cxx:838) ==29339== by 0x4E57B4D: qSlicerAppMainWindowPrivate::setupUi(QMainWindow*) (qSlicerAppMainWindow.cxx:320) ==29339== by 0x4E56C59: qSlicerAppMainWindowPrivate::init() (qSlicerAppMainWindow.cxx:122) [Less]
Posted over 9 years ago by jcfr
BUG: Fix memory leak in vtkMRMLLayoutNode This commit fixes the error(s) reported below by valgrind memcheck tool. Valgrind was used on Ubuntu 14.04 against a Debug build of Slicer. It was exected doing the following: (1) Start a terminal with the ... [More] appropriate environment: ./Slicer --gnome-terminal (2) Start Slicer using valgrind: valgrind --log-file=2015-07-16-Slicer-memcheck.txt --tool=memcheck --leak-check=yes ./bin/SlicerApp-real --disable-python --disable-cli-modules (3) Exit Slicer and inspect valgrind log file Valgrind error: ==29339== 1,082 bytes in 1 blocks are definitely lost in loss record 2,290 of 2,448 ==29339== at 0x4C2B800: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==29339== by 0xE6E4563: vtkMRMLLayoutNode::SetCurrentLayoutDescription(char const*) (in /home/jcfr/Projects/Slicer-Debug/Slicer-build/bin/libMRMLCore.so) ==29339== by 0xE6E05B0: vtkMRMLLayoutNode::SetAndParseCurrentLayoutDescription(char const*) (vtkMRMLLayoutNode.cxx:285) ==29339== by 0xE6E04D6: vtkMRMLLayoutNode::UpdateCurrentLayoutDescription() (vtkMRMLLayoutNode.cxx:273) ==29339== by 0xE6DFB4C: vtkMRMLLayoutNode::SetViewArrangement(int) (vtkMRMLLayoutNode.cxx:203) ==29339== by 0x5E4212D: qMRMLLayoutManager::setLayout(int) (qMRMLLayoutManager.cxx:903) ==29339== by 0x4E59081: qSlicerAppMainWindowPrivate::readSettings() (qSlicerAppMainWindow.cxx:490) ==29339== by 0x4E56CDE: qSlicerAppMainWindowPrivate::init() (qSlicerAppMainWindow.cxx:127) ==29339== by 0x4E5A98D: qSlicerAppMainWindow::qSlicerAppMainWindow(QWidget*) (qSlicerAppMainWindow.cxx:676) ==29339== by 0x406553: (anonymous namespace)::SlicerAppMain(int, char**) (Main.cxx:184) ==29339== by 0x406D30: main (Main.cxx:254) [Less]
Posted over 9 years ago by jcfr
BUG: Fix memory leak in vtkSlicerApplicationLogic This commit fixes the error(s) reported below by valgrind memcheck tool. Valgrind was used on Ubuntu 14.04 against a Debug build of Slicer. It was exected doing the following: (1) Start a terminal ... [More] with the appropriate environment: ./Slicer --gnome-terminal (2) Start Slicer using valgrind: valgrind --log-file=2015-07-16-Slicer-memcheck.txt --tool=memcheck --leak-check=yes ./bin/SlicerApp-real --disable-python --disable-cli-modules (3) Exit Slicer and inspect valgrind log file Valgrind error: ==29339== 336 bytes in 1 blocks are possibly lost in loss record 2,088 of 2,448 ==29339== at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==29339== by 0x4012E54: _dl_allocate_tls (dl-tls.c:296) ==29339== by 0x1E25BDA0: pthread_create@@GLIBC_2.2.5 (allocatestack.c:589) ==29339== by 0x18D6A33E: itk::MultiThreader::SpawnThread(void* (*)(void*), void*) (itkMultiThreaderPThreads.cxx:186) ==29339== by 0x9259575: vtkSlicerApplicationLogic::CreateProcessingThread() (vtkSlicerApplicationLogic.cxx:354) ==29339== by 0x8E82DC8: qSlicerCoreApplicationPrivate::init() (qSlicerCoreApplication.cxx:255) ==29339== by 0x59272A7: qSlicerApplicationPrivate::init() (qSlicerApplication.cxx:180) ==29339== by 0x5927FDF: qSlicerApplication::qSlicerApplication(int&, char**) (qSlicerApplication.cxx:319) ==29339== by 0x406039: (anonymous namespace)::SlicerAppMain(int, char**) (Main.cxx:125) ==29339== by 0x406D30: main (Main.cxx:254) [Less]
Posted over 9 years ago by jcfr
BUG: Update VTK to include fix for memory leak in vtkSys SystemTools. See Slicer/VTK@4b46455 Author: Jean-Christophe Fillion-Robin Date: Thu Jul 16 14:54:10 2015 -0400 KWSys-SystemTools: Fix memory leak in DetectFileType A more ... [More] elaborated patch including update of the test case has been pushed upstream: http://review.source.kitware.com/#/c/20003 This commit fixes the leak found using valgrind memcheck tool: ==29339== 512 bytes in 2 blocks are definitely lost in loss record 2,179 of 2,448 ==29339== at 0x4C2B800: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==29339== by 0x28396AB8: vtksys::SystemTools::DetectFileType(char const*, unsigned long, double) (SystemTools.cxx:4142) ==29339== by 0x1018F9229: vtkSlicerColorLogic::FindColorFiles(std::vector > const&) (vtkSlicerColorLogic.cxx:177) ==29339== by 0x1018F86EA: vtkSlicerColorLogic::FindDefaultColorFiles() (vtkSlicerColorLogic.cxx:100) ==29339== by 0x9844613: vtkMRMLColorLogic::AddDefaultFileNodes() (vtkMRMLColorLogic.cxx:1016) ==29339== by 0x983DAF6: vtkMRMLColorLogic::AddDefaultColorNodes() (vtkMRMLColorLogic.cxx:144) ==29339== by 0x983D673: vtkMRMLColorLogic::OnMRMLSceneNewEvent() (vtkMRMLColorLogic.cxx:85) ==29339== by 0x983D629: vtkMRMLColorLogic::SetMRMLSceneInternal(vtkMRMLScene*) (vtkMRMLColorLogic.cxx:78) ==29339== by 0x982B4F9: vtkMRMLAbstractLogic::SetMRMLScene(vtkMRMLScene*) (vtkMRMLAbstractLogic.cxx:281) ==29339== by 0x8E70F0A: qSlicerAbstractCoreModule::setMRMLScene(vtkMRMLScene*) (qSlicerAbstractCoreModule.cxx:168) ==29339== by 0x101492780: qSlicerColorsModule::setMRMLScene(vtkMRMLScene*) (qSlicerColorsModule.cxx:132) ==29339== by 0x8EA2B1A: qSlicerModuleFactoryManager::loadModule(QString const&, QString const&) (qSlicerModuleFactoryManager.cxx:181) [Less]
Posted over 9 years ago by jcfr
BUG: Update CTK (include fix for memory leak in ctkDoubleSpinBox) Among other changes, it include fixes and improvement for: ctkColorPickerButton ctkDoubleSpinBox ctkVTKTextPropertyWidget ctkXNAT $ git shortlog 9e5af26..7bb708c --no-merges ... [More] Andreas Fetzer (45): Initial commit Removed unused function declaration Added new class ctkXnatResourceFolder. Adapted documentation. Currently the remove() function does not modify the object on the server Added possibility to set a default file download path to ctkXnatSession. If the specified location does not exist its value will be set to the current working directory Since some of the ctkXnatObject support retrieving a last modification time (e.g. project) this function should be virtual so that is can be overwritten by the according subclasses Also check if path is empty Continued refactoring of the upload functions: Added convenience method for adding a resource to a xnatObject Enhanced xnatTreeBrowser so that resource creation and file upload can be tested Fixed build error and removed useless upload function from xnatTreeModel Some minor fixes. Added dirty flag to indicate whether a xnat object was modified Don't update the modified flag after an object was saved on the server and the ID was set afterwards cosmetic changes If a file with the given name already exits on the server set the overwrite flag to true Added rudimentary check whether the file upload was successful. Right now just the filesize is compared. Checksum would be better. Setting correct filename for upload Added file upload validation to saveImpl of ctkXnatFile Fixed iteration over md5 results Adapted add(child) function of ctkXnatObject Added function for adding a new child node to ctkXnatTreeModel Return resource folder after creation Added overwrite flag for file upload Use QXmlStreamReader instead of deprecated QXml module classes Some Qt5 adaptions Added tests for: Cleaned up code Fixed build error on Mac Removed unused modified flag again Further cleanup Fixed possible invalid directory path Improved check for valid directory path Removed function calls that were made for testing reasons Replaced for loop with iterators. Only add folder if it not exists Added refesh function to ctkXnatTreeModel Fixed crash which might happen if the xnatObject is null Added name and label getters to all XNAT folder objects Synchronize deleted objects as well Use iterator instead of foreach Fixed query parameters for httpPut Fixed build error on Mac OS X Added include for QScopedPointer and QObject Added include for QSharedPointer Benjamin BENEY (3): Add text size in ctkVTKTextPropertyWidget Change icon for invalid color in ctkColorPickerButton Fix ctkColorPickerButton build error Jean-Christophe Fillion-Robin (1): Fix memory leak associated with ctkDoubleSpinBox ensuring pimpl is deleted [Less]
Posted over 9 years ago by jcfr
BUG: Fix memory leak in vtkMRMLSubjectHierarchyNode This commit fixes the error(s) reported below by valgrind memcheck tool. Valgrind was used on Ubuntu 14.04 against a Debug build of Slicer. It was exected doing the following: (1) Start a ... [More] terminal with the appropriate environment: ./Slicer --gnome-terminal (2) Start Slicer using valgrind: valgrind --log-file=2015-07-16-Slicer-memcheck.txt --tool=memcheck --leak-check=yes ./bin/SlicerApp-real --disable-python --disable-cli-modules (3) Exit Slicer and inspect valgrind log file Valgrind error: ==29339== 6 bytes in 1 blocks are definitely lost in loss record 24 of 2,448 ==29339== at 0x4C2B800: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==29339== by 0x10599640D: vtkMRMLSubjectHierarchyNode::SetLevel(char const*) (in /home/jcfr/Projects/Slicer-Debug/Slicer-build/lib/Slicer-4.4/qt-loadable-modules/libvtkSlicerSubjectHierarchyModuleMRML.so) ==29339== by 0x10598C253: vtkMRMLSubjectHierarchyNode::vtkMRMLSubjectHierarchyNode() (vtkMRMLSubjectHierarchyNode.cxx:60) ==29339== by 0x10598C144: vtkMRMLSubjectHierarchyNode::New() (vtkMRMLSubjectHierarchyNode.cxx:52) ==29339== by 0x108325A18: vtkSmartPointer::New() (vtkSmartPointer.h:117) ==29339== by 0x1083235AC: vtkSlicerSubjectHierarchyModuleLogic::RegisterNodes() (vtkSlicerSubjectHierarchyModuleLogic.cxx:73) ==29339== by 0x982B519: vtkMRMLAbstractLogic::SetMRMLScene(vtkMRMLScene*) (vtkMRMLAbstractLogic.cxx:285) ==29339== by 0x8E70F0A: qSlicerAbstractCoreModule::setMRMLScene(vtkMRMLScene*) (qSlicerAbstractCoreModule.cxx:168) ==29339== by 0x8EA2B1A: qSlicerModuleFactoryManager::loadModule(QString const&, QString const&) (qSlicerModuleFactoryManager.cxx:181) ==29339== by 0x8EA2586: qSlicerModuleFactoryManager::loadModule(QString const&) (qSlicerModuleFactoryManager.cxx:110) ==29339== by 0x40672A: (anonymous namespace)::SlicerAppMain(int, char**) (Main.cxx:193) ==29339== by 0x406D30: main (Main.cxx:254) [Less]
Posted over 9 years ago by jcfr
BUG: Fix uninitialized value in vtkMRMLColorTableNode. Within vtkMRMLColorTableStorageNode::ReadDataInternal(), the method vtkMRMLColorTableNode::SetColor() is called iteratively for all entries to initialize the color names. In the same time ... [More] , within SetColor(), the method SetNamesFromColors() is also called. This last call to SetNamesFromColors() is the problematic one. Indeed, it attempts to initialize the color name for all entries while color values are being set. Since all color names are explicitly initialized, this commit removes the call to "SetNamesFromColors()" from "SetColor()" function. This commit fixes the error(s) reported below by valgrind memcheck tool. Valgrind was used on Ubuntu 14.04 against a Debug build of Slicer. It was exected doing the following: (1) Start a terminal with the appropriate environment: ./Slicer --gnome-terminal (2) Start Slicer using valgrind: valgrind --log-file=2015-07-16-Slicer-memcheck.txt --tool=memcheck --leak-check=yes ./bin/SlicerApp-real --disable-python --disable-cli-modules (3) Exit Slicer and inspect valgrind log file Valgrind error: ==17091== Conditional jump or move depends on uninitialised value(s) ==17091== at 0x2A67C4E7: __printf_fp (printf_fp.c:400) ==17091== by 0x2A67B792: vfprintf (vfprintf.c:1660) ==17091== by 0x2A69F578: vsnprintf (vsnprintf.c:119) ==17091== by 0x2A196E0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==17091== by 0x2A19D263: std::ostreambuf_iterator > std::num_put > >::_M_insert_float(std::ostreambuf_iterator >, std::ios_base&, char, char, double) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==17091== by 0x2A19D54F: std::num_put > >::do_put(std::ostreambuf_iterator >, std::ios_base&, char, double) const (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==17091== by 0x2A1A8AF4: std::ostream& std::ostream::_M_insert(double) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==17091== by 0xDB0E07B: vtkMRMLColorNode::SetNameFromColor(int) (vtkMRMLColorNode.cxx:312) ==17091== by 0xDB0DEBD: vtkMRMLColorNode::SetNamesFromColors() (vtkMRMLColorNode.cxx:295) ==17091== by 0xDB1CF37: vtkMRMLColorTableNode::SetColor(int, char const*, double, double, double, double) (vtkMRMLColorTableNode.cxx:1301) ==17091== by 0xDB1F84D: vtkMRMLColorTableStorageNode::ReadDataInternal(vtkMRMLNode*) (vtkMRMLColorTableStorageNode.cxx:146) ==17091== by 0xDCDE6D5: vtkMRMLStorageNode::ReadData(vtkMRMLNode*, bool) (vtkMRMLStorageNode.cxx:1067) ==17091== Uninitialised value was created by a heap allocation ==17091== at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==17091== by 0x299257A3: vtkDataArrayTemplate::Allocate(long long, long long) (vtkDataArrayTemplate.txx:137) ==17091== by 0x29928227: vtkDataArrayTemplate::SetNumberOfValues(long long) (vtkDataArrayTemplate.txx:921) ==17091== by 0x29925A27: vtkDataArrayTemplate::SetNumberOfTuples(long long) (vtkDataArrayTemplate.txx:355) ==17091== by 0x2986995A: vtkLookupTable::SetNumberOfTableValues(long long) (vtkLookupTable.cxx:1045) ==17091== by 0xDB1C6B5: vtkMRMLColorTableNode::SetNumberOfColors(int) (vtkMRMLColorTableNode.cxx:1241) ==17091== by 0xDB1F783: vtkMRMLColorTableStorageNode::ReadDataInternal(vtkMRMLNode*) (vtkMRMLColorTableStorageNode.cxx:137) ==17091== by 0xDCDE6D5: vtkMRMLStorageNode::ReadData(vtkMRMLNode*, bool) (vtkMRMLStorageNode.cxx:1067) ==17091== by 0xC9CD058: vtkMRMLColorLogic::CreateFileNode(char const*) (vtkMRMLColorLogic.cxx:730) ==17091== by 0xC9CC104: vtkMRMLColorLogic::CreateFreeSurferFileNode(char const*) (vtkMRMLColorLogic.cxx:593) ==17091== by 0xC9CE463: vtkMRMLColorLogic::AddFreeSurferFileNode(vtkMRMLFreeSurferProceduralColorNode*) (vtkMRMLColorLogic.cxx:863) ==17091== by 0xC9CF282: vtkMRMLColorLogic::AddFreeSurferNodes() (vtkMRMLColorLogic.cxx:987) [Less]
Posted over 9 years ago by jcfr
STYLE: Improve output of vtkMRMLColorLogicTest1 displaying line number
Posted over 9 years ago by lassoan
ENH: Allow qMRMLNodeComboBox base name setting for each node type