Excel Writer "NullPointerException"

#1

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

0 Likes

#2

Hi,

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

Cheers,
Moritz

0 Likes

#3

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

0 Likes

#4

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

0 Likes

#5

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

0 Likes

#6

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

0 Likes

#7

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

closed #8

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

0 Likes