Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8150149

StackOverflowError when checking FilePermission on Windows

XMLWordPrintable

    • x86
    • windows_2008

      FULL PRODUCT VERSION :
      JRE 1.8.0_66

      ADDITIONAL OS VERSION INFORMATION :
      Windows 2008 R2

      A DESCRIPTION OF THE PROBLEM :
      One of our customers is reporting to us StackOverflowError under heavy load.
      It looks like infinite recursion during IO operation, sadly we do not have full stacktrace end of it is truncated (we are not sure if it is java's or log4j's limitation) so we cannot determine the operation on file or even what file is actually being accessed. (It is possible that it is accessing file in the shared directory using UNC path)
      Our customer also reported that this never occurred to him when he was using some of the newest Java 1.7. But after update to Java 1.8.0_66 this has happened to him several times.
      I have attached part of the stacktrace, where is the recursion, complete stacktrace has about 1000 lines, which are the same as this.

      If you will need some further information please let me know. I'll try to get some more from our customer.




      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      at java.security.AccessController.doPrivileged(Native Method)
      at java.io.FilePermission.init(FilePermission.java:203)
      at java.io.FilePermission.<init>(FilePermission.java:277)
      at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
      at java.io.File.exists(File.java:814)
      at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:434)
      at java.io.File.getCanonicalPath(File.java:618)
      at java.io.FilePermission$1.run(FilePermission.java:215)
      at java.io.FilePermission$1.run(FilePermission.java:203)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.io.FilePermission.init(FilePermission.java:203)
      at java.io.FilePermission.<init>(FilePermission.java:277)
      at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
      at java.io.File.isDirectory(File.java:844)
      at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:434)
      at java.io.File.getCanonicalPath(File.java:618)
      at java.io.FilePermission$1.run(FilePermission.java:215)
      at java.io.FilePermission$1.run(FilePermission.java:203)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.io.FilePermission.init(FilePermission.java:203)
      at java.io.FilePermission.<init>(FilePermission.java:277)
      at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
      at java.io.File.isDirectory(File.java:844)
      at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:434)
      at java.io.File.getCanonicalPath(File.java:618)
      at java.io.FilePermission$1.run(FilePermission.java:215)
      at java.io.FilePermission$1.run(FilePermission.java:203)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.io.FilePermission.init(FilePermission.java:203)
      at java.io.FilePermission.<init>(FilePermission.java:277)
      at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
      at java.io.File.isDirectory(File.java:844)
      at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:434)
      at java.io.File.getCanonicalPath(File.java:618)
      at java.io.FilePermission$1.run(FilePermission.java:215)
      at java.io.FilePermission$1.run(FilePermission.java:203)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.io.FilePermission.init(FilePermission.java:203)
      at java.io.FilePermission.<init>(FilePermission.java:277)
      at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
      at java.io.File.isDirectory(File.java:844)
      at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:434)
      at java.io.File.getCanonicalPath(File.java:618)
      at java.io.FilePermission$1.run(FilePermission.java:215)
      at java.io.FilePermission$1.run(FilePermission.java:203)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.io.FilePermission.init(FilePermission.java:203)
      at java.io.FilePermission.<init>(FilePermission.java:277)
      at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
      at java.io.File.isDirectory(File.java:844)

      REPRODUCIBILITY :
      This bug can be reproduced rarely.

            weijun Weijun Wang
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: