Ticket #8486 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

Fix unreleased use of POCO::XML document and node lists in MantidQT code

Reported by: Karl Palmen Owned by: Federico M Pouzols
Priority: major Milestone: Release 3.4
Component: GUI Keywords: maintenance
Cc: Blocked By:
Blocking: #10637 Tester: Harry Jeffery

Description (last modified by Karl Palmen) (diff)

In the code of MantidQT I found two cases of POCO::XML document or nodelist objects being created, but not released. This could cause memory leakage. Fix by using AutPtr for the object.

The two cases were customInterfaces/IO_MuonGrouping and sliceViewer/SliceViewer.

Change History

comment:1 Changed 7 years ago by Karl Palmen

  • Component changed from Framework to User Interface

comment:2 Changed 7 years ago by Karl Palmen

AutoPtr is preferred to release().

comment:3 Changed 7 years ago by Karl Palmen

  • Description modified (diff)

comment:4 Changed 7 years ago by Karl Palmen

  • Description modified (diff)

comment:5 Changed 7 years ago by Nick Draper

  • Status changed from new to assigned

bulk move to assigned at the into of the triage step

comment:6 Changed 6 years ago by Federico M Pouzols

  • Blocking 10637 added

comment:7 Changed 6 years ago by Federico M Pouzols

  • Status changed from assigned to inprogress
  • Owner set to Federico M Pouzols

comment:8 Changed 6 years ago by Federico Montesino Pouzols

use Poco::AutoPtr, rearrange and remove unnec .hs re #8486

Changeset: 8fb74a64440a69c74eba39d0b32406ed598d7a36

comment:9 Changed 6 years ago by Federico Montesino Pouzols

use Poco::AutoPtr, kill unused headers, re #8486

Changeset: ac490db32074ca00a06c8b80bf06e5585f37dc87

comment:10 Changed 6 years ago by Federico M Pouzols

  • Milestone changed from Backlog to Release 3.4

comment:11 Changed 6 years ago by Federico Montesino Pouzols

get rid of release, redundant with Poco::AutoPtr, re #8486

Changeset: 0862b8ea77980ce8e0a7bc1083360693a1d19a38

comment:12 Changed 6 years ago by Federico M Pouzols

  • Status changed from inprogress to verify
  • Resolution set to fixed

This removes potential leaks with Poco::XML objects (following guidelines in #10637). A bunch of not needed includes have been removed (using forward declarations wherever possible).

Suggestion to test:

  • check that builds are fine on all platforms (apparently no issue here)
  • review code
  • make sure that tests pass (especially muon and SliceViewer related tests)

comment:13 Changed 6 years ago by Harry Jeffery

  • Status changed from verify to verifying
  • Tester set to Harry Jeffery

comment:14 Changed 6 years ago by Federico Montesino Pouzols

Merge branch 'master' into bugfix/8486_fix_unreleased_poco_xml_objects_mantiqt

Conflicts:

Code/Mantid/MantidQt/SliceViewer/src/SliceViewer.cpp

Sorting out more conficts, all seemed fine, re #8486

Changeset: d388fd50a43ba4735b67367f764660c7585e5585

comment:15 Changed 6 years ago by Federico Montesino Pouzols

Merge branch 'bugfix/8486_fix_unreleased_poco_xml_objects_mantiqt' into develop

Conflicts:

Code/Mantid/MantidQt/SliceViewer/src/SliceViewer.cpp

Well no, still a cpl silly conflicts, hopefully getting there now, re #8486

Changeset: 790f20ac36bd6de6900c2a611b8faec9e3a94944

comment:16 Changed 6 years ago by Federico Montesino Pouzols

  • Status changed from verifying to closed

Merge branch 'master' into bugfix/8486_fix_unreleased_poco_xml_objects_mantiqt

Full changeset: 572019672ea361c3ef960fd0176269e85f6c229a

comment:17 Changed 6 years ago by Federico Montesino Pouzols

Merge branch 'master' into bugfix/8486_fix_unreleased_poco_xml_objects_mantiqt

Conflicts:

Code/Mantid/MantidQt/SliceViewer/src/SliceViewer.cpp

Sorting out more conficts, all seemed fine, re #8486

Full changeset: d388fd50a43ba4735b67367f764660c7585e5585

comment:18 Changed 6 years ago by Harry Jeffery

Merge remote-tracking branch 'origin/bugfix/8486_fix_unreleased_poco_xml_objects_mantiqt'

Full changeset: 83ef037541359b22ef5f4fadcfe9b38cf3349f68

comment:19 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9330

Note: See TracTickets for help on using tickets.