Re: Permanently disabling watchdog via config


 

Hi,
There is no such config option to turn off watchdog at startup, although I think a command line switch might help (if implemented) or modify the source code. The best person to talk to regarding NVDA watchdog is James Teh (Mozilla) who is the main architect of that module.
Cheers,
Joseph

-----Original Message-----
From: nvda@nvda.groups.io <nvda@nvda.groups.io> On Behalf Of Felix G.
Sent: Wednesday, December 5, 2018 9:37 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Permanently disabling watchdog via config

Hi!
Let me clear up some of the confusion: Watchdog, in computing, usually refers to a component which monitors whether a system is alive. If the system turns out to be unresponsive, the watchdog will step in and try to get it out of the tight spot. NVDA has one, too. For certain operations, if they do not complete within a certain time, the watchdog jumps in and cancels the operation to make NVDA more responsive. In short, whenever NVDA's core freezes, the watchdog will force it out of the spot where it froze and back into safe territory.
Apologies to programmers for the over-simplification. The truth has to do with threads and exceptions and stuff.
It's a bit like on an airplane. Let's say the pilot decides to switch to autopilot. Theoretically, the plane can now do everything it takes to get to its destination automatically, with the possible exception of landing, which requires human clearance. Still, you wouldn't want to fly with a dead pilot, so the pilot is required to press a button every now and then to indicate they're still alive and breathing.
That's how a watchdog works.
Now my machine, being somewhat on the slow side as far as machines go, seems to encounter a lot of those so-called freezes (unconscious pilots), so the watchdog thinks it has a lot of work to do and ends up cancelling many little interactions between NVDA and other processes.
As a result, data sometimes does not get relayed to NVDA the way it's supposed to, and therefore NVDA sometimes fails to track focus.
Disabling the watchdog, on my system, makes NVDA a bit sluggish sometimes as it wades through some slow spots, but it tends to arrive at the correct answers more often, which outweighs that disadvantage.
When NVDA is running, I can tell the watchdog to go to sleep by typing the following into the Python console:
import watchdog
watchdog.terminate()
So I'm pulling the watchdog's module into the console's scope and then calling its terminate function, which simply tells it to stop watching. Technically, the thread that does the watching just gets killed. Poor doggy. Fortunately just a software one.
Anyway, now I'm looking for a way to have NVDA never even start the watchdog, as I prefer living with the occasional sluggishness or crash rather than have the system behave indeterministically.
All the best,
Felix
Am Mi., 5. Dez. 2018 um 18:20 Uhr schrieb Gene <gsasner@...>:

From the name, this is most likely an antimalware program. A Goodle search for Watchdog antimalware, shows this as the first result with an explanation of the program:
https://www.watchdogdevelopment.com/en/home/anti-malware

Gene
----- Original Message -----
From: Tyler Wood
Sent: Wednesday, December 05, 2018 11:03 AM
To: nvda@nvda.groups.io
Subject: Re: [nvda] Permanently disabling watchdog via config

Hi,

Please explain what you are talking about by 'watchdog'?

A quick google search of windows 10 watchdog nets how to fix errors
related to it, not how to disable it or even what it does.


Further googling it appears that this is an ssd driver?


On 2018-12-05 3:19 a.m., Felix G. wrote:
Hello,
I'm currently testing some driver scenarios with watchdog disabled,
and by coincidence discovered that some of my longstanding NVDA
issues are not present, or behave differently, when the watchdog is
not on duty. Is there a quick'n'easy way to have the watchdog never start?
All the best,
Felix



Join nvda@nvda.groups.io to automatically receive all group messages.