[
https://issues.apache.org/jira/browse/NIFI-8745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adam Taft updated NIFI-8745:
----------------------------
Description:
I have seen this NullPointerException several times recently. This is
apparently coming from the bootstrap component. But really unfortunately, the
stacktrace is being echoed to standard out/err and not captured in any log.
{{
java.lang.NullPointerException
at
org.apache.nifi.bootstrap.BootstrapCodec.communicate(BootstrapCodec.java:44)
at
org.apache.nifi.bootstrap.NiFiListener$Listener$2.run(NiFiListener.java:122)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
}}
A fix on line 44 to prevent the NPE should be obvious, but the cause is
unknown. I speculate that the system being run on is scanned (probably a
malware / open port scanner) for compliance reasons. However, I honestly don't
know anything more at this point as to a direct cause.
There is an IOException that can potentially be thrown if the codec
communication is invalid (line 46). It would be good to check whether the
thrown exception would be logged to the bootstrap log or be output to standard
out, like the above stack trace is currently. Ideally, any exception thrown by
the bootstrap code should be caught and logged, not output to the console.
I might be wise to consider this a non-error. An open port scanner (as
hypothesized above) should be able to run against the bootstrap listener
without causing a stack trace at all. Maybe just an "INFO" logging, that some
non-NiFi client connected. It's unlikely that a stacktrace adds much value to
the diagnosing of a random socket client. Maybe the INFO logging could include
remote IP and port of connecting client.
was:
I have seen this NullPointerException several times recently. This is
apparently coming from the bootstrap component. But really unfortunately, the
stacktrace is being echoed to standard out/err and not captured in any log.
{{
java.lang.NullPointerException
at
org.apache.nifi.bootstrap.BootstrapCodec.communicate(BootstrapCodec.java:44)
at
org.apache.nifi.bootstrap.NiFiListener$Listener$2.run(NiFiListener.java:122)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
}}
This fix on line 44 to prevent the NPE should be obvious, but the cause is
unknown. I speculate that the system being run on is scanned (probably a
malware / open port scanner) for compliance reasons. However, I honestly don't
know anything more at this point as to a direct cause.
There is an IOException that can potentially be thrown if the codec
communication is invalid (line 46). It would be good to check whether the
thrown exception would be logged to the bootstrap log or be output to standard
out, like the above stack trace is currently. Ideally, any exception thrown by
the bootstrap code should be caught and logged, not output to the console.
I might be wise to consider this a non-error. An open port scanner (as
hypothesized above) should be able to run against the bootstrap listener
without causing a stack trace at all. Maybe just an "INFO" logging, that some
non-NiFi client connected. It's unlikely that a stacktrace adds much value to
the diagnosing of a random socket client. Maybe the INFO logging could include
remote IP and port of connecting client.
> NullPointerException in Bootstrap
> ---------------------------------
>
> Key: NIFI-8745
> URL: https://issues.apache.org/jira/browse/NIFI-8745
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 1.13.2
> Environment: JDK 1.8 - Ubuntu Server
> Reporter: Adam Taft
> Priority: Major
>
> I have seen this NullPointerException several times recently. This is
> apparently coming from the bootstrap component. But really unfortunately, the
> stacktrace is being echoed to standard out/err and not captured in any log.
> {{
> java.lang.NullPointerException
> at
> org.apache.nifi.bootstrap.BootstrapCodec.communicate(BootstrapCodec.java:44)
> at
> org.apache.nifi.bootstrap.NiFiListener$Listener$2.run(NiFiListener.java:122)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> }}
> A fix on line 44 to prevent the NPE should be obvious, but the cause is
> unknown. I speculate that the system being run on is scanned (probably a
> malware / open port scanner) for compliance reasons. However, I honestly
> don't know anything more at this point as to a direct cause.
> There is an IOException that can potentially be thrown if the codec
> communication is invalid (line 46). It would be good to check whether the
> thrown exception would be logged to the bootstrap log or be output to
> standard out, like the above stack trace is currently. Ideally, any
> exception thrown by the bootstrap code should be caught and logged, not
> output to the console.
> I might be wise to consider this a non-error. An open port scanner (as
> hypothesized above) should be able to run against the bootstrap listener
> without causing a stack trace at all. Maybe just an "INFO" logging, that some
> non-NiFi client connected. It's unlikely that a stacktrace adds much value to
> the diagnosing of a random socket client. Maybe the INFO logging could
> include remote IP and port of connecting client.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)