Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Navigating an item list in 1Password 4 with the arrow keys causes the application to crash #5208

Closed
nvaccessAuto opened this issue Jul 10, 2015 · 12 comments

Comments

@nvaccessAuto
Copy link

Reported by AlexH on 2015-07-10 20:38
When using 1Password 4 for Windows alongside NVDA, using the arrow keys to quickly navigate a list of items in the application will cause 1Password to crash. In addition to that 1Password's interface will become unresponsive, forcing the user to quit the application using the task manager.


'''Steps to reproduce:'''

  1. Install 1Password 4 for Windows
  2. Create a demo vault:
    a) Select 'File > New 1Password Demo Vault'
    b) Follow the steps to create the demo vault.
  3. With the demo vault in place, use the arrow keys to quickly go UP and DOWN the list of items in the vault.
  4. If the error doesn't occur, duplicate a few items (select an item and press CTRL+D) until the count is above 50.
  5. Go through the list again, using the UP and DOWN arrow keys until the app crashes.

'''Result:'''

1Password will crash, displaying an error message prompting the user to send in an error report.
However, the application's UI will be unresponsive to a degree that will prevent the user from sending in an error report (sometimes) and from being closed without the use of the task maanger (almost always).

The error message that appears usually reads:

Access violation at address 75DE1CD1 in module 'combase.dll'. Read address 6F706D6D.


Additional information:

  • Windows 8.1, Windows 7
  • NVDA 2015.2
  • 1Password 4 for Windows, version 4.6.0.582
  • 1Password is built in delphi, using the standard Windows UI components.

Notes:

We have received numerous complaints from visually impaired users relying on 1Password 4 for Windows for the password security and we would love nothing more than to increase the compatibility of 1Password with NVDA.

We feel that there is still a lot to do on our end� to make 1Password play nice with NVDA and, if helpful, we will arrange contact with our developers.

Thanks!

Alex Hoffmann
(Bearded Vulcan Support Technician @ AgileBits)

@nvaccessAuto
Copy link
Author

Attachment 1Password-4-error-after-crash.jpg added by AlexH on 2015-07-10 20:41
Description:
1Password 4 error after crash

@nvaccessAuto
Copy link
Author

Comment 1 by AlexH on 2015-07-10 20:53
Addendum, a colleague correctly pointed out that new users of the app will not be able to see the file menu, but instead the welcome screen. I apologise for this mistake.


To reproduce the error, please add the following step between ''1.'' and ''2.'':

Follow the instructions in the The first time you run 1Password guide to set up the application.

Once an initial 1Password has been set up, the user can create a demo vault to try out the application with a few demo items included.


We're also more than happy to provide free licenses to test 1Password with NVDA.

Thanks,

Alex Hoffmann
(Bearded Vulcan Support Technician @ ​AgileBits

@nvaccessAuto
Copy link
Author

Comment 2 by nvdakor on 2015-07-10 21:52
Hi Alex,
Confirmed. Testing result shows that NVDA freezes when trying to navigate items.

Few things:

  • Is this problem unique to NVDA, or was this reported also by users of other screen readers such as JAWS for Windows?
  • Is this only on Windows 8.1, or can this be reproduced on Windows 7 as well?

To help devs solve this, I'm including a partial output of the traceback:

IO - inputCore.InputManager.executeGesture (14:35:16):
Input: kb(desktop):NVDA+upArrow
IO - speech.speak (14:35:16):
Speaking [Location: squidoo.com, Type: Login, Modified: 9/15/2014 8:54:52 PM'](u'Squidoo)
IO - inputCore.InputManager.executeGesture (14:35:16):
Input: kb(desktop):tab
IO - inputCore.InputManager.executeGesture (14:35:19):
Input: kb(desktop):control+NVDA+f1
DEBUGWARNING - watchdog._watcher (14:35:27):
Trying to recover from freeze, core stack:
  File "nvda.pyw", line 184, in <module>
  File "core.pyc", line 371, in main
  File "wx\_core.pyc", line 8657, in MainLoop
  File "wx\_core.pyc", line 7952, in MainLoop
  File "core.pyc", line 341, in Notify
  File "IAccessibleHandler.pyc", line 870, in pumpAll
  File "IAccessibleHandler.pyc", line 654, in processFocusWinEvent
  File "IAccessibleHandler.pyc", line 529, in winEventToNVDAEvent
  File "NVDAObjects\IAccessible\__init__.pyc", line 37, in getNVDAObjectFromEvent
  File "IAccessibleHandler.pyc", line 344, in accessibleObjectFromEvent
  File "oleacc.pyc", line 240, in AccessibleObjectFromEvent

DEBUGWARNING - core.Notify (14:35:27):
errors in this core pump cycle
Traceback (most recent call last):
  File "core.pyc", line 341, in Notify
  File "IAccessibleHandler.pyc", line 870, in pumpAll
  File "IAccessibleHandler.pyc", line 654, in processFocusWinEvent
  File "IAccessibleHandler.pyc", line 529, in winEventToNVDAEvent
  File "NVDAObjects\IAccessible\__init__.pyc", line 43, in getNVDAObjectFromEvent
  File "NVDAObjects\__init__.pyc", line 69, in __call__
  File "watchdog.pyc", line 198, in _COMError_init
CallCancelled
IO - inputCore.InputManager.executeGesture (14:35:29):
Input: kb(desktop):windows+enter
IO - inputCore.InputManager.executeGesture (14:35:29):
Input: kb(desktop):windows+u
IO - inputCore.InputManager.executeGesture (14:35:32):
Input: kb(desktop):windows+r
IO - inputCore.InputManager.executeGesture (14:35:34):
Input: kb(desktop):enter

As shown on the traceback, once NVDA stops responding, speech fails. This wasn't observed when I tested 1Password with Narrator on Windows 8.1. This happens regardless of whether I use NVDA with or without add-ons, and doesn't matter which synth I use, as NVDA core itself gets confused.
Thanks.

@nvaccessAuto
Copy link
Author

Comment 3 by jteh on 2015-07-13 01:05
It'd be great if you can provide a crash dump for the 1Password process. See this page for instructions. Thanks.

@nvaccessAuto
Copy link
Author

Comment 4 by AlexH (in reply to comment 3) on 2015-07-13 17:57
Replying to jteh:

It'd be great if you can provide a crash dump for the 1Password process. See this page for instructions. Thanks.

I've tried to have a crash dump created but there were two things stopping me from doing so:

  1. It didn't work in a VM, because my modifier keys weren't accepted or had no effect.
    I've tried this in both Parallels Desktop 10 and in VirtualBox. Since these VMs retain control over keyboard and mouse inputs, using CAPS LOCK didn't have any effect and the other modifier keys aren't available on laptop keyboard‚ (which is all I have here).
    Because of this I wasn't able to open the Python window while the 1Password was active and the focus.appModule.dumpOnCrash() command didn't grab the active window.
  2. After installing NVDA on my Surface Pro 2 I was able to use CAPS LOCK as the NVDA modifier key and the focus.appModule.dumpOnCrash() correctly grabbed 1Password as the active window, offeirng to save a *.dmp file.

The problem I faced here, is that after getting 1Password to crash, no crash dump was generated.
What can be the reason for this? 1Password became unresponsive and shows an error report but NVDA isn't generating a crash dump.


Replying to nvdakor:

Is this only on Windows 8.1, or can this be reproduced on Windows 7 as well?

This happens in Windows 7 and Windows 8.1

@nvaccessAuto
Copy link
Author

Comment 5 by AlexH on 2015-08-27 17:09
Is there any news on this?
Or do you maybe have more information how I might provide you with the crash logs you need?

I'm not even sure that this provokes a crash of NVDA that one could log.

@nvaccessAuto
Copy link
Author

Comment 6 by ssawczyn on 2015-08-28 15:14
I can confirm that this remains an issue in 2015.3 and the current "next" branch. In addition, I can only replicate this error when NVDA is used, other screen readers do not thus far cause the app to crash. As I'm not using a virtualized Windows, I can try and produce the NVDA dum, however as has been already commented, NVDA itself does not appear to be crashing so there may not be anything to produce.

@nvaccessAuto
Copy link
Author

Attachment nvda.log added by ssawczyn on 2015-08-28 16:30
Description:
NVDA log in debug mode generated directly after crash.

@nvaccessAuto
Copy link
Author

Comment 7 by ssawczyn (in reply to comment 3) on 2015-08-28 16:34
I've uploaded my NVDA log (in debug mode) in the hopes that might help. Like @alexh I'm unable to get NVDA to actually generate a .dmp file; the console says one will be generated, but no file actually shows up.
Replying to jteh:

It'd be great if you can provide a crash dump for the 1Password process. See this page for instructions. Thanks.

@nvaccessAuto
Copy link
Author

Comment 8 by AlexH on 2015-11-04 21:02
Hi there,

This is Alex from AgileBits, again.

We've been doing some more testing and saw the crashing bug with other screen readers as well (Window Eyes, JAWS, Windows Narrator).

Our developers think that this is an issue with object lifecycle management in 1Password 4 and they've made changes to how 1Password manages the lifecycle of accessibility objects the app returns as a response to WM_GETOBJECT.

This has effectively stopped crashes caused in/by 1Password 4 when used with screen reading software from happening for all of the users who have been testing this.

An unwanted side effect seems to be that now certain text field descriptors that have been previously readable by NVDA are now invisible to the app and will not be read aloud.

We would be grateful if someone from the NVDA community could give us a few pointers as to what we can do to improve the compatibility of 1Password 4 for Windows with NVDA.

Thanks!

@nvaccessAuto
Copy link
Author

Comment 9 by jteh (in reply to comment 8) on 2015-11-05 05:34
Replying to AlexH:

An unwanted side effect seems to be that now certain text field descriptors that have been previously readable by NVDA are now invisible to the app and will not be read aloud.

Can you give specific examples? I do have the app installed now but haven't used the Windows version before this, so I'm not familiar with the previous versions.

@bhavyashah
Copy link

The freeze/crash seems to have already been resolved, and seeing that the original reporter did not respond to @jcsteh's #5208 (comment), please close this ticket.

@ehollig ehollig closed this as completed Aug 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants