Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

System test is hanging due to read/write locking #5599

Closed
mantid-builder opened this issue Feb 6, 2012 · 1 comment
Closed

System test is hanging due to read/write locking #5599

mantid-builder opened this issue Feb 6, 2012 · 1 comment
Labels
High Priority An issue or pull request that if not addressed is severe enough to postponse a release.
Milestone

Comments

@mantid-builder
Copy link
Collaborator

Original Reporter: @jzikovsky

Original Owner: @jzikovsky

Here is the smallest code to reproduce the problem:

LoadEventNexus(OutputWorkspace="EQSANS_4061_event", Filename="EQSANS_4061_event.nxs")
EQSANSNormalise(InputWorkspace="EQSANS_4061_event", NormaliseToBeam='0')

The issue is that there is a parent python algorithm (EQSANSNormalise) that calls child algorithms (Scale) but these are not marked as such.

The way read/write locking works for C++ algorithms with children is:

  • The parent algorithm locks the input/output workspaces
  • The child algorithms do NOT do any locking.

With the EQSANSNormalise, it has its InputWorkspace erroneously set as "Input" (not InOut which is what it really is).

  • EQSANSNormalise read-locks the workspace
  • Then Scale tries to write-lock, so it hangs.

If EQSANSNormalise has its InputWorkspace set as InOut, it throws an exception when trying to double-write-lock.

So Martyn, what I need to do is to have the algorithms called in a Python algorithm to be set as "child". Do you know how to do that?

@mantid-builder mantid-builder added High Priority An issue or pull request that if not addressed is severe enough to postponse a release. Mantid labels Jun 3, 2015
@mantid-builder
Copy link
Collaborator Author

This issue was originally trac ticket 4752

@mantid-builder mantid-builder added this to the Release 2.1 milestone Jun 3, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
High Priority An issue or pull request that if not addressed is severe enough to postponse a release.
Projects
None yet
Development

No branches or pull requests

1 participant