Urgent help required
Working on a critical project which is so huge and ran into a scenario where it not letting me add any nodes, can anyone please help here
I am at 80% closure to completion and have no time.
Options of components and all will take very longer and don’t have that much time.
log:
!ENTRY org.eclipse.ui 4 0 2024-07-04 20:23:09.477
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTError: No more handles
at org.eclipse.swt.SWT.error(SWT.java:4944)
at org.eclipse.swt.SWT.error(SWT.java:4833)
at org.eclipse.swt.SWT.error(SWT.java:4804)
at org.eclipse.swt.widgets.Widget.error(Widget.java:450)
at org.eclipse.swt.widgets.Control.internal_new_GC(Control.java:1776)
at org.eclipse.swt.graphics.GC.win32_new(GC.java:5059)
at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1548)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4803)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5034)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3643)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
at org.knime.product.rcp.KNIMEApplication.start(KNIMEApplication.java:191)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
yes it is happening multiple times
i have to restart knime when ever it happens, loose changes and re do my work.
It is also hanging a lot and hangs.
Knime version being used : 4.7.4
Yes in the workspace where we add nodes, it doesn’t let me add any nodes. How ever this got fixed after a restart of knime.
But it is very slow, see taking longer time to execute and hangs and shuts down multiple times
@chaithuj first: make sure to always have a backup of your work on another machine especially if it is unstable.
Then you want to check the resources of your system. Larger workflows will need more (especially) RAM. How many GB do you have assigned to knime? What is your operating system and processor? Make sure knime has enough and no other program is running at the same time.
You could try and activate columnar storage in a copy of your WF and test that (you remember to backup?).
Then: you might have to think about restructuring your WF and maybe call several parts from one central one.
@chaithuj with cloud please read the passage in the linked article and also the one about backup
About columnar storage this blog. Please note newer versions of knime (5.3) might have different settings. The storage might not improve speed but maybe save on volume on disk. You might have to try a few things - after you have secured a backup.
Knime started up and when i execute the workflow, thsi is what i see in the log and it got stuck
org.eclipse.swt.SWTError: No more handles
at org.eclipse.swt.SWT.error(SWT.java:4944)
at org.eclipse.swt.SWT.error(SWT.java:4833)
at org.eclipse.swt.SWT.error(SWT.java:4804)
at org.eclipse.swt.widgets.Display.error(Display.java:1254)
at org.eclipse.swt.widgets.Display.internal_new_GC(Display.java:2708)
at org.eclipse.swt.graphics.Device.getDepth(Device.java:485)
at org.eclipse.swt.custom.CTabFolder.setBackground(CTabFolder.java:2431)
at org.eclipse.e4.ui.css.swt.properties.custom.CSSPropertyUnselectedTabsSWTHandler.applyCSSProperty(CSSPropertyUnselectedTabsSWTHandler.java:69)
at org.eclipse.e4.ui.css.swt.properties.AbstractCSSPropertySWTHandler.applyCSSProperty(AbstractCSSPropertySWTHandler.java:35)
at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyCSSProperty(AbstractCSSEngine.java:746)
at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyleDeclaration(AbstractCSSEngine.java:552)
at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:419)
at org.eclipse.e4.ui.css.core.impl.engine.AbstractCSSEngine.applyStyles(AbstractCSSEngine.java:374)
at org.eclipse.e4.ui.css.swt.internal.theme.ThemeEngine.applyStyles(ThemeEngine.java:553)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.setClassnameAndId(PartRenderingEngine.java:1320)
at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.setCSSInfo(SWTPartRenderer.java:123)
at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.updateNonFocusState(WBWRenderer.java:616)
at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.lambda$6(WBWRenderer.java:589)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4251)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1090)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1071)
at org.eclipse.swt.widgets.Decorations.WM_ACTIVATE(Decorations.java:1533)
at org.eclipse.swt.widgets.Shell.WM_ACTIVATE(Shell.java:2314)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4743)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1480)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2286)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5026)
at org.eclipse.swt.internal.win32.OS.DefWindowProc(Native Method)
at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:508)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4847)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:340)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1480)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2286)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5034)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3643)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:156)
at org.knime.product.rcp.KNIMEApplication.start(KNIMEApplication.java:191)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
I have read thru the Article and FAQ’s you shared and made all these changes
Knime Version : 4.7.4
The workflow size when copied to a file is : 6655 KB
The Tech spec of my laptop :
RAM : 32.0 GB (31.7 GB usable)
Processor : 12th Gen Intel(R) Core™ i7-1265U 1.80 GHz
System Type : 64-bit operating system, x64-based processor
Edition :Windows 11 Enterprise
The changes I made following the suggestions:
i)Created a workspace with just this one program and no other applications running on my Laptop
ii)
–add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED
-Xmx16217m
Increased this to 24GB as below
–add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED
-Xmx24217m -
when hanging the memory utilization is at
and get the error " [SWT No More Handles]
Can you please help me what does “No more handles mean” Is there a way we can increase the number of handles or prevent this error
What exactly is needed to get more handles , as i have shared my laptop config details, can you please suggest me
@chaithuj thank you for the additional details. These things come to mind:
the workflow seems to run in a one Drive environment. That might cause problems. Maybe try just a folder on the machine without sync
check the DB/Oracle drivers and their use in the workflow. That there will not be a timeout and if they would constantly reconnect in a loop or something. Maybe best initiated them once when they are needed
what kind of constant value is being assigned? Can you use a column expression at this point. Also maybe do the setting of the constant value in a row instead of at the same time off this is the case
Next idea couls be to try knime 5.3 if that is possible and also check for aggressive virus scanners.