question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Exception if linked file has masked umlauts / invalid characters in path (from Citavi export in my case)

See original GitHub issue

JabRef version

5.6 (latest release)

Operating system

Windows

Details on version and operating system

Windows 10

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. Have a bibliography with file links that contain masked umlauts (probably this shouldn’t happen in the first place, but apparently Citavi exports that way)
  2. Open the entry view for it in JabRef and click on the General tab
  3. Get an exception (see appendix)

Appendix

grafik

Log File
java.nio.file.InvalidPathException: Illegal char <"> at index 69: Attachments/Generatives Design zur Optimierung additiv gefertigter K{"u}hlk{"o}rper (2021).pdf
	at java.base/sun.nio.fs.WindowsPathParser.normalize(Unknown Source)
	at java.base/sun.nio.fs.WindowsPathParser.parse(Unknown Source)
	at java.base/sun.nio.fs.WindowsPathParser.parse(Unknown Source)
	at java.base/sun.nio.fs.WindowsPath.parse(Unknown Source)
	at java.base/sun.nio.fs.WindowsFileSystem.getPath(Unknown Source)
	at java.base/java.nio.file.Path.resolve(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.model.util.FileHelper.find(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.model.util.FileHelper.lambda$find$0(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline$7$1.accept(Unknown Source)
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline.findFirst(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.model.util.FileHelper.find(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.model.util.FileHelper.find(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.fieldeditors.LinkedFileViewModel.lambda$new$0(Unknown Source)
	at org.jabref.merged.module@5.6.60000/de.saxsys.mvvmfx.utils.validation.FunctionBasedValidator.lambda$new$2(Unknown Source)
	at org.jabref.merged.module@5.6.60000/de.saxsys.mvvmfx.utils.validation.FunctionBasedValidator.validate(Unknown Source)
	at org.jabref.merged.module@5.6.60000/de.saxsys.mvvmfx.utils.validation.FunctionBasedValidator.<init>(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.fieldeditors.LinkedFileViewModel.<init>(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.fieldeditors.LinkedFilesEditorViewModel.lambda$parseToFileViewModel$1(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.fieldeditors.LinkedFilesEditorViewModel.parseToFileViewModel(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.util.BindingsHelper.lambda$bindContentBidirectional$4(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.util.BindingsHelper$BidirectionalListBinding.changed(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.binding.ExpressionHelper$Generic.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.beans.property.StringPropertyBase.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.beans.property.StringPropertyBase.markInvalid(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.beans.property.StringPropertyBase.set(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.beans.property.StringPropertyBase.set(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.beans.property.StringProperty.setValue(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.beans.property.StringProperty.setValue(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.util.BindingsHelper.bindBidirectional(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.util.BindingsHelper.bindBidirectional(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.fieldeditors.AbstractEditorViewModel.bindToEntry(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.fieldeditors.LinkedFilesEditorViewModel.bindToEntry(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.fieldeditors.LinkedFilesEditor.bindToEntry(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.entryeditor.FieldsEditorTab.setupPanel(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.entryeditor.FieldsEditorTab.bindToEntry(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.entryeditor.EntryEditorTab.notifyAboutFocus(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.entryeditor.EntryEditor.setEntry(Unknown Source)
	at java.base/java.util.Optional.ifPresent(Unknown Source)
	at org.jabref@5.6.60000/org.jabref.gui.LibraryTab.lambda$createMainTable$15(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.collections.ObservableListBase.fireChange(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.collections.ListChangeBuilder.commit(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.collections.ListChangeBuilder.endChange(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.collections.ObservableListBase.endChange(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.scene.control.SelectedItemsReadOnlyObservableList.lambda$new$0(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.collections.ListListenerHelper$Generic.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.collections.ListListenerHelper.fireValueChangedEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.collections.ObservableListBase.fireChange(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.collections.ListChangeBuilder.commit(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.collections.ListChangeBuilder.endChange(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.collections.ObservableListBase.endChange(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.scene.control.ReadOnlyUnbackedObservableList._endChange(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.scene.control.MultipleSelectionModelBase$SelectedIndicesList._endChange(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.scene.control.ControlUtils.updateSelectedIndices(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.scene.control.TableView$TableViewArrayListSelectionModel.fireCustomSelectedCellsListChangeEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.scene.control.TableView$TableViewArrayListSelectionModel.clearAndSelect(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.scene.control.TableView$TableViewSelectionModel.clearAndSelect(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.scene.control.behavior.TableCellBehaviorBase.simpleSelect(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.scene.control.behavior.TableCellBehaviorBase.doSelect(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.scene.control.behavior.CellBehaviorBase.mousePressed(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.scene.control.inputmap.InputMap.handle(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventUtil.fireEventImpl(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.event.EventUtil.fireEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.event.Event.fireEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.scene.Scene$MouseHandler.process(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.scene.Scene.processMouseEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/javafx.scene.Scene$ScenePeerListener.mouseEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.glass.ui.View.handleMouseEvent(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.glass.ui.View.notifyMouse(Unknown Source)
	at org.jabref.merged.module@5.6.60000/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at org.jabref.merged.module@5.6.60000/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:14 (14 by maintainers)

github_iconTop GitHub Comments

1reaction
the-star-seacommented, May 21, 2022

Hello, could you assign this to me? I think this issue is quite interesting.

1reaction
the-star-seacommented, May 20, 2022

Can I do this job?I am a new bee of opensource

Read more comments on GitHub >

github_iconTop Results From Across the Web

Error message "Illegal characters in path" when trying to add ...
Trying to attach all the files in a folder on a button click event, but I keep getting the Illegal Characters in Path...
Read more >
LaTeX/Bibliography Management - Wikibooks, open books for ...
This database can be referenced in any LaTeX document, and citations made to any record that is contained within the file. This is...
Read more >
Prevent file import errors caused by special characters or ...
When you import a file of contacts, we recognize characters that are common to email addresses, such as: Capital letters (A - Z);...
Read more >
LaTeX - Mathematical and Computer Sciences
The LaTeX document is a plain text file containing the content of the ... where to find all 95 of the printable ASCII...
Read more >
VHH Deliverable D2.1 Advanced Digitization Tool Kit
“Preservation of digital cinema movies” standard3. This tool kit builds on the results of the “Advanced Digitization Workshop” hosted by VHH.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found