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

Upgrades break loading single pipeline #1074

Open
remram44 opened this issue May 6, 2015 · 2 comments
Open

Upgrades break loading single pipeline #1074

remram44 opened this issue May 6, 2015 · 2 comments

Comments

@remram44
Copy link
Member

remram44 commented May 6, 2015

Took me a while, but this is what I have: apparently the upgrade can happen between the add_new_action() and perform_action() calls to the controller, because the add_new_action() overloaded in the GUI controller emits stateChanged() which can synchronously make observers call change_selected_version (example: QQueryView#update_controller()).

Then weird stuff happens, process_package_exceptions() end up performing the action twice, and Pipeline#add_module() raises VisTrailsInternalError("duplicate module id: m.id")

Happens if you load any pipeline from XML which requires an upgrade.

@remram44
Copy link
Member Author

remram44 commented May 6, 2015

add_module(0)
add_module(1)
INFO:VisLog:/home/remram/Documents/programming/dat/vistrails/vistrails/core/vistrail/controller.py, line 3185
Processing upgrades in package "org.vistrails.vistrails.basic"
MissingPackageVersion: Missing version 2.1 of package org.vistrails.vistrails.basic

MissingPackageVersion: Missing version 2.1 of package org.vistrails.vistrails.basic

Traceback (most recent call last):
  File "/home/remram/Documents/programming/dat/vistrails/vistrails/core/vistrail/controller.py", line 3227, in process_package_exceptions
add_module(0)
    pipeline.perform_action(action)
  File "/home/remram/Documents/programming/dat/vistrails/vistrails/core/vistrail/pipeline.py", line 375, in perform_action
    self.perform_operation(operation)
  File "/home/remram/Documents/programming/dat/vistrails/vistrails/core/vistrail/pipeline.py", line 400, in perform_operation
    f(op.data, op.parentObjType, op.parentObjId)
  File "/home/remram/Documents/programming/dat/vistrails/vistrails/core/vistrail/pipeline.py", line 413, in add_module
    raise VistrailsInternalError("duplicate module id: %d" % m.id )
VistrailsInternalError: Vistrails Internal Error: duplicate module id: 0
add_module(1)
add_module(0)
add_module(1)
INFO:VisLog:/home/remram/Documents/programming/dat/vistrails/vistrails/core/vistrail/controller.py, line 3185
Processing upgrades in package "org.vistrails.vistrails.basic"
MissingPackageVersion: Missing version 2.1 of package org.vistrails.vistrails.basic

MissingPackageVersion: Missing version 2.1 of package org.vistrails.vistrails.basic

add_module(2)
add_module(3)
add_module(0)
add_module(1)
INFO:VisLog:/home/remram/Documents/programming/dat/vistrails/vistrails/core/vistrail/controller.py, line 3185
Processing upgrades in package "org.vistrails.vistrails.basic"
MissingPackageVersion: Missing version 2.1 of package org.vistrails.vistrails.basic

MissingPackageVersion: Missing version 2.1 of package org.vistrails.vistrails.basic

add_module(4)
add_module(5)

Not sure about the right way to fix this.

@remram44 remram44 added the C-gui label May 6, 2015
@remram44
Copy link
Member Author

remram44 commented May 6, 2015

Adding tag gui because this is caused by the signal-sending override of set_changed()

@remram44 remram44 added the T-bug label Jul 8, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant