Can't save after making some changes

Hi all,

For some reason, I can’t save a database after making some specific changes. I can reproduce the error by changing a field in an specific entry copied from another database and by adding a masters thesis entry, but it feels pretty much random. It’s a known bug? I couldn’t find it.

I’m running Jabref 3.8.2 in Debian Jessie and my java version is:

java version “1.8.0_144”
Java™ SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot™ 64-Bit Server VM (build 25.144-b01, mixed mode)

The error console gives the following:

21:12:18.387 [AWT-EventQueue-0] ERROR net.sf.jabref.gui.BasePanel - runCommand error: Braces don’t match.
java.lang.IllegalArgumentException: Braces don’t match.
at net.sf.jabref.logic.bibtex.LatexFieldFormatter.checkBraces(LatexFieldFormatter.java:277) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.bibtex.LatexFieldFormatter.formatAndResolveStrings(LatexFieldFormatter.java:97) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.bibtex.LatexFieldFormatter.format(LatexFieldFormatter.java:85) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.bibtex.BibEntryWriter.writeField(BibEntryWriter.java:152) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.bibtex.BibEntryWriter.writeRequiredFieldsFirstRemainingFieldsSecond(BibEntryWriter.java:109) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.bibtex.BibEntryWriter.write(BibEntryWriter.java:53) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.exporter.BibtexDatabaseWriter.writeEntry(BibtexDatabaseWriter.java:168) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.exporter.BibDatabaseWriter.savePartOfDatabase(BibDatabaseWriter.java:198) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.logic.exporter.BibDatabaseWriter.saveDatabase(BibDatabaseWriter.java:150) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.gui.exporter.SaveDatabaseAction.saveDatabase(SaveDatabaseAction.java:189) ~[JabRef-3.8.2.jar:?]
at net.sf.jabref.gui.exporter.SaveDatabaseAction.run(SaveDatabaseAction.java:145) ~[JabRef-3.8.2.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_144]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_144]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_144]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_144]
at spin.Invocation.evaluate(Invocation.java:175) ~[JabRef-3.8.2.jar:?]
at spin.off.SpinOffEvaluator$1.run(SpinOffEvaluator.java:108) ~[JabRef-3.8.2.jar:?]
at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_144]

Hi, the error indicates that the number of open and closed braces does not match. You should check your bibtec code for the entry
In the actual 4.0 dev version this error has been fixed in the way that missing braces are inserted on saving

Indeed, the reference code needed a last brace to work properly. But somehow, the next time I opened jabref I couldn’t reproduce the error anymore. Good to know if it happens again, though. Thanks for your reply.