Skip to content

Clicking 'Get fulltext' triggers a 'null pointer exception' when a databse is opened in a current directory.  #2739

@sauliusg

Description

@sauliusg

JabRef version JabRef 3.8.2 and JabRef 4.0.0-dev (master commit e7fc94c), running on 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux, LinuxMin 18.1, openjdk version "1.8.0_121", triggers "Null pointer exception" when database is opened in the current directory, with no explicit path.

Steps to reproduce (using stock 'bash' on LinuxMint):

mkdir -p ~/tmp/jabref/pdf; cd ~/tmp/jabref

touch pdf/Feringa1983.pdf

jabref &

# Options|Preferences|File: remove the tick from "Open last edited databases at startup"
4a. Set "Main file directory" to "/home/saulius/tmp/jabref" (replace "saulius" with your login name)

Exit from Jabref

unpack the attached "bibliography.bib" (from the attached "bibliography.zip", contains just one entry) to the working directory;

jabref bibliography.bib

Edit the entry; go to "General"; remove the file; click "Get fulltext"
=> the java.lang.NullPointerException: null is thrown (see the log below)

screenshot from 2017-04-14 22-45-45
bibliography.zip

the GUI can be closed normally.

If a database is opened using menus, "File|Open Database|...", the current master works as expected.

An excerpt of the log file here:
saulius@kolibris Feringa/ $ JabRef bibliography.bib &
[3] 16038
saulius@kolibris Feringa/ $ AI: INFO 14-04-2017 22:45, 11: Configuration file has been successfully found as resource
AI: INFO 14-04-2017 22:45, 11: 'MaxTelemetryBufferCapacity': null value is replaced with '500'
AI: INFO 14-04-2017 22:45, 11: 'FlushIntervalInSeconds': null value is replaced with '5'
AI: TRACE 14-04-2017 22:45, 11: Using Http Client version 4.3+
AI: INFO 14-04-2017 22:45, 11: 'Channel.MaxTransmissionStorageCapacityInMB': null value is replaced with '10'
AI: INFO 14-04-2017 22:45, 11: Configuration file has been successfully found as resource
AI: INFO 14-04-2017 22:45, 11: 'MaxTelemetryBufferCapacity': null value is replaced with '500'
AI: INFO 14-04-2017 22:45, 11: 'FlushIntervalInSeconds': null value is replaced with '5'
AI: INFO 14-04-2017 22:45, 11: 'Channel.MaxTransmissionStorageCapacityInMB': null value is replaced with '10'
AI: TRACE 14-04-2017 22:45, 23: Telemetry Configuration: instrumentation key 'null' is not in UUID format
AI: TRACE 14-04-2017 22:45, 23: Telemetry Configuration: illegal instrumentation key: null
22:45:30.349 [AWT-EventQueue-0] INFO  org.jabref.logic.importer.OpenDatabase - Opening: bibliography.bib
22:45:30.406 [AWT-EventQueue-0] WARN  org.jabref.JabRefGUI - There seem to be problems with OpenJDK and the default GTK Look&Feel. Using Metal L&F instead. Change to another L&F with caution.
File: grouptree.fxml not found, attempting with camel case
Apr 14, 2017 10:45:31 PM javafx.fxml.FXMLLoader$ValueElement processValue
WARNING: Loading FXML document with JavaFX API of version 8.0.112 by JavaFX runtime of version 8.0.60
File: grouptree.css not found, attempting with camel case
22:45:37.539 [AWT-EventQueue-0] WARN  org.jabref.gui.date.DatePickerButton - Unable to parse stored date for field 'date' with current settings. Clear button in calender popup will not work.
22:45:42.125 [JabRef CachedThreadPool] ERROR org.jabref.FallbackExceptionHandler - Uncaught exception Occurred in Thread[JabRef CachedThreadPool,6,main]
java.lang.NullPointerException: null
	at org.jabref.model.database.BibDatabaseContext.lambda$getFileDirectories$4(BibDatabaseContext.java:201) ~[JabRef-4.0.0-dev.jar:?]
	at java.util.Optional.ifPresent(Optional.java:159) ~[?:1.8.0_121]
	at org.jabref.model.database.BibDatabaseContext.getFileDirectories(BibDatabaseContext.java:200) ~[JabRef-4.0.0-dev.jar:?]
	at org.jabref.model.database.BibDatabaseContext.getFileDirectories(BibDatabaseContext.java:148) ~[JabRef-4.0.0-dev.jar:?]
	at org.jabref.gui.externalfiles.AutoSetLinks$1.run(AutoSetLinks.java:103) ~[JabRef-4.0.0-dev.jar:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_121]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_121]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121]
AI: TRACE 14-04-2017 22:45, 42: Telemetry Configuration: illegal instrumentation key: null

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions