Jabref: freezes on macOS High Sierra

Created on 27 Sep 2017  ·  21Comments  ·  Source: JabRef/jabref

  1. Open a library
  2. double click an entry to open the entry editor
  3. freezes

When the entry editor is opened, then move the down arrow to move the entry to the next one, and then freezes

JabRef 4.0-dev--snapshot--2017-09-26--master--35c447bd8
Mac OS X 10.13 x86_64
Java 1.8.0_144

This problem appears on the version snapshot--2017-09-26 and the current one

macOS bug 🐛

Most helpful comment

Hi,

I have the same issue. Double clicking on a record or selecting the next record when the TableEntry is open causes a ~30 second hang.

JabRef 4.1-dev--snapshot--2017-11-13--master--c1d425a31
Mac OS X 10.13.1 x86_64 
Java 1.8.0_152

I resolved the issue by following the links above. I thought I would make it explicit here for others as it took me a little while to get it right.

I found my hostname by typing 'hostname' in terminal (Mine is called carbon.local). At first I thought the hostname specified in System Preferences -> Sharing -> Computer Name (Carbon) was the full hostname. It isn't.

In my /etc/hosts file I replaced the line:
127.0.0.1 localhost
with:
127.0.0.1 localhost carbon.local
That's it - bliss has instantly returned to JabRef. No need to restart JabRef.

Here is the portion of the dump (kill -3 ps#) that caused the hang:

"JavaFX Application Thread" #12 prio=5 os_prio=31 tid=0x00007fed9e97c000 nid=0x307 runnable [0x00007ffee1c16000]
   java.lang.Thread.State: RUNNABLE
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
    at java.net.InetAddress.getLocalHost(InetAddress.java:1500)
    - locked <0x0000000740014330> (a java.lang.Object)
    at org.jabref.preferences.JabRefPreferences.getUser(JabRefPreferences.java:938)
    at org.jabref.preferences.JabRefPreferences.getFileDirectoryPreferences(JabRefPreferences.java:1382)
    at org.jabref.gui.fieldeditors.FieldEditors.getForField(FieldEditors.java:35)
    at org.jabref.gui.entryeditor.FieldsEditorTab.setupPanel(FieldsEditorTab.java:75)
    at org.jabref.gui.entryeditor.FieldsEditorTab.bindToEntry(FieldsEditorTab.java:220)
    at org.jabref.gui.entryeditor.EntryEditorTab.notifyAboutFocus(EntryEditorTab.java:35)
    at org.jabref.gui.entryeditor.EntryEditor.lambda$setEntry$3(EntryEditor.java:211)
    at org.jabref.gui.entryeditor.EntryEditor$$Lambda$770/690621272.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
    at com.sun.javafx.application.PlatformImpl$$Lambda$49/1611113609.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
    at com.sun.javafx.application.PlatformImpl$$Lambda$48/1567581361.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

All 21 comments

I can confirm this bug on High Sierra (10.13), which was not there on Sierra (10.12).
This bug only affects the entry editor, but not the about window (which is also a javafx component).
There are no hints in the log files/console output and updating to the java8u152(beta) did not change anything.
Is there any high resolution specific stuff in the entry editor (especially fonts)? @tobiasdiez

There is no real difference between the entry editor and other javafx implementations (like the groups interface or the search bar). The entry editor however accesses the file system, maybe the problem lies there. Can you please create a thread dump and/or use a debugger to investigate this problem further? Thanks!

There seems to be an issue with the related articles tab.
When I am within the university network, the performance is okish, but otherwise it is not acceptable.

@iTao8 could you please try to disable the "related articles" tab in the preferences (Entry editor -> "Show 'Related Articles' tab"

@chochreiner The "related articles" tab is always disabled.

@tobiasdiez are there any other requests to scientific portals like ieee, acm, ... which could result in a timeout outside of university networks/when the user has no permission to access these services

Potentially #3227?

For anyone on macOS Sierra, I had the same issue on 4.0.0 and following the workaround in #3227 fixed it.

@manfredlift (or somebody else using macOS): you you please add the workaround in the installation notes so that new users find the information more easily. Thanks!

With version 4.0 (on macOS Sierra 10.12.6) I'm getting the freeze after the following steps:

  1. "Press the add article button" ;
  2. Paste a reference into the "biblatex source" pane after copying from Chrome;
  3. Jabref hangs after either a) highlighting a piece of text in the "biblatex source" pane with the cursor, or b) simply selecting the "General" pane.

Appending my host name to localhost in /etc/hosts (and then rebooting) has no effect. This is a machine connected to a university network however. Haven't tried 4.0 at home yet.

Problem seems to be consistently reproducible. :(

I am running into the same error. I downloaded JabRef-4.0.jar from the repo and ran it from the terminal to capture the output. When I first open the program, the output is

09:42:25.693 [AWT-EventQueue-0] INFO  org.jabref.logic.importer.OpenDatabase - Opening: PaperDatabase_JabRef.bib
Oct 13, 2017 9:42:26 AM com.sun.javafx.css.StyleConverterImpl getInstance
SEVERE: StyleConverterImpl : converter Class is null for : com.sun.javafx.scene.layout.region.CornerRadiiConverter
Oct 13, 2017 9:42:26 AM com.sun.javafx.css.StyleConverterImpl readBinary
SEVERE: could not deserialize com.sun.javafx.scene.layout.region.CornerRadiiConverter
could not deserialize com.sun.javafx.scene.layout.region.CornerRadiiConverter
File: grouptree.fxml not found, attempting with camel case
Oct 13, 2017 9:42:27 AM javafx.fxml.FXMLLoader$ValueElement processValue
WARNING: Loading FXML document with JavaFX API of version 8.0.112 by JavaFX runtime of version 8.0.45
File: grouptree.css not found, attempting with camel case

Then, when I click on the add entry button and select "Article", an exception is thrown:

WARNING: Loading FXML document with JavaFX API of version 8.0.112 by JavaFX runtime of version 8.0.45
09:44:06.321 [AWT-EventQueue-0] ERROR org.jabref.FallbackExceptionHandler - Uncaught exception occurred in Thread[AWT-EventQueue-0,6,main]
java.lang.NullPointerException: null
    at javafx.embed.swing.JFXPanel$HostContainer.lambda$setEmbeddedScene$53(JFXPanel.java:929) ~[jfxrt.jar:?]
    at javafx.embed.swing.JFXPanel$HostContainer$$Lambda$873/1399918834.run(Unknown Source) ~[?:?]
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) ~[?:1.8.0_45]
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) ~[?:1.8.0_45]
    at java.awt.EventQueue.access$500(EventQueue.java:97) ~[?:1.8.0_45]
    at java.awt.EventQueue$3.run(EventQueue.java:709) ~[?:1.8.0_45]
    at java.awt.EventQueue$3.run(EventQueue.java:703) ~[?:1.8.0_45]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_45]
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[?:1.8.0_45]
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86) ~[?:1.8.0_45]
    at java.awt.EventQueue$4.run(EventQueue.java:731) ~[?:1.8.0_45]
    at java.awt.EventQueue$4.run(EventQueue.java:729) ~[?:1.8.0_45]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_45]
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75) ~[?:1.8.0_45]
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) ~[?:1.8.0_45]
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) [?:1.8.0_45]
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) [?:1.8.0_45]
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) [?:1.8.0_45]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) [?:1.8.0_45]
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) [?:1.8.0_45]
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [?:1.8.0_45]

I will note that the program doesn't hang when I'm running it in this mode, although it does hang when I run the bundled application version installed by the dmg.

I have now added a note regarding the host mapping solution for the freezes into the installation help. Hopefully, this helps some users to fix their setup instead of reporting an issue here.

@adcox The log says that you have an older JavaFX runtime installed. This might be the reason why some classes cannot be instantiated and trigger a NullPointerException later. Please make sure you have an up-to-date version of JavaFX on your system.

Regarding the hostname - can you confirm what hostname outputs agrees to your hosts file?
If not you can in addition try to manually set it: https://superuser.com/questions/49891/how-can-i-stop-mac-os-x-overriding-my-hostname-when-i-receive-a-dhcp-request-on#50104

Yep, % hostname gives the correct hostname, as set in /etc/hosts.

Oh... and what version of Java should I be using? In the Settings panel, it tells me I have v9, build 9+181. I'm not sure I even know what "javaFX" is I'm afraid 😀

@dvbowen you need to use java 8. http://blog.jabref.org/#october-04-2017-–-jabref-4-0

@lynyus thanks! May have fixed this. For others....

  • deleted Java 9
  • installed Java 8u144
  • installed JDK 8u144
  • removed /Applications/JabRef.app/
  • reinstalled JabRef v4
  • rebooted

I've actually gotten as far as adding a new entry without JabRef 4 hanging, so, fingers-crossed....

Did u get it working?
Actually I am on Java 8 and I still have this problem. Am I missing anything?

EDIT: Actually, I found that the freeze is temporary. It shows that its loading and stays frozen for around 5 minutes and then start working. But this happens every time I try to add a new publication.

Yeah, I wrote too soon. I get further than I did to start with, but I now regularly freeze on the "open file" command in the "General" pane. This is very funny, because earlier versions of JabRef had a button that simply let me link to a pdf file (in a local dropbox folder) that had the same name as the Bibtexkey. That option seems to have disappeared (somewhere new in "Options" perhaps? Can't see it).

Need to downgrade my version of Jabref. Hope the older versions are still kicking around....

Hi,

I have the same issue. Double clicking on a record or selecting the next record when the TableEntry is open causes a ~30 second hang.

JabRef 4.1-dev--snapshot--2017-11-13--master--c1d425a31
Mac OS X 10.13.1 x86_64 
Java 1.8.0_152

I resolved the issue by following the links above. I thought I would make it explicit here for others as it took me a little while to get it right.

I found my hostname by typing 'hostname' in terminal (Mine is called carbon.local). At first I thought the hostname specified in System Preferences -> Sharing -> Computer Name (Carbon) was the full hostname. It isn't.

In my /etc/hosts file I replaced the line:
127.0.0.1 localhost
with:
127.0.0.1 localhost carbon.local
That's it - bliss has instantly returned to JabRef. No need to restart JabRef.

Here is the portion of the dump (kill -3 ps#) that caused the hang:

"JavaFX Application Thread" #12 prio=5 os_prio=31 tid=0x00007fed9e97c000 nid=0x307 runnable [0x00007ffee1c16000]
   java.lang.Thread.State: RUNNABLE
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)
    at java.net.InetAddress.getLocalHost(InetAddress.java:1500)
    - locked <0x0000000740014330> (a java.lang.Object)
    at org.jabref.preferences.JabRefPreferences.getUser(JabRefPreferences.java:938)
    at org.jabref.preferences.JabRefPreferences.getFileDirectoryPreferences(JabRefPreferences.java:1382)
    at org.jabref.gui.fieldeditors.FieldEditors.getForField(FieldEditors.java:35)
    at org.jabref.gui.entryeditor.FieldsEditorTab.setupPanel(FieldsEditorTab.java:75)
    at org.jabref.gui.entryeditor.FieldsEditorTab.bindToEntry(FieldsEditorTab.java:220)
    at org.jabref.gui.entryeditor.EntryEditorTab.notifyAboutFocus(EntryEditorTab.java:35)
    at org.jabref.gui.entryeditor.EntryEditor.lambda$setEntry$3(EntryEditor.java:211)
    at org.jabref.gui.entryeditor.EntryEditor$$Lambda$770/690621272.run(Unknown Source)
    at com.sun.javafx.application.PlatformImpl.lambda$null$172(PlatformImpl.java:295)
    at com.sun.javafx.application.PlatformImpl$$Lambda$49/1611113609.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$173(PlatformImpl.java:294)
    at com.sun.javafx.application.PlatformImpl$$Lambda$48/1567581361.run(Unknown Source)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

Closing this issue due to inactivity :zzz:
Please reopen the issue with additional information if the problem persists.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

humbleambition picture humbleambition  ·  3Comments

a-torgovitsky picture a-torgovitsky  ·  3Comments

oscargus picture oscargus  ·  3Comments

c3h899 picture c3h899  ·  3Comments

LinusDietz picture LinusDietz  ·  3Comments