ictabak
November 27, 2024, 8:17pm
1
This error pops up when opening a specific image and the Designer becomes unresponsive.
Opening the exact same image for another machine works fine.
I have tried to check with Kindling, but am not very familiar with the debugging process in it.
NonResponsiveEdt-2024-11-27_131236.json (65.7 KB)
NonResponsiveEdt-2024-11-27_131305.json (70.4 KB)
Any help would be appreciated!
Thank you.
ictabak
December 3, 2024, 11:36am
2
I added additional log files if that helps.
Any help would be appreciated!
Thanks!
thread-dump.json (297.9 KB)
In both of your thread dumps from the designer, the event dispatch thread (the single thread that is responsible for the GUI of the Designer) is blocked rendering a table , nothing to do with images:
Stacktrace
java.desktop@17.0.9/java.awt.Component.setForeground(Unknown Source)
java.desktop@17.0.9/javax.swing.JComponent.setForeground(Unknown Source)
java.desktop@17.0.9/javax.swing.table.DefaultTableCellRenderer.setForeground(Unknown Source)
com.sepasoft.production.components.table.PMIVisionAdvancedTableCellRenderer.getTableCellRendererComponent(PMIVisionAdvancedTableCellRenderer.java:81)
com.jidesoft.grid.JideTable.a(Unknown Source)
com.jidesoft.grid.CellStyleTable.a(Unknown Source)
com.jidesoft.grid.JideTable.b(Unknown Source)
com.jidesoft.grid.CellSpanTable.calculateRowHeight(Unknown Source)
com.jidesoft.grid.JideTable.c(Unknown Source)
com.jidesoft.grid.JideTable.getCellRect(Unknown Source)
com.jidesoft.grid.CellSpanTable.getCellRect(Unknown Source)
java.desktop@17.0.9/javax.swing.plaf.basic.BasicTableUI.createTableSize(Unknown Source)
java.desktop@17.0.9/javax.swing.plaf.basic.BasicTableUI.getPreferredSize(Unknown Source)
java.desktop@17.0.9/javax.swing.JComponent.getPreferredSize(Unknown Source)
java.desktop@17.0.9/javax.swing.ScrollPaneLayout.layoutContainer(Unknown Source)
java.desktop@17.0.9/java.awt.Container.layout(Unknown Source)
java.desktop@17.0.9/java.awt.Container.doLayout(Unknown Source)
java.desktop@17.0.9/java.awt.Container.validateTree(Unknown Source)
java.desktop@17.0.9/java.awt.Container.validate(Unknown Source)
java.desktop@17.0.9/javax.swing.RepaintManager$3.run(Unknown Source)
java.desktop@17.0.9/javax.swing.RepaintManager$3.run(Unknown Source)
java.base@17.0.9/java.security.AccessController.executePrivileged(Unknown Source)
java.base@17.0.9/java.security.AccessController.doPrivileged(Unknown Source)
java.base@17.0.9/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
java.desktop@17.0.9/javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
java.desktop@17.0.9/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
java.desktop@17.0.9/java.awt.event.InvocationEvent.dispatch(Unknown Source)
java.desktop@17.0.9/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
java.desktop@17.0.9/java.awt.EventQueue$4.run(Unknown Source)
java.desktop@17.0.9/java.awt.EventQueue$4.run(Unknown Source)
java.base@17.0.9/java.security.AccessController.executePrivileged(Unknown Source)
java.base@17.0.9/java.security.AccessController.doPrivileged(Unknown Source)
java.base@17.0.9/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
java.desktop@17.0.9/java.awt.EventQueue.dispatchEvent(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.run(Unknown Source)
java.base@17.0.9/java.lang.Object.hashCode(Native Method)
java.base@17.0.9/java.util.HashMap.hash(Unknown Source)
java.base@17.0.9/java.util.HashMap.put(Unknown Source)
java.base@17.0.9/java.util.HashSet.add(Unknown Source)
java.base@17.0.9/java.util.AbstractCollection.addAll(Unknown Source)
java.base@17.0.9/java.util.HashSet.<init>(Unknown Source)
java.desktop@17.0.9/javax.swing.text.CompositeView.replace(Unknown Source)
java.desktop@17.0.9/javax.swing.text.BoxView.replace(Unknown Source)
java.desktop@17.0.9/javax.swing.text.WrappedPlainView.loadChildren(Unknown Source)
java.desktop@17.0.9/javax.swing.text.CompositeView.setParent(Unknown Source)
java.desktop@17.0.9/javax.swing.plaf.basic.BasicTextUI$RootView.setView(Unknown Source)
java.desktop@17.0.9/javax.swing.plaf.basic.BasicTextUI.setView(Unknown Source)
java.desktop@17.0.9/javax.swing.plaf.basic.BasicTextUI.modelChanged(Unknown Source)
java.desktop@17.0.9/javax.swing.plaf.basic.BasicTextAreaUI.propertyChange(Unknown Source)
java.desktop@17.0.9/javax.swing.plaf.synth.SynthTextAreaUI.propertyChange(Unknown Source)
java.desktop@17.0.9/javax.swing.plaf.basic.BasicTextUI$UpdateHandler.propertyChange(Unknown Source)
java.desktop@17.0.9/java.beans.PropertyChangeSupport.fire(Unknown Source)
java.desktop@17.0.9/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
java.desktop@17.0.9/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
java.desktop@17.0.9/java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source)
java.desktop@17.0.9/java.awt.Component.firePropertyChange(Unknown Source)
java.desktop@17.0.9/javax.swing.JComponent.firePropertyChange(Unknown Source)
java.desktop@17.0.9/javax.swing.JTextArea.setWrapStyleWord(Unknown Source)
com.jidesoft.swing.MultilineLabel.adjustUI(Unknown Source)
com.jidesoft.swing.MultilineLabel.updateUI(Unknown Source)
com.jidesoft.grid.MultilineTableCellRenderer.updateUI(Unknown Source)
java.desktop@17.0.9/javax.swing.text.JTextComponent.<init>(Unknown Source)
java.desktop@17.0.9/javax.swing.JTextArea.<init>(Unknown Source)
java.desktop@17.0.9/javax.swing.JTextArea.<init>(Unknown Source)
com.jidesoft.swing.MultilineLabel.<init>(Unknown Source)
com.jidesoft.grid.MultilineTableCellRenderer.<init>(Unknown Source)
com.sepasoft.production.components.table.PMIVisionAdvancedTableCellRenderer.getTableCellRendererComponent(PMIVisionAdvancedTableCellRenderer.java:150)
com.jidesoft.grid.JideTable.a(Unknown Source)
com.jidesoft.grid.CellStyleTable.a(Unknown Source)
com.jidesoft.grid.JideTable.b(Unknown Source)
com.jidesoft.grid.CellSpanTable.calculateRowHeight(Unknown Source)
com.jidesoft.grid.JideTable.c(Unknown Source)
com.jidesoft.grid.JideTable.getCellRect(Unknown Source)
com.jidesoft.grid.CellSpanTable.getCellRect(Unknown Source)
java.desktop@17.0.9/javax.swing.plaf.basic.BasicTableUI.createTableSize(Unknown Source)
java.desktop@17.0.9/javax.swing.plaf.basic.BasicTableUI.getPreferredSize(Unknown Source)
java.desktop@17.0.9/javax.swing.JComponent.getPreferredSize(Unknown Source)
java.desktop@17.0.9/javax.swing.ScrollPaneLayout.layoutContainer(Unknown Source)
java.desktop@17.0.9/java.awt.Container.layout(Unknown Source)
java.desktop@17.0.9/java.awt.Container.doLayout(Unknown Source)
java.desktop@17.0.9/java.awt.Container.validateTree(Unknown Source)
java.desktop@17.0.9/java.awt.Container.validate(Unknown Source)
java.desktop@17.0.9/javax.swing.RepaintManager$3.run(Unknown Source)
java.desktop@17.0.9/javax.swing.RepaintManager$3.run(Unknown Source)
java.base@17.0.9/java.security.AccessController.executePrivileged(Unknown Source)
java.base@17.0.9/java.security.AccessController.doPrivileged(Unknown Source)
java.base@17.0.9/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
java.desktop@17.0.9/javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
java.desktop@17.0.9/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
java.desktop@17.0.9/java.awt.event.InvocationEvent.dispatch(Unknown Source)
java.desktop@17.0.9/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
java.desktop@17.0.9/java.awt.EventQueue$4.run(Unknown Source)
java.desktop@17.0.9/java.awt.EventQueue$4.run(Unknown Source)
java.base@17.0.9/java.security.AccessController.executePrivileged(Unknown Source)
java.base@17.0.9/java.security.AccessController.doPrivileged(Unknown Source)
java.base@17.0.9/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
java.desktop@17.0.9/java.awt.EventQueue.dispatchEvent(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.desktop@17.0.9/java.awt.EventDispatchThread.run(Unknown Source)
Specifically, a power table, based on PMIVisionAdvancedTableCellRenderer
; VisionAdvancedTable
is the internal name in code for the power table.
Do you have a table with a lot of rows on it? As in, tens of thousands or more? Unintentionally, perhaps?
I think 'images' are a red herring, unless you're using the word 'image' when you mean 'window' or 'template', the terms used for Vision's specific top level constructs?
Thanks a lot for the info Paul!
Sorry for the confusion, by opening an image I mean a Window (habit from other SCADA).
I am loading an OEE downtime table from Sepasoft as well as an OEE time Chart. thought that it would only load the info from the date range that is specified..
1 Like
Something is making that table rendering take a long time.
From experience, that's usually:
A bad script. Not implicated here, because it would show up in the stacktrace.
Just too much data. Vision's tables don't have any kind of "virtualizing" of rows like Perspective does, so depending on your client hardware more than ~tens of thousands of rows will choke things up.
More rarely, 'bad' data input of, say, a single line in a table with tens of thousands of characters in it could blow up the rendering algorithms. This is generally less common, but I've seen it happen.
I would probably recommend you contact our support department officially at this point. They might end up sending you to Sepasoft support, if they determine that the issue is in fact with the Sepasoft components on the window, but the stacktrace you've sent doesn't implicate those components.
1 Like
Thanks a lot Paul!
I will check to see if there is a way of limiting the amount of data being loaded.
It turned out that it was the Downtime table that was loading a lot of data due to long production runs.
After switching the 'Run Look Back Count' from 1 to 0 (this will only show data from the date range selected), the windows were loading normal again.
Thanks again Paul for steering me in that direction!
1 Like