Skip to content

Invalid path exception when auto-downloading linked pdf #14975

@subhramit

Description

@subhramit

JabRef version

6.0-alpha.4

Operating system

Windows

Details on version and operating system

Windows 10

Checked with the latest development build (copy version output from About dialog)

  • 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

Add the following entry using bibtex to your library:

@InCollection{Vecino2026,
  author    = {Vecino, Sara and Acevedo-Diaz, Gloria and Fernandez-Lanvin, Daniel and Andres, Javier and Gonzalez-Rodriguez, Martin},
  booktitle = {Artificial Intelligence in Healthcare},
  publisher = {Springer},
  title     = {Early Objective ASD Screening System Based on Eye-Tracking and Machine Learning},
  year      = {2026},
  isbn      = {978-3-032-00651-6},
  month     = jan,
  abstract  = {The diagnosis of autism spectrum disorder (ASD) is still based on clinical observation, as there are no validated biomarkers for use in clinical practice. Although the first suspicions may appear as early as 12 months, the diagnosis may be delayed until 3 to 6 years. We propose an early screening procedure for autism starting at 9 months of age, which will allow paediatricians to objectively detect the presence of ASD risk indicators, facilitate immediate access to a specific preventive action program, and minimize the effects of the disorder. Our system utilizes a series of videos specifically designed to detect ASD risk indicators combined with machine learning classifiers to predict ASD risk. Using Random Forest, SVM, MLP, kNN, and AdaBoost, we obtained a 0.9005 ROC AUC, 75.2% sensitivity with the best classifier, which was SVM, when comparing typical development (TD) to ASD levels 1, 2, and 3. The results were up to a ROC AUC score of 0.9508 and a sensitivity of 87.64% with Random Forest, when comparing TD to ASD levels 2 and 3.},
  date      = {2026-01-01},
  doi       = {10.1007/978-3-032-00652-3_11},
  file      = {:http\://link.springer.com/openurl/pdf?id=doi\:10.1007/978-3-032-00652-3_11:PDF},
}

After a while, JabRef shows the exception as attached in the log below

Appendix

...

Log File
java.nio.file.InvalidPathException: Illegal char <:> at index 4: http://link.springer.com/openurl/pdf?id=doi:10.1007/978-3-032-00652-3_11
	at java.base/sun.nio.fs.WindowsPathParser.normalize(WindowsPathParser.java:191)
	at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:142)
	at java.base/sun.nio.fs.WindowsPathParser.parse(WindowsPathParser.java:46)
	at java.base/sun.nio.fs.WindowsPath.parse(WindowsPath.java:92)
	at java.base/sun.nio.fs.WindowsFileSystem.getPath(WindowsFileSystem.java:203)
	at java.base/java.nio.file.Path.of(Path.java:148)
	at org.jabref.jablib/org.jabref.logic.util.io.FileUtil.getFileExtension(FileUtil.java:80)
	at org.jabref/org.jabref.gui.externalfiletype.ExternalFileTypes.getExternalFileTypeByLinkedFile(ExternalFileTypes.java:121)
	at org.jabref/org.jabref.gui.maintable.columns.FileColumn.createFileIcon(FileColumn.java:181)
	at org.jabref/org.jabref.gui.util.ValueTableCellFactory$1.updateItem(ValueTableCellFactory.java:123)
	at javafx.controls@25.0.2/javafx.scene.control.TableCell.updateItem(TableCell.java:704)
	at javafx.controls@25.0.2/javafx.scene.control.TableCell.indexChanged(TableCell.java:489)
	at javafx.controls@25.0.2/javafx.scene.control.IndexedCell.updateIndex(IndexedCell.java:128)
	at javafx.controls@25.0.2/javafx.scene.control.skin.TableRowSkinBase.requestCellUpdate(TableRowSkinBase.java:632)
	at javafx.controls@25.0.2/javafx.scene.control.skin.TableRowSkinBase.lambda$new$2(TableRowSkinBase.java:151)
	at javafx.controls@25.0.2/com.sun.javafx.scene.control.LambdaMultiplePropertyChangeListenerHandler.lambda$new$0(LambdaMultiplePropertyChangeListenerHandler.java:88)
	at javafx.base@25.0.2/javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:86)
	at javafx.base@25.0.2/com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:192)
	at javafx.base@25.0.2/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:91)
	at javafx.base@25.0.2/javafx.beans.property.ReadOnlyIntegerPropertyBase.fireValueChangedEvent(ReadOnlyIntegerPropertyBase.java:78)
	at javafx.base@25.0.2/javafx.beans.property.ReadOnlyIntegerWrapper.fireValueChangedEvent(ReadOnlyIntegerWrapper.java:102)
	at javafx.base@25.0.2/javafx.beans.property.IntegerPropertyBase.markInvalid(IntegerPropertyBase.java:114)
	at javafx.base@25.0.2/javafx.beans.property.IntegerPropertyBase.set(IntegerPropertyBase.java:148)
	at javafx.controls@25.0.2/javafx.scene.control.IndexedCell.updateIndex(IndexedCell.java:130)
	at javafx.controls@25.0.2/javafx.scene.control.skin.VirtualFlow.setCellIndex(VirtualFlow.java:1845)
	at javafx.controls@25.0.2/javafx.scene.control.skin.VirtualFlow.getCell(VirtualFlow.java:1829)
	at javafx.controls@25.0.2/javafx.scene.control.skin.VirtualFlow.getOrCreateCellSize(VirtualFlow.java:3113)
	at javafx.controls@25.0.2/javafx.scene.control.skin.VirtualFlow.getOrCreateCellSize(VirtualFlow.java:3085)
	at javafx.controls@25.0.2/javafx.scene.control.skin.VirtualFlow.recalculateAndImproveEstimatedSize(VirtualFlow.java:3189)
	at javafx.controls@25.0.2/javafx.scene.control.skin.VirtualFlow.recalculateAndImproveEstimatedSize(VirtualFlow.java:3169)
	at javafx.controls@25.0.2/javafx.scene.control.skin.VirtualFlow.recalculateEstimatedSize(VirtualFlow.java:3163)
	at javafx.controls@25.0.2/javafx.scene.control.skin.VirtualFlow.setViewportLength(VirtualFlow.java:1942)
	at javafx.controls@25.0.2/javafx.scene.control.skin.VirtualFlow.updateViewportDimensions(VirtualFlow.java:2504)
	at javafx.controls@25.0.2/javafx.scene.control.skin.VirtualFlow.initViewport(VirtualFlow.java:2516)
	at javafx.controls@25.0.2/javafx.scene.control.skin.VirtualFlow.layoutChildren(VirtualFlow.java:1314)
	at javafx.graphics@25.0.2/javafx.scene.Parent.layout(Parent.java:1275)
	at javafx.graphics@25.0.2/javafx.scene.Parent.layout(Parent.java:1282)
	at javafx.graphics@25.0.2/javafx.scene.Parent.layout(Parent.java:1282)
	at javafx.graphics@25.0.2/javafx.scene.Parent.layout(Parent.java:1282)
	at javafx.graphics@25.0.2/javafx.scene.Parent.layout(Parent.java:1282)
	at javafx.graphics@25.0.2/javafx.scene.Parent.layout(Parent.java:1282)
	at javafx.graphics@25.0.2/javafx.scene.Parent.layout(Parent.java:1282)
	at javafx.graphics@25.0.2/javafx.scene.Parent.layout(Parent.java:1282)
	at javafx.graphics@25.0.2/javafx.scene.Parent.layout(Parent.java:1282)
	at javafx.graphics@25.0.2/javafx.scene.Parent.layout(Parent.java:1282)
	at javafx.graphics@25.0.2/javafx.scene.Parent.layout(Parent.java:1282)
	at javafx.graphics@25.0.2/javafx.scene.Scene.doLayoutPass(Scene.java:655)
	at javafx.graphics@25.0.2/javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2676)
	at javafx.graphics@25.0.2/com.sun.javafx.tk.Toolkit.runPulse(Toolkit.java:380)
	at javafx.graphics@25.0.2/com.sun.javafx.tk.Toolkit.firePulse(Toolkit.java:401)
	at javafx.graphics@25.0.2/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:592)
	at javafx.graphics@25.0.2/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(QuantumToolkit.java:572)
	at javafx.graphics@25.0.2/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(QuantumToolkit.java:565)
	at javafx.graphics@25.0.2/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$0(QuantumToolkit.java:346)
	at javafx.graphics@25.0.2/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
	at javafx.graphics@25.0.2/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at javafx.graphics@25.0.2/com.sun.glass.ui.win.WinApplication.lambda$runLoop$0(WinApplication.java:173)
	at java.base/java.lang.Thread.run(Thread.java:1474)

Metadata

Metadata

Assignees

Type

No fields configured for bug.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions