nvda icon indicating copy to clipboard operation
nvda copied to clipboard

Many users reported that the upgrade process failed because files could not be replaced and caused NVDA corruption.

Open cary-rowen opened this issue 6 months ago • 12 comments

Steps to reproduce:

Three patch versions have been pushed recently, which seems to have made this problem more obvious. There are many reports from users that the upgrade cannot go smoothly because the files cannot be replaced, and even after the user clicks "retry" several times, the upgrade still fails and NVDA becomes corrupted. After restarting the computer NVDA goes completely silent and they have to ask someone else or reinstall NVDA with the help of Narrator.

Actual behavior:

The upgrade process failed because some files could not be replaced.

Expected behavior:

Can be upgraded smoothly.

NVDA logs, crash dumps and other attachments:

Due to the severity of the issue, users had to reinstall NVDA after their NVDA was compromised, which also resulted in log loss. Since I have not encountered this problem myself, there is no log for the time being.

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2023.3,2023.3.1,2023.3.2

Windows version:

Windows10 and Windows11

Name and version of other software in use when reproducing the issue:

None

Other information about your system:

None

Other questions

Does the issue still occur after restarting your computer?

Some users were able to upgrade successfully after restarting their computer, but others had their NVDA corrupted and unable to boot.

Have you tried any other versions of NVDA? If so, please report their behaviors.

I've experienced this myself with other versions of NVDA, but it's become an issue too frequently lately.

If NVDA add-ons are disabled, is your problem still occurring?

Unknown at the moment

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Unknown at the moment

cary-rowen avatar Feb 01 '24 16:02 cary-rowen

Hi, when this happens again, press NVDA+F1 to open the log viewer. The name of the file causing the problem will be listed after a traceback (typically nvda.exe). Thanks.

josephsl avatar Feb 01 '24 16:02 josephsl

Yes I get this silent treatment as well. Not sure what is going on, also the patch 2 seems not to want to update to patch 3 unless you download it manually and run it on Windows 7, well two windows 7 machines I have access to. All very peculiar and not seamless as it normally is. Win 10, seems to hang around for a long time before you start hearing the update beeps. Brian

-- @.*** Sent via blueyonder.(Virgin media) Please address personal E-mail to:- @.***, putting 'Brian Gaff' in the display name field. ----- Original Message ----- From: Rowen To: nvaccess/nvda Cc: Subscribed Sent: Thursday, February 01, 2024 4:08 PM Subject: [nvaccess/nvda] Many users reported that the upgrade process failed because files could not be replaced and caused NVDA corruption. (Issue #16122)

Steps to reproduce: Three patch versions have been pushed recently, which seems to have made this problem more obvious. There are many reports from users that the upgrade cannot go smoothly because the files cannot be replaced, and even after the user clicks "retry" several times, the upgrade still fails and NVDA becomes corrupted. After restarting the computer NVDA goes completely silent and they have to ask someone else or reinstall NVDA with the help of Narrator.

Actual behavior: The upgrade process failed because some files could not be replaced.

Expected behavior: Can be upgraded smoothly.

NVDA logs, crash dumps and other attachments: Due to the severity of the issue, users had to reinstall NVDA after their NVDA was compromised, which also resulted in log loss. Since I have not encountered this problem myself, there is no log for the time being.

System configuration NVDA installed/portable/running from source: Installed

NVDA version: 2023.3,2023.3.1,2023.3.2

Windows version: Windows10 and Windows11

Name and version of other software in use when reproducing the issue: None

Other information about your system: None

Other questions Does the issue still occur after restarting your computer? Some users were able to upgrade successfully after restarting their computer, but others had their NVDA corrupted and unable to boot.

Have you tried any other versions of NVDA? If so, please report their behaviors. I've experienced this myself with other versions of NVDA, but it's become an issue too frequently lately.

If NVDA add-ons are disabled, is your problem still occurring? Unknown at the moment

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu? Unknown at the moment

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.Message ID: @.***>

Brian1Gaff avatar Feb 02 '24 09:02 Brian1Gaff

@josephsl The following is the log, However it does not seem to contain useful information.

nvda.log

cary-rowen avatar Feb 03 '24 00:02 cary-rowen

The log is strange as there should be an error logged from nvda_slave.exe. Something similar to:

ERROR - RPC process 2524 (nvda_slave.exe) (16:12:08.064) - Dummy-4 (13812):
__main__.main:
slave error
Traceback (most recent call last):
  File "nvda_slave.pyw", line 113, in main
ValueError: No such action 

But installer.RetriableFailure.

However, as that message is not there, all I can think is that there is an old copy of NVDA still running, which is registered as the nvdaControler rpc server on this desktop, and therefore received the message instead of this copy of NVDA.

michaelDCurran avatar Feb 05 '24 06:02 michaelDCurran

There are a great deal of addons in that log. It is necessary to get a log of an NVDA with no add-ons that can reproduce this issue. Currently I cannot reproduce the issue.

michaelDCurran avatar Feb 05 '24 06:02 michaelDCurran

Since this is not always reproducible, getting clean logs can be difficult, and often this situation is more challenging for the average user. I will continue to pay attention to this issue.

cary-rowen avatar Feb 06 '24 16:02 cary-rowen

Not entirely sure, but according to feedback from some users, the update failure issue may be reproduced if one or more Edge windows are opened.

The following is a log snippet:

IO - speech.speech.speak (12:40:42.090) - MainThread (4876):
Speaking ['日志片段开始点已标记,再按一次复制到剪贴板']
IO - inputCore.InputManager.executeGesture (12:40:43.495) - winInputHook (9036):
Input: kb(laptop):alt+r
IO - speech.speech.speak (12:40:43.540) - MainThread (4876):
Speaking ['r', EndUtteranceCommand()]
DEBUGWARNING - UIAHandler.UIAHandler.getNearestWindowHandle (12:40:43.562) - Dummy-4 (18084):
error walking up to an element with a valid windowHandle
Traceback (most recent call last):
  File "UIAHandler\__init__.pyc", line 1292, in getNearestWindowHandle
_ctypes.COMError: (-2147467259, '未指定的错误', (None, None, None, 0, None))
DEBUGWARNING - NVDAObjects.__call__ (12:40:43.562) - Dummy-4 (18084):
Invalid NVDAObject: no windowHandle
Traceback (most recent call last):
  File "NVDAObjects\__init__.pyc", line 93, in __call__
  File "NVDAObjects\UIA\__init__.pyc", line 1363, in __init__
NVDAObjects.InvalidNVDAObject: no windowHandle
DEBUGWARNING - UIAHandler.UIAHandler.getNearestWindowHandle (12:40:43.564) - Dummy-4 (18084):
error walking up to an element with a valid windowHandle
Traceback (most recent call last):
  File "UIAHandler\__init__.pyc", line 1292, in getNearestWindowHandle
_ctypes.COMError: (-2147467259, '未指定的错误', (None, None, None, 0, None))
DEBUGWARNING - NVDAObjects.__call__ (12:40:43.565) - Dummy-4 (18084):
Invalid NVDAObject: no windowHandle
Traceback (most recent call last):
  File "NVDAObjects\__init__.pyc", line 93, in __call__
  File "NVDAObjects\UIA\__init__.pyc", line 1363, in __init__
NVDAObjects.InvalidNVDAObject: no windowHandle
IO - speech.speech.speak (12:40:43.601) - MainThread (4876):
Speaking ['正在创建便携版', '对话框', '正在创建 NVDA 便携版,请稍后。', CancellableSpeech (still valid)]
DEBUG - speech.manager.SpeechManager._handleIndex (12:40:43.603) - MainThread (4876):
Unknown index 233, speech probably cancelled from main thread.
IO - speech.speech.speak (12:40:43.843) - MainThread (4876):
Speaking ['正在创建便携版', '对话框', '正在创建 NVDA 便携版,请稍后。', CancellableSpeech (still valid)]
IO - tones.beep (12:40:44.605) - MainThread (4876):
Beep at pitch 440, for 40 ms, left volume 50, right volume 50
IO - tones.beep (12:40:45.600) - MainThread (4876):
Beep at pitch 440, for 40 ms, left volume 50, right volume 50
IO - tones.beep (12:40:46.603) - MainThread (4876):
Beep at pitch 440, for 40 ms, left volume 50, right volume 50
DEBUGWARNING - systemUtils.ExecAndPump.run (12:40:46.610) - systemUtils.ExecAndPump(<function createPortableCopy at 0x03661758>) (12632):
task had errors
Traceback (most recent call last):
  File "systemUtils.pyc", line 251, in run
  File "installer.pyc", line 682, in createPortableCopy
  File "installer.pyc", line 601, in tryRemoveFile
installer.RetriableFailure: File F:\Program Files\NVDA\nvda.exe could not be removed
ERROR - gui.installerGui.doCreatePortable (12:40:46.611) - MainThread (4876):
Failed to create portable copy
Traceback (most recent call last):
  File "gui\installerGui.pyc", line 460, in doCreatePortable
  File "systemUtils.pyc", line 247, in __init__
  File "systemUtils.pyc", line 251, in run
  File "installer.pyc", line 682, in createPortableCopy
  File "installer.pyc", line 601, in tryRemoveFile
installer.RetriableFailure: File F:\Program Files\NVDA\nvda.exe could not be removed

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "gui\installerGui.pyc", line 460, in doCreatePortable
  File "systemUtils.pyc", line 247, in __init__
  File "systemUtils.pyc", line 251, in run
  File "installer.pyc", line 682, in createPortableCopy
  File "installer.pyc", line 601, in tryRemoveFile
installer.RetriableFailure: File F:\Program Files\NVDA\nvda.exe could not be removed
IO - tones.beep (12:40:46.626) - MainThread (4876):
Beep at pitch 1760, for 40 ms, left volume 50, right volume 50
IO - speech.speech.speak (12:40:46.665) - MainThread (4876):
Speaking ['文件正在使用', '对话框', 'NVDA 无法替换或覆盖一个文件。', CancellableSpeech (still valid)]
IO - speech.speech.speak (12:40:46.666) - MainThread (4876):
Speaking ['重试(R)', '按钮', 'Alt+r', CancellableSpeech (still valid)]
IO - inputCore.InputManager.executeGesture (12:40:49.002) - winInputHook (9036):
Input: kb(laptop):control+shift+NVDA+f1

cary-rowen avatar Feb 12 '24 05:02 cary-rowen

This particular log shows trying to make a portable copy, though I thought we were talking about actually installing?

Also, it fails on removing nvda.exe which is the very first thing the code does, thus if this particular file fails, the install / portable copy will not be corrupt afterwards.

Message ID: @.***>

michaelDCurran avatar Feb 12 '24 05:02 michaelDCurran

The above logs come from cc @wmhn1872265132 Can you provide more information?

cary-rowen avatar Feb 12 '24 06:02 cary-rowen

Hi @seanbudd At least this problem has not been solved yet.

snippet_Log.txt

full_Log.txt

cary-rowen avatar Feb 20 '24 04:02 cary-rowen

cc @seanbudd https://watch.szlatteart.com/api/v1/client/subscribe?token=d565fcd550324c2fae42ed7bcb4ce7cd It appears that the problem hasn't been fully resolved yet. Could you please consider reopening the issue so that we can continue to work on a solution?

cary-rowen avatar Feb 20 '24 07:02 cary-rowen

Reopening for further investigation.

CyrilleB79 avatar Feb 20 '24 21:02 CyrilleB79