-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Scatter Plot: multiple contexts and different Orange versions crash #3398
Comments
The old files are as they are and the only thing we can do there is to make the migrate code more robust. But if not done already, we should prevent such context version mixing in saved files. |
I tried to replicate this. It didn't crash when I reopened on master and it could retrieve both contexts. I'm not sure why it works. Partially related: should we prohibit opening new schemas on old versions of Orange? That is, check that the saved settings version is not higher than the settings version of the widget? If it is, what should happen? Do we have a suitable way to cancel the loading of schema so late? |
A simple fallback could be to just reset/clear the widget settings that are newer than the version of Orange. I think prohibiting opening schemas at all is a bit of an overkill. Lots of widget settings changes are minor and a user could just reselect something in a widget and make the schema work again. |
I tested this on current master: it migrates all settings. When I went backwards to 3.16, it discarded all contexts?! As I understand, the problem occurs specifically when opening newer workflows on older version -- they add new contexts and incorrectly save newer contexts with older numbers? If so, I think the problem is that we allow opening newer workflows with older versions of Orange. This cannot not crash. I would still close this issue and let biolab/orange-canvas-core#66 take care of the problem. |
Orange version
master
Expected behavior
Files saved and working in earlier Orange versions won't crash future versions
Actual behavior
Migrate_context crashes under certain conditions. If widget's settings were saved with multiple contexts, only the active context gets migrated. If saved, some contexts are migrated and some are not.
Then, if migration code assumes that some things (like dict keys) are available, we get a crash.
Steps to reproduce the behavior
In the saved ows we have a mix of ScatterPlot's context version's 2 and 3 (with settings version 2). The ScatterPlot of master is unable to open that file because it assumes that the format is settings version 2. The problematic Scatter Plot setting are displayed below.
Additional info (worksheets, data, screenshots, ...)
The text was updated successfully, but these errors were encountered: