node-zwave-js icon indicating copy to clipboard operation
node-zwave-js copied to clipboard

If enabling SmartStart listening mode causes a serial disconnect to be detected, it goes into an infinite loop

Open AlCalzone opened this issue 3 months ago • 1 comments

2025-10-10 17:34:17.364 CNTRLR   [Node 256] Beginning interview - last completed stage: ProtocolInfo
2025-10-10 17:34:17.366 CNTRLR » [Node 256] querying node info...
2025-10-10 17:34:17.406 CNTRLR   [Node 258] Beginning interview - last completed stage: ProtocolInfo
2025-10-10 17:34:17.406 CNTRLR » [Node 258] querying node info...
17:34:17.416 SERVER   ZwaveJS server listening on <all interfaces>:3000
2025-10-10 17:34:17.417 CNTRLR   Smart Start listening mode enabled
2025-10-10 17:34:24.093 DRIVER   Serial port closed unexpectedly, attempting to reopen...
2025-10-10 17:34:25.401 DRIVER   Serial port reopened
2025-10-10 17:34:34.073 DRIVER   Serial port closed unexpectedly, attempting to reopen...
2025-10-10 17:34:35.437 DRIVER   Serial port reopened
2025-10-10 17:34:41.558 DRIVER   Serial port closed unexpectedly, attempting to reopen...
2025-10-10 17:34:42.873 DRIVER   Serial port reopened
17:34:45.502 SERVER   Client disconnected
2025-10-10 17:34:52.068 DRIVER   Serial port closed unexpectedly, attempting to reopen...
2025-10-10 17:34:53.362 DRIVER   Serial port reopened
2025-10-10 17:35:02.535 DRIVER   Serial port closed unexpectedly, attempting to reopen...
2025-10-10 17:35:03.838 DRIVER   Serial port reopened
2025-10-10 17:35:12.011 DRIVER   Serial port closed unexpectedly, attempting to reopen...
2025-10-10 17:35:13.324 DRIVER   Serial port reopened
2025-10-10 17:35:19.242 DRIVER   Serial port closed unexpectedly, attempting to reopen...
2025-10-10 17:35:20.597 DRIVER   Serial port reopened
2025-10-10 17:35:27.226 CNTRLR   The controller is unresponsive
2025-10-10 17:35:27.228 DRIVER   Attempting to recover unresponsive controller by restarting it...
2025-10-10 17:35:27.229 CNTRLR   Performing soft reset...
17:35:29.027 SERVER   Client disconnected
2025-10-10 17:35:30.436 CNTRLR   Soft reset failed: Message dropped because of an unexpected error: The serial 
                                 port is not open! (ZW0202)
2025-10-10 17:35:30.438 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:35:30.440 CNTRLR   Waiting for the controller to reconnect...
2025-10-10 17:35:31.941 CNTRLR   Re-opening serial port...
2025-10-10 17:35:32.358 CNTRLR   Waiting for the Serial API to start...
2025-10-10 17:35:37.359 CNTRLR   Did not receive notification that Serial API has started, checking if it respo
                                 nds...
2025-10-10 17:35:42.165 CNTRLR   Serial API did not respond, trying again in 2 seconds...
2025-10-10 17:35:48.971 CNTRLR   Serial API did not respond, trying again in 5 seconds...
2025-10-10 17:35:58.778 CNTRLR   Serial API did not respond, trying again in 10 seconds...
17:36:09.040 SERVER   Client disconnected
2025-10-10 17:36:13.586 CNTRLR   Serial API did not respond, trying again in 15 seconds...
2025-10-10 17:36:33.396 CNTRLR   Serial API did not respond, giving up
2025-10-10 17:36:33.399 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.399 CNTRLR   Smart Start listening mode could not be enabled: driver instance destroyed (ZW
                                 0102)
2025-10-10 17:36:33.401 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.402 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.404 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.404 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.407 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.408 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.409 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.409 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.410 CNTRLR   [Node 256] Error during node interview: driver instance destroyed (ZW0102)
2025-10-10 17:36:33.410 CNTRLR   [Node 258] Error during node interview: driver instance destroyed (ZW0102)
2025-10-10 17:36:33.412 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.412 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.413 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.414 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.415 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.415 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.417 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.418 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.419 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.420 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.421 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.421 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.424 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.425 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.426 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.426 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.427 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.428 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.429 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.429 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.430 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.431 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.431 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.432 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.433 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.434 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.435 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.435 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.436 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.437 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.438 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.438 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)
2025-10-10 17:36:33.439 CNTRLR   Enabling Smart Start listening mode...
2025-10-10 17:36:33.440 CNTRLR   Smart Start listening mode could not be enabled: The driver is not ready or ha
                                 s been destroyed (ZW0103)

and so on, and so on...

AlCalzone avatar Oct 13 '25 08:10 AlCalzone

Preliminary investigation: Trying to write to a closed serial instance throws an Error, not a ZWaveError, which isn't handled cleanly. This causes the try-catch around await this.sendMessage(new SoftResetRequest() to simply log the error and continue. We should instead throw a proper ZWaveError, catch it and destroy the driver.

AlCalzone avatar Oct 13 '25 09:10 AlCalzone