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