9 b58 fails on Win 8 when screen reader running
Pete Brunet
peter.brunet at oracle.com
Thu Apr 23 00:56:18 UTC 2015
The problem is fixed by doing this (using the VS2013 versions of the
dump/editbin):
editbin ...\java.exe /HIGHENTROPYVA:NO
You can see the before and after using
dumpbin ...\java.exe /HEADERS
Before:
OPTIONAL HEADER VALUES
...
8160 DLL characteristics
High Entropy Virtual Addresses
Dynamic base
NX compatible
Terminal Server Aware
After:
OPTIONAL HEADER VALUES
...
8140 DLL characteristics
Dynamic base
NX compatible
Terminal Server Aware
The following is from an industry contact who ran into the same thing in
their own app:
The high-entropy 64-bit address space layout randomization feature is
specific to 64-bit versions of Windows 8. It is discussed in some detail
in the article "Software defense: mitigating common exploitation
techniques" found at
http://blogs.technet.com/b/srd/archive/2013/12/11/software-defense-mitigating-common-exploitation-techniques.aspx.
This feature is enabled by default in 64-bit executable images and can
be disabled via the /HIGHENTROPYVA:NO linker switch. See
http://msdn.microsoft.com/en-us/library/jj835761.aspx
With the high-entropy 64-bit address space layout randomization option
enabled, all memory addresses in a 64-bit app are guaranteed to be above
4gb. This means that if any module has latent pointer truncation issues
in 64-bit builds, these issues will manifest themselves when this flag
is set.
Pete
On 4/21/15 3:19 PM, Pete Brunet wrote:
> Hi Phil,
>
> On 4/21/15 2:42 PM, Phil Race wrote:
>> Perhaps JAWS is not well behaved w.r.t multiple DLL versions ?
> Tell me more.
>> Does it happen only on win 8 ? If you boot the same system into win 8
>> or win 8.1 is it OK ?
> Win 7 is no problem. I run Win 8.1 Pro in a VirtualBox VM. This bug
> was reported as
> https://bugs.openjdk.java.net/browse/intjdk-7615864
>> What do you see logged by hotspot from typing Ctrl-Break in the shell ?
> It will be back to the command prompt before I can do that.
>> Other than that, debugging is very likely going to require you build
>> with VS2013
>>
>> Does it happen if you use javaw instead of java ?
> Same behavior: splash screen, then back to the prompt.
>> -phil.
>>
>> On 04/21/2015 11:53 AM, Pete Brunet wrote:
>>> Starting with b58 with JAWS (screen reader) running on Win 8, when
>>> starting SwingSet2 the splash screen appears but the application doesn't
>>> start. There are no messages in the console. I see b58 only had one
>>> fix:
>>>
>>> 8076531 infrastructure Switch default compiler on Windows to VS2013
>>>
>>> What might be wrong?
>>>
>>> How do I debug this?
>>>
>>> Pete
More information about the build-dev
mailing list