NVDA crashes when running *any* WPF application #1437

Closed
nvaccessAuto opened this Issue Mar 28, 2011 · 21 comments

1 participant

@nvaccessAuto

Reported by aaronius on 2011-03-28 20:47
The following application crashes NVDA:
https://www.blackberry.com/Downloads/quickdownload.do
NVDA just stops running. There is no crash dialog.

This application is using WPF and NVDA is likely accessing it via UI Automation.

Running on Windows XP.

@nvaccessAuto

Comment 1 by aaronius on 2011-03-29 15:05
I've tested about 4 WPF apps now, and they all crash NVDA. Usually a silent crash with no dialog, but at least once a dialog did come up.

In fact one such app is the Blio e-Reader here: http://www.blio.com/
This app was actually designed and developed in partnership with the NFB:
"Celebrated futurist Ray Kurzweil and the National Federation for the Blind (NFB) has partnered with thirteen23 to design and develop a next-generation eReader, blio. Blio is the first truly-accessible cross-platform eReader featuring millions of free, downloadable books. The team continues to work closely with KNFB and its partners, to bring blio to consumer and enterprise channels across desktop, web, and mobile devices."
Changes:
Changed title from "NVDA crashes silently when running with BlackBerry Desktop Manager (WPF app)" to "NVDA crashes when running any WPF application"

@nvaccessAuto

Comment 2 by jteh on 2011-03-29 21:09
Does NVDA crash immediately when the app starts or do you have to use the app for a while to make it happen? Also, do you have the Windows XP Platform Update installed (which includes UI Automation)?

This is probably a duplicate of #1205.

@nvaccessAuto

Comment 3 by aaronius on 2011-03-29 21:21
It usually happens within a second but sometimes takes longer. Often the application won't respond before it happens.

I don't know if I have the Windows XP Platform Update. I just searched on the web but did not find anything.

@nvaccessAuto

Comment 4 by jteh on 2011-03-29 21:25
Within a second of starting with no user interaction or with some user interaction?

Start NVDA, open NVDA menu -> Tools -> Log Viewer and look for a line which says "UIA not available". If you don't see it, you have UIA support (and thus the platform update).

@nvaccessAuto

Comment 5 by aaronius on 2011-03-29 21:29
Even without user interaction. As soon as the main screen comes up it crashes. This is with BlackBerry Desktop Manager.

The log viewer doesn't say "UIA not available".

@nvaccessAuto

Comment 6 by mdcurran (in reply to comment description) on 2011-03-30 02:53
Replying to aaronius:

The following application crashes NVDA:

https://www.blackberry.com/Downloads/quickdownload.do

When I go to that URL I get a page saying:
"Sorry, you have encountered an unexpected error. Please contact the webmaster."

@nvaccessAuto

Comment 7 by aaronius on 2011-03-30 02:55
Use this link: http://us.blackberry.com/apps-software/desktop/

@nvaccessAuto

Comment 8 by mdcurran on 2011-03-30 03:21
I successfully downloaded and installed the software.
However, on Win7 things seem to run ok. When I start the app, I am able to tab around and NVDA does not freeze for me. However, the accessibility of the actual controls in this app are a completely different story, but I'm sure you're aware of that.
Before I can provide more info, we are going to have to find a way to test this software on XP (which oddly enough is something that we do not have access to right now).

@nvaccessAuto

Comment 9 by aaronius on 2011-03-30 03:30
Do you have other data points that suggest that this is an XP problem? Also,
what about Vista? Thanks for looking at it.

@nvaccessAuto

Comment 10 by briang1 on 2011-03-30 08:11
For those with XP who might want to test this...
Update for Windows XP (KB971513)
Download size: 744 KB , less than 1 minute
The Windows Automation API library contains the latest version of the Microsoft User Interface Automation (UI Automation) and Microsoft Active Accessibility libraries that are provided in Windows 7. After you install this item, you may have to restart your computer. Details...
Taken from Windows update. The reason I do not install it is that it seems to cause lock ups in visual basic macros in Access XP database applications, amongst other funnies, so be careful!

@nvaccessAuto

Comment 11 by jteh on 2011-04-01 02:44
@aaronius: Please try with this portable build and report findings:
http://www.nvda-project.org/test/nvda_snapshot_main-4146+uiaDisabled_portable.exe

@nvaccessAuto

Comment 12 by aaronius on 2011-04-01 13:34
That fixed it. No crash.

@nvaccessAuto

Comment 13 by briang1 on 2011-04-01 15:40
Yes, as you probably saw in the dev group, this build stops the slow down and crashing of msaccess with macros as well.
Its interesting also to note that it also reduces the processor loading when nothing at all is running as well, from about 15 to 35 percent, down to a more normal 03 to 10 percent.

@nvaccessAuto

Comment 14 by jteh on 2011-04-10 23:21
Current thinking is to disable UIA in XP by default, perhaps with a configuration option to turn it on for those that need it/want to try it. Clearly, UIA is even more unstable and broken in XP than it is in Windows 7. Unfortunately, not using UIA may mean that some .net controls (particularly some editable text fields) are inaccessible or less accessible, but there's nothing more we can do.
Changes:
Milestone changed from None to 2011.2

@nvaccessAuto

Comment 15 by aaronius on 2011-04-11 01:38
Can NVDA use the OSM for text fields in UIA apps? If not, is it worth warning the user when they load a UIA app that textfields will not be accessible unless they upgrade to a newer version of Windows?

Is Microsoft aware of the issue?

@nvaccessAuto

Comment 16 by jteh (in reply to comment 15) on 2011-04-11 02:02
Replying to aaronius:

Can NVDA use the OSM for text fields in UIA apps?

Depends on the particular control and how it is drawn.

If not, is it worth warning the user when they load a UIA app that textfields will not be accessible unless they upgrade to a newer version of Windows?

We probably won't be aware that it is a UIA app if UIA is disabled.

Is Microsoft aware of the issue?

I'm not sure. Aside from the symptoms, we don't understand the issue, nor do we know how to reproduce it without using NVDA itself, so we haven't reported it at this stage, not least because we don't have a useful channel to report such bugs so that they actually get attention.

@nvaccessAuto

Comment 17 by briang1 on 2011-04-11 06:42
Well, when the XP uia update first appeared in 2009, there were quite a few problems experienced as could be read on the Microsoft forums, tough our particular one is quite specialised. Nothing appears to have been done or updated as the update is exactly the same as it was then, so I'd go with the turn it off by default as mentioned earlier with a config option. Not having7 here I do not know if this is any better. I suspect it might also cause at the very least processor loading issues from what I've read, but on faster hardware this might not really matter much.

Luckily for xP users, its still an optional update.

@nvaccessAuto

Comment 18 by jteh on 2011-05-23 15:59
Mick, after your further investigation, what are your thoughts on what we should do here? Should we just disable UIA for XP as previously suggested?

@nvaccessAuto

Comment 19 by mdcurran on 2011-05-28 02:43
I think disabling UIA in XP is the only option at this stage. Perhaps further in to the future we can investigate if executing these particular UIA calls directly from an MTA thread will solve the freeze/crash, but that's surely not for 2011.2.

@nvaccessAuto

Comment 20 by jteh on 2011-06-01 09:12
This should be fixed by 3332534, where UIA was disabled altogether for XP/Vista.
Changes:
State: closed

@nvaccessAuto

Comment 21 by briang1 on 2011-06-03 06:44
Well, It seems to be as I loaded kb971513 into my test machine and my access database still works.

I have tried a couple of other affected programs where processor usage hits showed up in nvda in task manager and see no issues. I cannot test it on Vista though.

@nvaccessAuto nvaccessAuto added this to the 2011.2 milestone Nov 10, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment