Ticket #2436 (closed: fixed)

Opened 10 years ago

Last modified 5 years ago

ManagedRawFileWorkspaces don't change in place correctly

Reported by: Martyn Gigg Owned by: Russell Taylor
Priority: critical Milestone: Iteration 27
Component: Mantid Keywords:
Cc: nick.draper@…, taylorrj@… Blocked By:
Blocking: Tester: Martyn Gigg

Description

Russell's discovery:

I’ve being looking into this and find that for me also the AzizAnalysis fails if I force things to be managed workspaces.

I’ve tracked down the problem to be when we get a ManagedRawFileWorkspace. Don’t know yet exactly what the problem is, but it’s been there since at least the August 2010 release (I didn’t go back any further yet) – possibly it’s always been there. Something’s obviously happened to increase Mantid’s memory usage such that this test using HRPD goes managed.

A ‘regular’ ManagedWorkspace2D is fine – which explains something that seemed strange at first – that the EQSANS tests always go managed. To see what happens,

  • set ManagedWorkspace.LowerMemoryLimit to 0,
  • load a raw file and run AlignDetectors. The values don’t change.

Don’t know what the problem is but I note that AlignDetectors modifies the workspace in place if passed the same input & output names – give it a different name and all is fine.

I also notice that the YUnit isn’t set on a ManagedRawFileWorkspace.

Change History

comment:1 Changed 10 years ago by Martyn Gigg

  • Cc nick.draper@…, taylorrj@… added

comment:2 Changed 10 years ago by Martyn Gigg

(In [9519]) Fix for inelastic diag scripts that were crippled on windows by lack of background checks. Re #2214. Also added a "ManagedRawFileWorkspace.DoNotUse" (following existing syntax) property and set it to "1" so that ManagedRawFile workspaces are not used for the moment as they appear not to be working correctly. Re #2436

comment:3 Changed 10 years ago by Russell Taylor

(In [9522]) Ensure test passes with CMake build (which uses a different properties file to Scons). Re #2436.

comment:4 Changed 10 years ago by Russell Taylor

  • Owner set to Russell Taylor
  • Status changed from new to accepted
  • Milestone changed from Iteration 28 to Iteration 27

comment:5 Changed 10 years ago by Russell Taylor

(In [9554]) Fix and re-enable ManagedRawFileWorkspace. Credit to Roman for finding the problem. Re #2436.

comment:6 Changed 10 years ago by Russell Taylor

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

Created ticket #2484 regarding improving the unit testing of this class.

comment:7 Changed 10 years ago by Martyn Gigg

  • Status changed from verify to verifying
  • Tester set to Martyn Gigg

comment:8 Changed 10 years ago by Martyn Gigg

  • Status changed from verifying to closed

Verified in 1.1.9556

Tested by

  • Setting ManagedWorkspace.LowerMemoryLimit = 0;
  • Loading HRP37125.RAW from AutoTestData;
  • Opening a MantidMatrix from the workspace and switching to the X data;
  • Running AlignDetectors with the OutputWorkspace the same as the input and cal file hrpd_new_072_01.cal;

This successfully changed the X-values to match those that are seen when using in-memory workspaces. The system tests all pass now also which is much healthier

I thought this type of thing, hiding not overloading a virtual function, was flagged by compilers but it seems the warning is not turned on by default.

http://msdn.microsoft.com/en-us/library/4b76ty10.aspx

An for gcc:

http://gcc.gnu.org/onlinedocs/gcc-4.4.5/gcc/C_002b_002b-Dialect-Options.html with the -Woverloaded-virtual flag.

comment:9 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 3283

Note: See TracTickets for help on using tickets.