[INSTRM-1071] matplotlib error caused plotTool to crash Created: 07/Sep/20  Updated: 21/Dec/20  Resolved: 21/Dec/20

Status: Done
Project: Instrument control development
Component/s: ics_sps_engineering_plotData
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: cloomis Assignee: arnaud.lefur
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Hitting Return after changing the name of a curve caused a plotTool crash (that is usually OK to do):

QXcbClipboard: SelectionRequest too old
QXcbClipboard: SelectionRequest too old
Traceback (most recent call last):
  File "/software/mhs/products/Linux64/ics_sps_engineering_plotData/1.1.8/python/sps_engineering_plotData/navigationtoolbar.py", line 40, in edit_parameters
    NavigationToolbar2QT.edit_parameters(self)
  File "/software/conda/envs/anaconda_2019.07/lib/python3.7/site-packages/matplotlib/backends/backend_qt5.py", line 783, in edit_parameters
    figureoptions.figure_edit(ax, self)
  File "/software/conda/envs/anaconda_2019.07/lib/python3.7/site-packages/matplotlib/backends/qt_editor/figureoptions.py", line 264, in figure_edit
    apply_callback(data)
  File "/software/conda/envs/anaconda_2019.07/lib/python3.7/site-packages/matplotlib/backends/qt_editor/figureoptions.py", line 207, in apply_callback
    axes.xaxis.set_units(xunits)
  File "/software/conda/envs/anaconda_2019.07/lib/python3.7/site-packages/matplotlib/axis.py", line 1574, in set_units
    self.callbacks.process('units')
  File "/software/conda/envs/anaconda_2019.07/lib/python3.7/site-packages/matplotlib/cbook/__init__.py", line 212, in process
    for cid, ref in list(self.callbacks.get(s, {}).items()):
RuntimeError: dictionary changed size during iteration
Aborted

This crashed the entire app, which was monitoring three cold cryostats.

I'll note that before that, there were many of those QXcbClipboard errors:

(anaconda_2019.07) pfs@tron:~$ grep '^QXcbClipboard: SelectionRequest too old' nohup.out | wc
19921912 79687648 796876480

No idea whether/if that is related.



 Comments   
Comment by arnaud.lefur [ 08/Sep/20 ]

I'm setting up the same conda distrib on my machine, I hope I can reproduce the bug.

Comment by cloomis [ 09/Sep/20 ]

I think the important thing to fix is that a failure like this should not drop the whole app. At worst it should take out one plot window, preferably none.

Comment by arnaud.lefur [ 21/Dec/20 ]

merged in 1.2.2

Generated at Sat Feb 10 16:31:36 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.