Excel Writer "NullPointerException"

Hi all,
I’m having some trouble with the Excel Writer node on KNIME Server 4.9.1 and was hoping you can point out what I’m doing wrong.
I have a workflow that is supposed to write an XLSX file and send it via email. In KNIME Analytics Platform, everything works fine but on KNIME Server I always get the error message:
Excel Writer (XLS) 3:126 - ERROR: Execute failed: (“NullPointerException”): null

This happens everytime I use the Excel Writer node. CSV writer is working fine.
I’m basically using this setup to create the filename variable:
image

What am I doing wrong?

Best
Rahul

Hi,

do you see any error in the KNIME log (View -> Open KNIME log)?

Cheers,
Moritz

Hi Moritz,

There are no errors in the log and the workflow runs fine in Analytics Platform. Only on Server, we get this error.

Best
Rahul

Hi,

this is true…
Could you somehow obtain the executor logs?
Easiest way would be to login to KNIME WebPortal as an admin user, go to Administration and hit Download Server Log Files under Status Info

You could also share your workflow in case there’s a problem in there.

Cheers,
Moritz

Hi,

I found the following entries in the logs when executing the workflow:

Log

2019-10-28 11:40:37,008 : WARN : RMI TCP Connection(519)-10.101.64.28 : 94dde2fd-ba8a-496a-9c8d-c3bd2dc744e6 : Node : Create File Name : 2:128 : Selected directory ‘/istores/knime/knime_server/workflow_repository/jobs/94dde2/flowContextTmp/knime_tc_vvzqrx6v4bwr’ cannot be accessed!
2019-10-28 11:40:37,055 : WARN : RMI TCP Connection(520)-10.101.64.28 : 94dde2fd-ba8a-496a-9c8d-c3bd2dc744e6 : Node : Create File Name : 2:128 : Selected directory ‘/istores/knime/knime_server/workflow_repository/jobs/94dde2/flowContextTmp/knime_tc_utggn8bfvzzd’ cannot be accessed!
2019-10-28 11:40:37,069 : ERROR : KNIME-Worker-74 : 94dde2fd-ba8a-496a-9c8d-c3bd2dc744e6 : Node : Excel Writer (XLS) : 2:126 : Execute failed: (“NullPointerException”): null
java.lang.NullPointerException
at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
at sun.awt.FontConfiguration.init(FontConfiguration.java:107)
at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774)
at sun.font.SunFontManager$2.run(SunFontManager.java:431)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.(SunFontManager.java:376)
at sun.awt.FcFontManager.(FcFontManager.java:35)
at sun.awt.X11FontManager.(X11FontManager.java:57)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.awt.Font.getFont2D(Font.java:491)
at java.awt.Font.canDisplayUpTo(Font.java:2060)
at java.awt.font.TextLayout.singleFont(TextLayout.java:470)
at java.awt.font.TextLayout.(TextLayout.java:531)
at org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:275)
at org.apache.poi.xssf.streaming.AutoSizeColumnTracker.(AutoSizeColumnTracker.java:117)
at org.apache.poi.xssf.streaming.SXSSFSheet.(SXSSFSheet.java:82)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:658)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:679)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:90)
at org.knime.ext.poi2.node.write2.XLSWriter2.write(XLSWriter2.java:211)
at org.knime.ext.poi2.node.write2.XLSWriter2NodeModel.execute(XLSWriter2NodeModel.java:170)
at org.knime.core.node.NodeModel.execute(NodeModel.java:733)
at org.knime.core.node.NodeModel.executeModel(NodeModel.java:567)
at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1192)
at org.knime.core.node.Node.execute(Node.java:979)
at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:559)
at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95)
at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:179)
at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:110)
at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:328)
at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:204)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)
at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)

Here’s the workflow, in case you need it:
XLS_Test.knwf (17.5 KB)

Best
Rahul

Hi,

the log indicates that there’s a problem when trying to load the system fonts.
Could you elaborate on what kind of machine your server is running on (operating system, in a docker container, in the cloud,…)?
Did you install your jdk headless?

Cheers,
Moritz

Hi,
Thanks for pointing this out!
We’ve installed the fontconfig package and the Excel Writer node is now working on the Server without any issues.
Thread can be closed I guess.

Best
Rahul

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.