JDK-8133191 : NVDA screen reader and JAWS can't read the "Look and Feel" Selections.
  • Type: Bug
  • Component: install
  • Affected Version: 8u60
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_7
  • CPU: x86
  • Submitted: 2015-06-26
  • Updated: 2016-01-14
  • Resolved: 2015-09-21
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
8u66 b13Fixed 9Fixed
Related Reports
Relates :  
Testsuite name: Accessibility 
Test name(s): enable-disable/CommandLine/2-Enabled-CommandLineTest.html 
Product(s) tested: JRE 8u60 b21(32bit) 
OS/architecture: win7 sp1 x86/JAWS16.0.1925/NVDA2015.1

Error log file : http://aurora.ru.oracle.com/slot-gw/975860.ManualSubmit-1/workDir/enable-disable/CommandLine/2-Enabled-CommandLineTest.jtr  

Reproducible: Always 
Reproducible on machine: Evergreen-machine 
[If Sometimes] Also reproducible on machine: 

Is it a Regression: Yes 
[If Regression] Regression introduced in release/build: JRE 8u60 b21 
Test result on the last GAed release for this train: Pass(JRE 8u51 b16 on the same OS: Pass) 
[if Fail] Test result on FCS: 

Is it a platform specific issue: Yes (The task only be tested on windows OS) 
[If platform specific issue] Is it a new (previously unsupported) OS/browser/mode testing: No 
[If new configuration testing] Issue specific to execution mode or OS/browser version: 

Steps to reproduce: 

1. Install the JRE test bundle JRE8u60b21 (download from http://jre.us.oracle.com/java/re/jdk/8u60/promoted/ea/b21/bundles) 
2. Launch NVDA/JAWS (NVDA is 32bit(x86), so NVDA is for 32bit JRE/JDK; JAWS can be both x86 & x64 - its bitness must match with bitness of JRE/JDK) 
3. Run SwingSet2 demo 
4. Go to the "Look and Feel" Menu 
5. Try to switch between the "Look and Feel" menu items 

Expected Result: 
NVDA screen reader or JAWS should read the "Look and Feel" Selections (Java, Nimbus, Motif, Windows) as you change or move your selections. 

Actual behavior: 
NVDA screen reader and JAWS can't read the "Look and Feel" Selections. And non-java app can read.  

The following cases have the same issue: 

Nevermind, just noticed it's fix verified status by Alexander now. Could be an environment issue with the test machine earlier.

I verified this with 8u72 night build that has fix for both JDK-8134453 and JDK-8133191. Pete, could you confirm if JDK-8134453 was pushed for the build Alexander is testing.

Verified on spb23373.ru.oracle.com with jre 8u66b14 and NVDA2015.3 - PASS!

Reopened to fix verification status from fix failed to Verified

tested with JRE 8u66b14 on win x86 on spb23389.ru.oracle.com No error in NVDA but it does not read Swing components at all Not fixed yet!

We download windows jre 32bit from http://aurora-ds3.us.oracle.com:9504/scanas411.us.oracle.com/export/java-re/build/re3/nightlyws/jdk8u-dev/b01_2015-09-13-1901_4786/ws-b01_2015-09-13-1901_4786, and tried SwingSet2 today. Both JAWS and NVDA can read. Seems the issue is fixed in this build.

So, should we take JDK-8134453 to PSU15_04?

tested with 8u66b13 on win x86 on spb23389.ru.oracle.com same issue Not fixed yet

I believe there is a different CR for the 32 bit issue: JDK-8134453 Please see Pete's comment above: https://bugs.openjdk.java.net/browse/JDK-8133191?focusedCommentId=13837147&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13837147

For the five cases we still can reproduce this issue on win7 sp1 x86 with JRE 8u66 b13(32bit),JAWS16.0.3048 and NVDA2015.2.

The fix is not pulled into 8u66 yet. It's only in 8udev-install and hence still reproducible with 8u66 promoted builds.

reproduced with jre 8u66b10 win x86 on spb23389.ru.oracle.com Verified on jre 8u66b12 - SAME ISSUE. Waiting for fix

See attached NVDA_8u66b12_Winx86.png

The fix missed ZBB for CPU15_04 because it hasn't been integrated in master repors in time. In spite of that UR SQE vote to take it in the next build as far as Install SQE team have reviewed the build and don't have any concerns. Taking into account it's a visiblity issue and it's a regression from 8u60 would better to take it in PSU15_04.

This changeset is pushed to ttp://closedjdk.us.oracle.com/jdk8u/jdk8u-dev/install. Please pull to 8u-master and backport to PSU15_04 (8u66) as requested.

PSU15_04-critical-request justification: - Fix for Release : 8u66 - Justification : Regression introduced in 8u60 b15, NVDA and JAWS require correct JAB dll to be present in system dir. - Risk Analysis : low - Webrev : https://java.se.oracle.com/code/cru/CR-JDK8UDEV-257 - Testing (done/to-be-done): SQE verification with dev build, 9, 8u72 promotion - Back ports (done/to-be-done) : 9, 8u72, 8udev-install - FX Impact : N/A

Per Alexander's and SQE's suggestion, updated the critical request for PSU15_04.

Install SQE was provided with a dev build last week for verification of this CR: http://oklahoma.us.oracle.com/arc/ds_build/1.8.0_72/avshastr/2015-08-19_16-16-43/ . This fix itself works fine and the other JAWS issue brought up during testing seems unrelated to this fix. Pete has a different CR for the issue. Adding Sandeep and Einav to the watchlist so they could confirm.

UR SQE OK to take the fix in PSU15_04 (8u66) But we wouldn't like to take it in CPU15_04 (8u65) without Install PIT. Will communicate with Sandeep if PIT is possible.

Thanks Pete for confirming this. Re [2] above, I am not sure if uninstaller can delete the dll if it's locked by some other process... what we could do is: handle this as a File in Use scenario and show the user a UE message for closing the JAWS ... With your confirmation above and given we already have a separate issue for crash: JDK-8134453, it seems to be ok to push the fix for JDK-8133191 (details below) to 8u72/8u66: https://java.se.oracle.com/code/cru/CR-JDK8UDEV-257 http://oklahoma.us.oracle.com/arc/ds_build/1.8.0_72/avshastr/2015-08-19_16-16-43/ SQE, please let us know if there are questions. Else I'll proceed with the critical request for JDK-8133191

Here are my test results today with running SwingSet2 in a 32 bit Win 7 VirtualBox VM: 8u45: OK 8u51: Failed a couple times with no speech (but no crash); eventually installed and worked OK so maybe a user error of some sort on my part. 8u60: JAWS crashes when Java starts; JAWS dmp file shows a crash in our DLL 8u72 test build: same as 8u60 I suspect that there are no issues with the 8133191 fix, i.e. - The 64 bit failures are due to not installing 64 bit Java - The 32 bit failure is due to a different bug that first appeared in 8u60 [1] [1] Note that when installing 8u60/72 WindowsAccessBridge.dll is properly installed in c:\Windows\System32. Not having that DLL installed was the crux of the 8133191 issue. [2] Note that it's important to stop JAWS before uninstalling Java. Otherwise, the DLL won't get uninstalled because JAWS is injected into it. This can lead to confusion. Should that be a new bug, i.e. is there a way for the uninstaller to force the removal of a DLL even if another process has it hooked? I opened JDK-8134453 for the 8u60 issue.

I didn't have any luck with 32 bit Win 7 today. And I don't think it's related to the issue of this bug. Both NVDA and JAWS were crashing with the special 8u72 build from Avani so I tried the 8u60 build and had problems with it too. Then I dropped back to 8u51 and that build has the issue of not installing windowsaccessbridge.dll. Avani, Is that expected??? Tomorrow I will work with this some more, trying various releases and then hopefully I'll have a better idea of what the issues are.

1) Re JAWS - yes 32 bit JAWS on 32 bit OS; 64 bit JAWS on 64 bit OS; so need 64 bit Java on 64 bit OS or JAWS won't run. 2) Good; Since you say both screen readers fail on Win 7 32 bit I will try to reproduce using Win 7 32 bit on my VirtualBox 3) 32 bit Java will only install to SysWOW64; 64 bit Java will install to System32; need the latter for JAWS on 64 bit OS

1)We rerun on win7-x64/x86 with the 32bit build , by the way JAWS can be both x86 & x64. 2)There is windowsaccessbridge.dll under Windows\System32 on win7-sp1-x86 3)There is no any related to accessbridge file under Windows\System32 on win7-sp1-x64, but there is WindowsAccessBridge-32.dll under C:\Windows\SysWOW64.

Hi Tony, NVDA needs 32 bit Java installed. JAWS needs 64 bit Java installed. Questions on your two tests: Test 1) Was 64 bit Java installed? Test 2) Does Windows\System32 have windowsaccessbridge.dll?

We tried rerun with the build and demo under http://oklahoma.us.oracle.com/arc/ds_build/1.8.0_72/avshastr/2015-08-19_16-16-43/���. on win7-x86/win7-x64. 1) win7-sp1-x64: NVDA tools is passed, JAWS is failed. 2)Win7-sp1-x86:the issue still can be reproduced.NADA and JAWS are both failed.

From email << > JDK-8133191 - https://bugs.openjdk.java.net/browse/JDK-8133191 > - status: Checking with Paul This one will be critical request for 8u66. Avani is almost done with this. We'll run it through SQE verification next week, integrate to 8u72 master, and tag it for 8u66 asap. I'm thinking the fix will be fairly simple/low-risk, and given a11y impact, a backport would be prudent. >>

Review request: https://java.se.oracle.com/code/cru/CR-JDK8UDEV-257#CFR-184440

There is a separate but related issue. If 64 bit install is done first then the 32 bit install the 32 bit DLL doesn't get copied. I check 8u20 and the problem does not exist but it exists in 8u51. I didn't check 25, 31, 40, or 45 since Avani indicates that the fix for 8133191 will also fix that issue.

The issue seems to be introduced in 8u60 b15, 8u60 builds before that seems to be copying windowsaccessbridge-32.dll to system directories properly. This is a regression from 8076974: Fix code updating system records based on the latest installed JRE/JDK: http://closedjdk.us.oracle.com/jdk8u/jdk8u60/install/rev/210b13c9c849 The fix is to update the logic of void deleteJABFilesFromSystem() : http://ipw83120.uk.oracle.com:8080/source/xref/jdk8u-dev/install/src/windows/installerdll/AccessBridge.cpp#195 such that windowsaccessbridge-32.dll is not deleted from the system directory with 64 bit jre install.

This is a regression that started in b21. This occurs when both 32 bit and 64 bit JREs are installed. - install 32 bit JRE, windowsaccessbridge-32.dll is in the syswow64 directory. - then install 64 bit JRE, windowsaccessbridge-32.dll is removed. OR - install 64 bit JRE - then install 32 bit JRE, windowsaccessbridge-32.dll is not installed.

Added Avani to the watchers as a heads up for her.

I tried 8u60 b25 and JAWS works OK but NVDA does not work at all. NVDA requires the installation of 32 bit Java, which is installed, but windowsaccessbridge-32.dll is missing from c:\windows\syswow64 so at first glance this is looking like an install problem. I see it's been documented that this started in b21 so I will look at b20 and 21 to see if the missing dll issue started in b21.

Pete, please evaluate this issue in 8u60 asap. Is it real P2?

Andrey, why do you still consider this issue as non product? I moved it to JDK project

The following cases have the same issue on win8.1 x86 with JRE 8u66b08. JAWS 16.0.3048/NVDA 205.2 RULE enable-disable/CommandLine/2-Enabled-CommandLineTest any any RULE enable-disable/ControlPanel/2-EaseOfAccess-JAWS-EnabledTest any any RULE enable-disable/ControlPanel/2-EaseOfAccess-NVDA-EnabledTest any any RULE functional/1-Enabled-JAWSTest any any RULE functional/2-Enabled-NVDATest any any

We double checked (using NVDA 2015.02 ) as the following: the issue exists at least in 8u60 b21, but no issue in 8u40 b27. - Try 8u60 b21 1. Remove previous versions of java 2. Install required jre(8u60 b21) 3. Enable access bridge in ControlPanel/Ease of access 4. Reboot 5. Start NVDA and some native apps, no issues; 6. start JFC SwingSet2 demo, NVDA can not read "Look and Feel" menu 7. wait for a while, an error dialog will popup, pls see the attached file NVDA.jpg 8. system hangs 9. reboot 10. Remove previous versions of java(8u60 b21) 11. Install required jre(8u40 b27) 12. make sure: Enable access bridge in ControlPanel/Ease of access 13. Reboot 14. Start NVDA and some native apps, no issues; 15. start JFC SwingSet2 demo, NVDA can read "Look and Feel" menu without issue; 16. Most importantly no crash in nada.exe as step 7 above. Pls note too for JAWS, after step 5 above, when starting SwingSet2, JAWS app will exit immediately. We have confirmed again on several machines: win7 sp1 x86 ultimate.

Can't reproduce. Looks like machine required proper configuration.

NVDA works fine on spb23277.ru.oracle.com. Try to do the following steps: 0. Ensure sound is enabled for that RDP connection. 1. Remove previous versions of java 2. Install required jre 3. Enable access bridge in ControlPanel/Ease of access 4. Reboot After that, NVDA started working for me. Probably, JAWS requires same steps.

Shaik, why did you put 8 in affected version. Is it regression in 8u60 or not? If not please update description and labels to reflect it.

Tested on windows x64 with 32 bit JRE bundle. The issue was not reproduced. Don't have x86 machines physically available and cannot be tested over VNC since the this is a voice accessibility test. Assigning to Andrey.

The five cases failed as the same issue on win7 sp1 x86 with JRE 8u65 b03(32bit),JAWS16.0.3048 and NVDA2015.2.

RULE enable-disable/CommandLine/2-Enabled-CommandLineTest any any RULE enable-disable/ControlPanel/2-EaseOfAccess-JAWS-EnabledTest any any RULE enable-disable/ControlPanel/2-EaseOfAccess-NVDA-EnabledTest any any RULE functional/1-Enabled-JAWSTest any any RULE functional/2-Enabled-NVDATest any any