Skip to content
This repository has been archived by the owner on Apr 26, 2023. It is now read-only.

Weird behavoir of MultiPointerParams in scheduled protocols #1991

Open
dmaluenda opened this issue May 31, 2019 · 7 comments
Open

Weird behavoir of MultiPointerParams in scheduled protocols #1991

dmaluenda opened this issue May 31, 2019 · 7 comments
Assignees
Labels

Comments

@dmaluenda
Copy link
Member

Describe the bug
I observed two unexpected behavior of protocol scheduling when the input is MultiPointerParam.

To increase the weirdness, the two behavior are in opposite way... The first, the join-sets protocol is never starting even when all inputs are full of items, when it is scheduled it remain scheduled for ever. In a opposite way, the consensus-picking starts immediately after to schedule it even with non ready inputs.

To Reproduce

  • Steps to reproduce the first behavior:

    1. Make a join of two existing sets as usual.
    2. Check that the join-sets protocol runs as expected producing non-empty output.
    3. Select and Copy the join-sets protocol and its parent protocol(s) (those that created the inputs for the join). Remember to order the workflow to make it clear.
    4. Schedule the join-sets (copy) protocol.
    5. Execute the 'parent' (copy) protocol(s).
    6. See that join-sets (copy) never starts even with non empty inputs.
  • Steps to reproduce the second behavior:

    1. Make a Xmipp - consensus picking of (at least) 2 existing pickings.
    2. Check that the Xmipp - consensus picking runs as expected producing non-empty output.
    3. Select and Copy the Xmipp - consensus picking protocol and its parent protocols (those that created the inputs of the consensus). Remember to order the workflow to make it clear.
    4. Schedule the Xmipp - consensus picking (copy) protocol.
    5. See that Xmipp - consensus picking (copy) fails because it has started with non-ready inputs. Notice that we have not executed the pickings, yet.

Expected behavior
The first should start as soon as all inputs are ready, whereas the second should wait until the inputs are ready.

Screenshots

  • First behavior:
    image

  • Second behavior:
    image

This screenshots are done using streaming templates to make the copies, but the same result is gotten with finished protocols in the steps i, ii, ii.

Desktop (please complete the following information):

  • Version 2.0
@pconesa pconesa added the bug label May 31, 2019
@pconesa
Copy link
Member

pconesa commented Jul 11, 2019

For the first case:
it happens only following those steps. if you use the "restart workflow", it works.

@dmaluenda
Copy link
Member Author

mmmm, I haven't tried to "restart workflow", but it fails (in the way described above) when it is scheduled using the pyworkflow/project/scripts/schedule.py script to schedule the whole project.

We should investigate why that differences.

Thanks!

@pconesa
Copy link
Member

pconesa commented Jul 11, 2019

I'm looking at it, it should work in any way.

@pconesa
Copy link
Member

pconesa commented Jul 11, 2019

I'm using schedule.py with a join set having 2 inputs in the multipointer param.....and is working....I'm going to need a more concrete example.

@dmaluenda
Copy link
Member Author

Ok, I will check it... sorry, I thought it was failing in general, but not in a specific cases...

@pconesa
Copy link
Member

pconesa commented Jul 11, 2019

I'm on devel branch, just in case there is a difference.

@pconesa pconesa self-assigned this Jul 24, 2019
@pconesa
Copy link
Member

pconesa commented Aug 8, 2019

I've tried to reproduce case 1 again and is working.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants