Skip to content

Not detecting lost connection in certain circumstances #223

@gbakeman

Description

@gbakeman

It was discovered that under certain circumstances, WinNUT will not detect that a connection was dropped, the UPS Load and Remaining time fields will be reset, but the rest of the UI will appear as though it was still connected.

Reproduction

Due to the non-deterministic behavior of this bug, reproduction can be difficult. I've had a fair amount of success using a VirtualBox virtual machine, Windows 7 SP1 x64 guest, with two CPU cores and no execution cap. Chances of reproduction are higher when WinNUT's logging is turned off and no debugger is attached.

@yoyoma2's investigation

Posted:

I installed v2.3.9437 and put the username back in the "Login" text field. While running RaspiBackup (stops the NUT server and starts it hours later) WinNUT Client did not show any notifications and the icon in the taskbar did not change. I would expect a lost connection notification, a different icon until the a connected notification when the NUT server restarts. The old version did all that as long as the "Login" text field was empty.

Adds:

To get the bug I uncheck "Create Logfile" (Logging level stays at Debug), exit WinNUT client and reboot. The installer configured WinNUT client to run on startup only for my user. The stop/start of the server with the command above produces no notifications but hovering on the taskbar icon shows a strange -1%.
Image

After that, opening the GUI shows the green UPS On Line but no dials refresh (we're not really connected). UPS Load is then always 0% even though the server is running again.

Last year I probably always had "Create Logfile" checked when I tested the debug build so the bug with having "Create Logfile" unchecked may have already been there.

Furthermore:

After it works with logging on, it will probably still work if logging is turned off. Sometimes after the bug I'll disconnect and reconnect manually from the connection menu so the dials can display properly again. After that the bug may or may not be reproducible. That's why I put reboot in the replication steps earlier because after rebooting with logging unchecked the bug always happens. Seems like an initialization thing.

Related

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions