RFR: JDK-8314272: Improve java.util.prefs.BackingStoreException: Couldn't get file lock.

Matthias Baesken mbaesken at openjdk.org
Fri Aug 18 12:04:30 UTC 2023


On Wed, 16 Aug 2023 13:36:38 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:

> We run into some BackingStoreException: Couldn't get file lock. e.g. here :
> 
> [JShell] Exception in thread "main" java.lang.IllegalStateException: java.util.prefs.BackingStoreException: Couldn't get file lock.
> [JShell] at jdk.jshell/jdk.internal.jshell.tool.JShellToolBuilder$PreferencesStorage.flush(JShellToolBuilder.java:313)
> [JShell] at jdk.jshell/jdk.internal.jshell.tool.JShellTool$ReplayableHistory.storeHistory(JShellTool.java:692)
> [JShell] at jdk.jshell/jdk.internal.jshell.tool.JShellTool.start(JShellTool.java:1008)
> [JShell] at jdk.jshell/jdk.internal.jshell.tool.JShellToolBuilder.start(JShellToolBuilder.java:261)
> [JShell] at jdk.jshell/jdk.internal.jshell.tool.JShellToolProvider.main(JShellToolProvider.java:120)
> [JShell] Caused by: java.util.prefs.BackingStoreException: Couldn't get file lock.
> [JShell] at java.prefs/java.util.prefs.FileSystemPreferences.sync(FileSystemPreferences.java:769)
> [JShell] at java.prefs/java.util.prefs.FileSystemPreferences.flush(FileSystemPreferences.java:864)
> [JShell] at jdk.jshell/jdk.internal.jshell.tool.JShellToolBuilder$PreferencesStorage.flush(JShellToolBuilder.java:311)
> [JShell] ... 4 more
> 
> The BackingStoreException should be enhanced e.g. by adding the errno/errorCode that is already available in the coding

I checked the usage of sun/nio/fs/UnixConstants.java and seems we would need to make the class public and an additional export for this like

     exports sun.nio.fs to
+        java.prefs,
         jdk.net;

would this be acceptable ? I could image there are more places in the JDK codebase where this might be interesting.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/15308#issuecomment-1683817599


More information about the core-libs-dev mailing list