Jabref: Not possible to save a database

Created on 6 Feb 2017  ·  8Comments  ·  Source: JabRef/jabref

JabRef_windows-x64_4_0_0-dev--snapshot--2017-02-05--multicleanup--ddecdfd3f
Windows 7
java 1.8.0_121

Steps to reproduce:

  1. open a new database
  2. input from medline PMID 27151464
  3. run cleanup
  4. try save or save as

this does not give any reaction; the program when run exit notices there is something to save but the file dialog does not open.

Put the excerpt of the log file here

btw: where to find the log file?

bug 🐛 ui

Most helpful comment

I can wait for a fix since I am working still with txs 3.8.2. I installed the snapshot in parallel.

All 8 comments

Unfortunately, I cannot reproduce this problem.

Can't you save the database at all? Or does this depend on the clean up? If so, can you provide a screenshot of your cleanup settings?

btw: where to find the log file?

Since 4.0.0dev you can find it using Help -> View event log


Opening: K:\BuchprojektSpringer\VierteAuflage\Literatur\adiponectin.bib

java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Folder parameter must be a valid folder

runCommand error: null

java.lang.NullPointerException
    at net.sf.jabref.gui.exporter.SaveDatabaseAction.saveAs(SaveDatabaseAction.java:314)
    at net.sf.jabref.gui.BasePanel.runCommand(BasePanel.java:988)
    at net.sf.jabref.gui.JabRefFrame$GeneralAction.actionPerformed(JabRefFrame.java:1097)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.AbstractButton.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
    at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

This looks like the same problem in #2511

Just one question, did you use the installer or did you just used the jar file?

Okay I found the reason:
JabRef stores the least recently used directory to be able to show it again on the next FileDialog. If this "working directory" no longer exists the error shown above occurs.

"Quick" solution would be to fallback to the default "working directory", i.e., the user home if the working dir is no longer existent. However, I'm not sure where to fix this as FileDialog is already deprecated... @JabRef/developers Has someone time to change to DialogService and check whether this service is also affected (I think so)?

Ahh... @bernhard-kleine to get it back working before we have published a fix you have to reset your preferences either completely using the UI (Options -> Preferences -> Reset preferences) or if you are using the jar version using the command: java -jar <JarFileName> -d workingDirectory

You could also simply change/reset the value in the registry (at least on
windows).

2017-02-06 14:38 GMT+01:00 Matthias Geiger notifications@github.com:

Ahh... @bernhard-kleine https://github.com/bernhard-kleine to get it
back working before we have published a fix you have to reset your
preferences either completely using the UI (Help -> Preferences -> Reset
preferences) or if you are using the jar version using the command: java
-jar -d workingDirectory


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/JabRef/jabref/issues/2522#issuecomment-277683027, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AATi5BAZzJZPBVUFKpuG6GdfrpanZec2ks5rZyJUgaJpZM4L35HV
.

I can wait for a fix since I am working still with txs 3.8.2. I installed the snapshot in parallel.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

lenhard picture lenhard  ·  4Comments

caugner picture caugner  ·  3Comments

humbleambition picture humbleambition  ·  3Comments

lenhard picture lenhard  ·  4Comments

diabl0w picture diabl0w  ·  3Comments