[ 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 (after fixing the NPE) 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. It 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) }} 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. It 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 (after fixing > the NPE) 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. > It 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)