jabref
jabref copied to clipboard
Illegal character in query: pipe character in file field
JabRef version
Other (please describe below)
Operating system
GNU / Linux
Details on version and operating system
No response
Checked with the latest development build (copy version output from About dialog)
- [x] I made a backup of my libraries before testing the latest development version.
- [x] I have tested the latest development version and the problem persists
Steps to reproduce the behaviour
I think this exception was trigger by searching full text online, which added a URL to the file field. The important part is that a pipe character in the URL raised an exception that recurred until l I killed JabRef and removed the offending URL from the .bib file.
- Add a URL containing a pipe (
|) character to the file field (URLs from GALE ONEFILE, containing the string&docId=GALE|)
Appendix
JabRef 6.0--2024-09-25--91d0709 Linux 6.9.9-1-default amd64 Java 21.0.2 JavaFX 23+29
Log File
java.lang.IllegalArgumentException: Illegal character in query at index 58: https://go.gale.com/ps/i.do?p=HRCA&u=googlescholar&id=GALE|A653693412&v=2.1&it=r&sid=googleScholar&asid=68b1dec7
at java.base/java.net.URI.create(Unknown Source)
at [email protected]/org.jabref.logic.importer.util.FileFieldParser.convert(Unknown Source)
at [email protected]/org.jabref.logic.importer.util.FileFieldParser.parse(Unknown Source)
at [email protected]/org.jabref.logic.importer.util.FileFieldParser.parse(Unknown Source)
at java.base/java.util.Optional.map(Unknown Source)
at [email protected]/com.tobiasdiez.easybind.optional.PreboundOptionalBinding$1.computeValue(Unknown Source)
at [email protected]/com.tobiasdiez.easybind.optional.PreboundOptionalBinding$1.computeValue(Unknown Source)
at javafx.base@23/javafx.beans.binding.ObjectBinding.get(Unknown Source)
at javafx.base@23/javafx.beans.binding.ObjectExpression.getValue(Unknown Source)
at [email protected]/com.tobiasdiez.easybind.optional.PreboundOptionalBinding$3.computeValue(Unknown Source)
at javafx.base@23/javafx.beans.binding.ObjectBinding.get(Unknown Source)
at javafx.base@23/javafx.beans.binding.ObjectExpression.getValue(Unknown Source)
at javafx.controls@23/javafx.scene.control.TableCell.updateItem(Unknown Source)
at javafx.controls@23/javafx.scene.control.TableCell.indexChanged(Unknown Source)
at javafx.controls@23/javafx.scene.control.IndexedCell.updateIndex(Unknown Source)
at javafx.controls@23/javafx.scene.control.skin.TableRowSkinBase.updateCells(Unknown Source)
at javafx.controls@23/javafx.scene.control.skin.TableRowSkinBase.checkState(Unknown Source)
at javafx.controls@23/javafx.scene.control.skin.TableRowSkinBase.computePrefHeight(Unknown Source)
at javafx.controls@23/javafx.scene.control.Control.computePrefHeight(Unknown Source)
at javafx.graphics@23/javafx.scene.Parent.prefHeight(Unknown Source)
at javafx.graphics@23/javafx.scene.layout.Region.prefHeight(Unknown Source)
at javafx.controls@23/javafx.scene.control.skin.VirtualFlow.resizeCell(Unknown Source)
at javafx.controls@23/javafx.scene.control.skin.VirtualFlow.getCell(Unknown Source)
at javafx.controls@23/javafx.scene.control.skin.VirtualFlow.getOrCreateCellSize(Unknown Source)
at javafx.controls@23/javafx.scene.control.skin.VirtualFlow.getOrCreateCellSize(Unknown Source)
at javafx.controls@23/javafx.scene.control.skin.VirtualFlow.recalculateAndImproveEstimatedSize(Unknown Source)
at javafx.controls@23/javafx.scene.control.skin.VirtualFlow.recalculateAndImproveEstimatedSize(Unknown Source)
at javafx.controls@23/javafx.scene.control.skin.VirtualFlow.recalculateEstimatedSize(Unknown Source)
at javafx.controls@23/javafx.scene.control.skin.VirtualFlow.layoutChildren(Unknown Source)
at javafx.graphics@23/javafx.scene.Parent.layout(Unknown Source)
at javafx.graphics@23/javafx.scene.Parent.layout(Unknown Source)
at javafx.graphics@23/javafx.scene.Parent.layout(Unknown Source)
at javafx.graphics@23/javafx.scene.Parent.layout(Unknown Source)
at javafx.graphics@23/javafx.scene.Parent.layout(Unknown Source)
at javafx.graphics@23/javafx.scene.Parent.layout(Unknown Source)
at javafx.graphics@23/javafx.scene.Parent.layout(Unknown Source)
at javafx.graphics@23/javafx.scene.Parent.layout(Unknown Source)
at javafx.graphics@23/javafx.scene.Parent.layout(Unknown Source)
at javafx.graphics@23/javafx.scene.Parent.layout(Unknown Source)
at javafx.graphics@23/javafx.scene.Scene.doLayoutPass(Unknown Source)
at javafx.graphics@23/javafx.scene.Scene$ScenePulseListener.pulse(Unknown Source)
at javafx.graphics@23/com.sun.javafx.tk.Toolkit.lambda$runPulse$2(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at javafx.graphics@23/com.sun.javafx.tk.Toolkit.runPulse(Unknown Source)
at javafx.graphics@23/com.sun.javafx.tk.Toolkit.firePulse(Unknown Source)
at javafx.graphics@23/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source)
at javafx.graphics@23/com.sun.javafx.tk.quantum.QuantumToolkit.pulse(Unknown Source)
at javafx.graphics@23/com.sun.javafx.tk.quantum.QuantumToolkit.pulseFromQueue(Unknown Source)
at javafx.graphics@23/com.sun.javafx.tk.quantum.QuantumToolkit.lambda$runToolkit$11(Unknown Source)
at javafx.graphics@23/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
at javafx.graphics@23/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
at javafx.graphics@23/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.net.URISyntaxException: Illegal character in query at index 58: https://go.gale.com/ps/i.do?p=HRCA&u=googlescholar&id=GALE|A653693412&v=2.1&it=r&sid=googleScholar&asid=68b1dec7
at java.base/java.net.URI$Parser.fail(Unknown Source)
at java.base/java.net.URI$Parser.checkChars(Unknown Source)
at java.base/java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.base/java.net.URI$Parser.parse(Unknown Source)
at java.base/java.net.URI.<init>(Unknown Source)
... 53 more