jabref icon indicating copy to clipboard operation
jabref copied to clipboard

Illegal character in query: pipe character in file field

Open ryan-carpenter opened this issue 1 year ago • 8 comments

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.

  1. 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

ryan-carpenter avatar Oct 02 '24 23:10 ryan-carpenter