Study Case
I have 2 engines in manager.db:
"5c1076884fdd11e991f9080027a1b76a" "NXDRIVE" "192.168.0.13" "C:/Users/Windows10/Documents/Nuxeo Drive 4" "cca94efa57b111e982b3080027a1b76a" "NXDRIVE" "192.168.0.13" "C:/Users/Windows10/Documents/Nuxeo Drive"
But the physical database of the engine 5c1076884fdd11e991f9080027a1b76a does not exist anymore.
In the logs, we can see that Manager._engines is still referencing that engine because we are adding it to the list of folders to watch for icon overlays:
Wrote 'Software\\Nuxeo\\Drive\\Overlays': {'FilterFolders': '["C:\\\\Users\\\\Windows10\\\\Documents\\\\Nuxeo Drive 4", "C:\\\\Users\\\\Windows10\\\\Documents\\\\Nuxeo Drive"]'}
Fix
Manager._engines should not take into account missing engines.