Ticket #2436 (closed: fixed)
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: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: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: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.