Skip to content

Cannot save library in WSL folder from Windows #9547

@DominikStiller

Description

@DominikStiller

JabRef version

Latest development branch build (please note build date below)

Operating system

Windows

Details on version and operating system

JabRef 5.8--2022-12-18--b7fae4b and JabRef 6.0--2023-01-05--89890e5, Windows 10 Pro 22H2

Checked with the latest development build

  • I made a backup of my libraries before testing the latest development version.
  • I have tested the latest development version and the problem persists

Steps to reproduce the behaviour

  1. Set up Windows Subsystem for Linux (https://learn.microsoft.com/en-us/windows/wsl/install). I am using WSL2 1.0.3.0 with Ubuntu 22.04.
  2. Open JabRef in Windows.
  3. Create a new library.
  4. Save the library to a WSL path (e.g., \\wsl.localhost\Ubuntu\home\myuser\test.bib).

Appendix

  • An empty file "test.bib.tmp" is created in the same folder (even with added library entries).
  • The error did not occur with JabRef 5.7.
  • The path is accessible, I can save to the same path from Windows Notepad.
Log File
Not updating theme because it hasn't changed
Theme set to Theme{type=DEFAULT, name=''} with base css StyleSheet{jrt:/org.jabref/org/jabref/gui/Base.css}
No open database detected
Saving library...
A problem occurred when trying to save the file \\wsl.localhost\Ubuntu\home\dominik\test.bib
org.jabref.logic.exporter.SaveException: Problems saving: java.io.IOException: Incorrect function
	at [email protected]/org.jabref.gui.exporter.SaveDatabaseAction.saveDatabase(Unknown Source)
	at [email protected]/org.jabref.gui.exporter.SaveDatabaseAction.save(Unknown Source)
	at [email protected]/org.jabref.gui.exporter.SaveDatabaseAction.saveAs(Unknown Source)
	at [email protected]/org.jabref.gui.exporter.SaveDatabaseAction.save(Unknown Source)
	at [email protected]/org.jabref.gui.exporter.SaveDatabaseAction.save(Unknown Source)
	at [email protected]/org.jabref.gui.exporter.SaveAction.execute(Unknown Source)
	at [email protected]/org.jabref.gui.actions.JabRefAction.lambda$new$3(Unknown Source)
	at [email protected]/org.controlsfx.control.action.Action.handle(Unknown Source)
	at [email protected]/org.controlsfx.control.action.Action.handle(Unknown Source)
	at [email protected]/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
	at [email protected]/javafx.event.Event.fireEvent(Unknown Source)
	at [email protected]/javafx.scene.control.MenuItem.fire(Unknown Source)
	at [email protected]/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.doSelect(Unknown Source)
	at [email protected]/com.sun.javafx.scene.control.ContextMenuContent$MenuItemContainer.lambda$createChildren$12(Unknown Source)
	at [email protected]/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
	at [email protected]/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
	at [email protected]/javafx.event.Event.fireEvent(Unknown Source)
	at [email protected]/javafx.scene.Scene$MouseHandler.process(Unknown Source)
	at [email protected]/javafx.scene.Scene.processMouseEvent(Unknown Source)
	at [email protected]/javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(Unknown Source)
	at [email protected]/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source)
	at [email protected]/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
	at [email protected]/com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
	at [email protected]/com.sun.glass.ui.View.notifyMouse(Unknown Source)
	at [email protected]/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at [email protected]/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Incorrect function
	at java.base/sun.nio.ch.FileDispatcherImpl.lock0(Native Method)
	at java.base/sun.nio.ch.FileDispatcherImpl.lock(Unknown Source)
	at java.base/sun.nio.ch.FileChannelImpl.lock(Unknown Source)
	at java.base/java.nio.channels.FileChannel.lock(Unknown Source)
	at [email protected]/org.jabref.logic.exporter.AtomicFileOutputStream.<init>(Unknown Source)
	at [email protected]/org.jabref.logic.exporter.AtomicFileOutputStream.<init>(Unknown Source)
	at [email protected]/org.jabref.logic.exporter.AtomicFileWriter.<init>(Unknown Source)
	... 50 more

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions