KNIME 5.2.0 - Empty Node Repository

Hi, I installed the new Version. After installation i got an empty node repository.
What can I do?

Best, Ralf

I also seem to have this issue. It does seem to do some processing on load:

I think this is the corresponding log error:

2023-12-06 22:24:32,804 : WARN : comm-pool-thread-1 : : JsonRpcErrorResolver : : : An unexpected json rpc error occurred
java.lang.NullPointerException: Cannot invoke “java.util.Map.values()” because the return value of “org.knime.core.node.extension.NodeSpecCollectionProvider.getActiveNodes()” is null
at org.knime.gateway.impl.webui.NodeRepository.loadAllNodesAndNodeSets(NodeRepository.java:246)
at org.knime.gateway.impl.webui.NodeRepository.getNodes(NodeRepository.java:205)
at org.knime.gateway.impl.webui.NodeGroups.getNodesPerCategory(NodeGroups.java:148)
at org.knime.gateway.impl.webui.NodeGroups.getNodesGroupedByTags(NodeGroups.java:120)
at org.knime.gateway.impl.webui.service.DefaultNodeRepositoryService.getNodesGroupedByTags(DefaultNodeRepositoryService.java:115)
at org.knime.gateway.impl.webui.jsonrpc.service.JsonRpcNodeRepositoryServiceWrapper.getNodesGroupedByTags(JsonRpcNodeRepositoryServiceWrapper.java:104)
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 com.googlecode.jsonrpc4j.JsonRpcBasicServer.invoke(JsonRpcBasicServer.java:478)
at com.googlecode.jsonrpc4j.JsonRpcBasicServer.handleObject(JsonRpcBasicServer.java:349)
at com.googlecode.jsonrpc4j.JsonRpcBasicServer.handleJsonNodeRequest(JsonRpcBasicServer.java:274)
at com.googlecode.jsonrpc4j.JsonRpcBasicServer.handleRequest(JsonRpcBasicServer.java:242)
at org.knime.gateway.impl.jsonrpc.JsonRpcRequestHandler.handle(JsonRpcRequestHandler.java:104)
at org.knime.ui.java.browser.lifecycle.Init.lambda$5(Init.java:244)
at com.equo.comm.common.MessageHandler.processReceivedEventMessage(MessageHandler.java:131)
at com.equo.comm.ee.provider.service.ChromiumService.receiveMessage(ChromiumService.java:98)
at com.equo.comm.ee.provider.CommunicationManagerChromiumImpl.receiveMessage(CommunicationManagerChromiumImpl.java:48)
at com.equo.chromium.swt.internal.spi.CommRouterHandler.handleRequest(CommRouterHandler.java:33)
at com.equo.chromium.swt.internal.spi.CommRouterHandler.lambda$1(CommRouterHandler.java:51)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

Cheers

Sam

1 Like

In NodeSpecCache it looks like if a runtime exception is thrown when processing the plugins looking for nodes this is possibly swallowed and stops the cache from being built. It gets bumped to the finally block and doesn’t populate the m_views.

I’ve got a couple of plugins in my environment that aren’t working properly in KNIME 5.2 and they are causing exceptions to be thrown when generating the node cache.

As a hint towards a proper fix this try catch and dropping the nodes from the extensions that don’t load properly causes the nodes to appear:


So it looks like some protection was put in for this already and the NodeSpec#of method catches exceptions and returns an empty optional.

If instead of catching Exception you catch Throwable all seems well and it just skips the specific nodes with issues and not all nodes in the plugin with issues.

Log output after making this change contains two entries:

Cheers

Sam

3 Likes

HI Sam,
Thank you for your very quick response. It works! After uninstalling some extentions, i got my node repo back.

Best, Ralf

3 Likes

Thank you @ralf42 and @swebb for reporting this.

May I ask a few question to understand the issue better?

  • Did you download/install a fresh KNIME AP 5.2 or update a previous version?
  • Which OS do you use?
  • Since you already mentioned the cause of the issue was some extension(s), would you mind to share the name of the extension(s) with us?
1 Like

@armingrudd here’s the info you requested:

Did you download/install a fresh KNIME AP 5.2 or update a previous version?

I upgraded from 5.1 but then I switched to my development environment and recreated it there using a target platform based on 5.2.

I don’t know if I would have had the issue in 5.1 as until now I haven’t used the new UI. The class causing the issue says it’s since 5.2 though.

Which OS do you use?

Windows

Since you already mentioned the cause of the issue was some extension(s), would you mind to share the name of the extension(s) with us?

In my case it’s one of my internal extensions. The issue specifically is it’s got a bundled jar that has some modules issues around java.xml when trying to load some classes. It throws an issue at runtime not compile time so the bundle is loadable but the node itself doesn’t function.

1 Like

Hello @ralf42 and @swebb,

thanks for the report and the detailed diagnosis! We’re working on the bugfix to make loading the node repository more resilient (internal reference AP-21681).

Best,
Manuel

5 Likes

Hi,
i also upgraded from 5.1 to 5.2 and OS is Windows 11.
I uninstalled the deep learning and H2o extensions.

Best Ralf

1 Like

If you want me to try out a nightly build or a branch at some point let me know

1 Like