biolab / orange3

🍊 :bar_chart: :bulb: Orange: Interactive data analysis
https://orangedatamining.com
Other
4.85k stars 1.01k forks source link

Selecting variable in Scatter Plot may hang Orange #5205

Closed kaimikael closed 3 years ago

kaimikael commented 3 years ago

Open the attached workflow. If needed, adjust the location of the dataset in the File widget. Open the Scatter Plot widget. Try to change the ”Axis x” selection. Orange hangs.

literacy_rate_adult_total_percent_of_people_ages_15_and_above.xlsx Hang.ows.zip

ajdapretnar commented 3 years ago

I works normally for me with the provided data and workflow. 😮

kaimikael commented 3 years ago

Interesting. I sometimes get the impression that once a workflow has started exhibiting problems it continues to do so, even though it shouldn’t. Is there information cached elsewhere that might get corrupted?

ajdapretnar commented 3 years ago

Try clearing widget settings with Options - Reset widget settings ...

kaimikael commented 3 years ago

Tried it, still hangs for me.

I looked in system.log and found messages as below, but they seem to appear when I start the application, so I don’t think they are related to the hang (I guess it’s simply the graphics library testing which graphics card to use). Is there anywhere else I could look for log messages?

Jan 21 13:41:16 SHD0368BQ802 PythonApp[10466]: getattrlist failed for /System/Library/Extensions/AppleIntelKBLGraphicsGLDriver.bundle/Contents/MacOS/AppleIntelKBLGraphicsGLDriver: #2: No such file or directory Jan 21 13:41:16 SHD0368BQ802 PythonApp[10466]: getattrlist failed for /Library/GPUBundles/AMDRadeonX4000GLDriver.bundle/Contents/MacOS/ATIRadeonX4000SCLib.dylib: #2: No such file or directory Jan 21 13:41:16 SHD0368BQ802 PythonApp[10466]: getattrlist failed for /System/Library/Extensions/AMDRadeonX4000GLDriver.bundle/Contents/MacOS/ATIRadeonX4000SCLib.dylib: #2: No such file or directory Jan 21 13:41:16 SHD0368BQ802 PythonApp[10466]: getattrlist failed for /System/Library/Frameworks/OpenGL.framework/Resources//GLRendererFloat.bundle/GLRendererFloat: #2: No such file or directory

kaimikael commented 3 years ago

Testing further: creating a new workflow from scratch gives the same results. But: why in particular are 1990 and 1991 used as the default values for the x and y axes? They are not the first columns in the dataset, are they picked as suitable values in the middle?

ajdapretnar commented 3 years ago

Perhaps there was a misunderstanding. Did you try clearing the settings and creating a workflow from scratch? Could it be you did one and the other, not both one after the other? Without the chance to replicate the issue it will be nigh impossible to debug. :(

kaimikael commented 3 years ago

Hehe, wouldn’t want that. This is what I did: I selected Reset Widget Settings, restarted Orange and used the same workflow. It hung. Repeated the reset and restart, just to make sure. Still hung. Then I created a new workflow with the same dataset as the previous one. It hung too, so it shouldn’t be due to anything cached, I guess? So, the behaviour is consistently repeatable on my computer, but does not happen on yours. Hm. I’ll try rebooting as well, and see if that makes any difference.

kaimikael commented 3 years ago

No, rebooting makes no difference, still hangs for me. Uh, could it be a conflict with something else I have installed? Scary.

ajdapretnar commented 3 years ago

😩 Could be. Could you post the output of /Applications/Orange3.app/Contents/MacOS/pip freeze?

kaimikael commented 3 years ago

AnyQt==0.0.11 appnope==0.1.0 baycomp==1.0.2 Bottleneck==1.3.2 CacheControl==0.12.6 certifi==2020.11.8 chardet==3.0.4 commonmark==0.9.1 cycler==0.10.0 decorator==4.4.2 dictdiffer==0.8.1 docutils==0.16 et-xmlfile==1.0.1 h11==0.9.0 httpcore==0.10.2 httpx==0.14.3 idna==2.10 jdcal==1.4.1 joblib==0.11 keyring==10.3.1 keyrings.alt==2.2 kiwisolver==1.3.1 lockfile==0.12.2 lxml==4.6.2 matplotlib==3.3.3 more-itertools==8.6.0 msgpack==1.0.0 networkx==2.5 numpy==1.19.4 openpyxl==3.0.5 openTSNE==0.4.4 orange-canvas-core==0.1.18 orange-widget-base==4.9.0 Orange3==3.27.1 Orange3-Geo==0.2.8 Orange3-Timeseries==0.3.7 pandas==1.1.4 pandas-datareader==0.9.0 patsy==0.5.1 Pillow==8.0.1 pyparsing==2.4.7 PyQt5==5.12.2 PyQt5-sip==12.8.1 pyqtgraph==0.11.0 PyQtWebEngine==5.12.1 python-dateutil==2.8.1 python-louvain==0.14 pytz==2020.4 PyYAML==5.3.1 requests==2.25.0 rfc3986==1.4.0 scikit-learn==0.23.2 scipy==1.5.4 serverfiles==0.3.0 Shapely==1.7.1 simplejson==3.17.2 six==1.15.0 sniffio==1.2.0 statsmodels==0.12.1 threadpoolctl==2.1.0 urllib3==1.26.2 xlrd==1.2.0 XlsxWriter==1.3.7

ales-erjavec commented 3 years ago

Can you please open ActivityMonitor.app (/Application/Utilities/ActivityMonitor.app), start Orange and cause it to hang, then search and select Orange in Activity Monitor, select Sample Process from the System Diagnostics Options drop down in the tool bar (the gear icon). In the report select Save ... (top right) and attach the saved file here.

kaimikael commented 3 years ago

Sample of Orange.txt

janezd commented 3 years ago

@kaimikael,

while writing this, I saw @ales-erjavec wrote something. Please first do what he suggested. But then, I'd want to make something clear about your previous attempts.

  1. You reset the stored settings.
  2. Reloaded an old workflow.
  3. Started a new workflow.

Is this correct? If so, and if the problem is caused by broken settings, then this test doesn't work because the 2nd step would restore the settings. To really try whether this is the case, reset and start a new workflow without reloading.

kaimikael commented 3 years ago

Aha! That did it. I reset the widget settings, restarted orange and created a new workflow without touching the old one. This one works, and indeed offers 1975 and 1976 as defaults, as I expected.

janezd commented 3 years ago

And it no longer hangs?

kaimikael commented 3 years ago

Works perfectly now. So there was something cached somewhere that would affect even new workflows I created?

janezd commented 3 years ago

Yes, in case these new workflows used the same (or sufficiently similar) data.

kaimikael commented 3 years ago

OK, my immediate problem is solved, but, as I implied earlier, I’ve had other problems which presumably also were due to the settings getting corrupted. I’ll leave it to you if you want to pursue that problem; if so, I have sample workflows for you to examine :-) But in the meanwhile, the solution is to reset the settings and recreate the workflow from scratch.

janezd commented 3 years ago

@kaimikael, thanks for your help and also for offering the workflows. In the near future, we will significantly change the way in which these settings are stored and saved, which will either resolve some problems or at least help us debugging them in the future. I'm thus closing this for now, or, hopefully, forever. :)