paho.mqtt.java icon indicating copy to clipboard operation
paho.mqtt.java copied to clipboard

NullPointerException in ReconnectTask and ConnectActionListener.onFailure, ClientComms.getNetworkModules() is null after close()

Open in-fke opened this issue 1 year ago • 0 comments

Please fill out the form below before submitting, thank you!

  • [X] Bug exists Release Version 1.2.5 ( Master Branch)
  • [?] Bug exists in MQTTv3 Client on Snapshot Version 1.2.6-SNAPSHOT (Develop Branch)
  • [?] Bug exists in MQTTv5 Client on Snapshot Version 1.2.6-SNAPSHOT (Develop Branch)

Line with NPE is: https://github.com/eclipse/paho.mqtt.java/blob/master/org.eclipse.paho.mqttv5.client/src/main/java/org/eclipse/paho/mqttv5/client/internal/ConnectActionListener.java#L195

Exception in thread "MQTT Reconnect: Application" java.lang.NullPointerException: Cannot read the array length because the return value of "org.eclipse.paho.mqttv5.client.internal.ClientComms.getNetworkModules()" is null
	at org.eclipse.paho.mqttv5.client.internal.ConnectActionListener.onFailure(ConnectActionListener.java:195)
	at org.eclipse.paho.mqttv5.client.internal.ConnectActionListener.connect(ConnectActionListener.java:248)
	at org.eclipse.paho.mqttv5.client.MqttAsyncClient.connect(MqttAsyncClient.java:783)
	at org.eclipse.paho.mqttv5.client.MqttAsyncClient.attemptReconnect(MqttAsyncClient.java:1583)
	at org.eclipse.paho.mqttv5.client.MqttAsyncClient.access$2(MqttAsyncClient.java:1578)
	at org.eclipse.paho.mqttv5.client.MqttAsyncClient$ReconnectTask.run(MqttAsyncClient.java:1623)
	at java.base/java.util.TimerThread.mainLoop(Timer.java:566)
	at java.base/java.util.TimerThread.run(Timer.java:516)

Maybe close() should invoke stopReconnectCycle()? Alternatively, ReconnectTask should not invoke attemptReconnect() if client was closed?

in-fke avatar May 06 '24 10:05 in-fke