FileSystems.newFileSystem() fails on NTFS with IOException: Unable to get effective rights from ACL [...]

Victor Ott victor.ott at gmail.com
Mon Jul 23 10:50:37 PDT 2012


Hello,

yes, exactly, I traced down the code until I met the checkAccess() call,
and then I made the connection between my first issue and this issue. Here
the details of the system where the error occurs:

"Microsoft Windows XP Professional Version 2002 Service Pack 3", 32bit
version
Drive C: NTFS
Enterprise environment: domain, virus scanner, drive encription.
User rights: local administrator.
Add-ons: MUI  ( http://en.wikipedia.org/wiki/Multilingual_User_Interface )
Java: 32 bit
-    java version "1.7.0_05"
-    Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
-    Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode, sharing)

Booting with or without domain access (or even no network access at all)
doen't make any difference for the error.

Now to the WindowsXP MUI: this is the difference which makes the error
occur.

After reading this thread (in German)
http://www.java-forum.org/allgemeine-java-themen/137598-zip-filesystem-windows-wirft-exception.htmlabout
a similar error message and its solution, I have first discarded the
idea (Windows 7 vs Windows XP, different error message). But keeping asking
myself "what if..." I had to follow the idea.

Usually in WinXP the installation language can't be changed, but this
machine has the WinXP MUI installed. I changed the language to English,
rebooted, and voila, the tests ran fine:

http://img28.imageshack.us/img28/3851/1testok.jpg

freshly read: ABC
path: c:\temp\dummyfile.txt
==============================
1342516430301
*  File.canRead():       true
1342516430301
*  IoUtils.isReadable(): true
*1342516430301
*  Files.isReadable():   true
1342516430317*
[...]
==============================

Please note that the call to Files.isReadable() takes only 16ms.

I changed the language back to German, logged myself out, then logged in,
and the immediately the error occured again:

http://img534.imageshack.us/img534/9939/2changing.jpg
http://img717.imageshack.us/img717/1426/4afterchangebeforelogou.jpg

freshly read: ABC
path: c:\temp\dummyfile.txt
==============================
1342517007838
*  File.canRead():       true
1342517007838
*  IoUtils.isReadable(): true
*1342517007838
*  Files.isReadable():   false
1342517010134*
[...]
==============================

Please note that now the call takes about 2.2 seconds!

My private WinXP and Windows7 installations are both the professional
version, so I can't test this scenario on other machines (see above link
about MUI and see http://support.microsoft.com/kb/972813/en-us ).

Hope this helps,
Victor



On Tue, Jul 17, 2012 at 9:43 AM, Alan Bateman <Alan.Bateman at oracle.com>wrote:

>  On 17/07/2012 02:02, Victor Ott wrote:
>
> [...]
>
> I will guess that if you replace the Files.isReadable in your original
> mail with a call to checkAccess then you will also get the same exception,
> and this explains why the method returns false (because it is specified to
> return false if the accessibility cannot be determined).
>
> Clearly we have to re-visit the implementation of checkAccess and the way
> it determines the effective access as there are clearly problems, in
> addition to the performance. Can you say anything about the environment?
> Which edition of Windows is this and are you logged into a domain? The only
> other report we've had on this related to a case where the system was setup
> in a domain but the program was running with a local user that wasn't known
> to the domain controller.
>
> -Alan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/nio-discuss/attachments/20120723/93c6a904/attachment.html 


More information about the nio-discuss mailing list