recent.xml – java.lang.IllegalArgumentException: requirement failed: GUI thread expected

Florian Haftmann florian.haftmann at cit.tum.de
Fri May 2 18:37:05 CEST 2025


This refers to 0af7fe946bfd9543697a6736ce244f1b2e004060

Quite often, jEdit refuses to start with the following traceback:

> ``11:38:49 [main] [error] Plugin: java.lang.IllegalArgumentException: requirement failed: GUI thread expected``
> ``11:38:49 [main] [error] Plugin:  at scala.Predef$.require(Predef.scala:337)``
> ``11:38:49 [main] [error] Plugin:  at isabelle.GUI_Thread$.require(gui_thread.scala:24)``
> ``11:38:49 [main] [error] Plugin:  at isabelle.jedit.Isabelle_Navigator.init(isabelle_navigator.scala:158)``
> ``11:38:49 [main] [error] Plugin:  at isabelle.jedit.Main_Plugin.start(main_plugin.scala:445)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.PluginJAR.startPlugin(PluginJAR.java:1737)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.PluginJAR.activatePlugin(PluginJAR.java:957)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.JARClassLoader._loadClass(JARClassLoader.java:393)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.JARClassLoader.loadClass(JARClassLoader.java:112)``
> ``11:38:49 [main] [error] Plugin:  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.classpath.ClassManagerImpl.classForName(ClassManagerImpl.java:204)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.NameSpace.classForName(NameSpace.java:1320)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.NameSpace.getClassImpl(NameSpace.java:1220)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.NameSpace.getClass(NameSpace.java:1161)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.Name.consumeNextObjectField(Name.java:298)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.Name.toObject(Name.java:199)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.BSHAmbiguousName.toObject(BSHAmbiguousName.java:60)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.BSHAllocationExpression.objectAllocation(BSHAllocationExpression.java:86)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.BSHAllocationExpression.eval(BSHAllocationExpression.java:62)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:102)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.BSHPrimaryExpression.eval(BSHPrimaryExpression.java:47)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.Interpreter.eval(Interpreter.java:644)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.Interpreter.eval(Interpreter.java:738)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.bsh.Interpreter.eval(Interpreter.java:727)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.BeanShellFacade._eval(BeanShellFacade.java:153)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.BeanShellFacade.eval(BeanShellFacade.java:117)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.BeanShell.eval(BeanShell.java:382)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.ServiceManager$Descriptor.getInstance(ServiceManager.java:337)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.ServiceManager.getService(ServiceManager.java:262)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.io.VFSManager.getVFSForProtocol(VFSManager.java:156)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.MiscUtilities.isURL(MiscUtilities.java:583)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.io.VFSManager.getVFSForPath(VFSManager.java:174)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.MiscUtilities.pathsEqual(MiscUtilities.java:1198)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.BufferHistory.getEntry(BufferHistory.java:88)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.jEdit.composeBufferPropsFromHistory(jEdit.java:4409)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.jEdit.openTemporary(jEdit.java:1860)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.jEdit.openTemporary(jEdit.java:1826)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.jEdit.openTemporary(jEdit.java:1779)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.BeanShell._runScript(BeanShell.java:328)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.BeanShell._runScript(BeanShell.java:291)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.BeanShell.runScript(BeanShell.java:217)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.Macros$BeanShellHandler.runMacro(Macros.java:1115)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.jEdit.runStartupScripts(jEdit.java:3992)``
> ``11:38:49 [main] [error] Plugin:  at org.gjt.sp.jedit.jEdit.main(jEdit.java:553)``
> ``11:38:49 [main] [error] Plugin:  at isabelle.jedit.JEdit_Main$.$anonfun$5(jedit_main.scala:126)``
> ``11:38:49 [main] [error] Plugin:  at isabelle.jedit.JEdit_Main$.main(jedit_main.scala:135)``
> ``11:38:49 [main] [error] Plugin:  at isabelle.jedit.JEdit_Main.main(jedit_main.scala)``

Remove ~/.isabelle/jedit/recent.xml restores proper behaviour.

I have attached one problematic recent.xml

	Florian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: recent.xml
Type: text/xml
Size: 2924 bytes
Desc: not available
URL: <https://mailman46.in.tum.de/pipermail/isabelle-dev/attachments/20250502/2efc03f8/attachment-0001.xml>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xA707172232CFA4E9.asc
Type: application/pgp-keys
Size: 22777 bytes
Desc: OpenPGP public key
URL: <https://mailman46.in.tum.de/pipermail/isabelle-dev/attachments/20250502/2efc03f8/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: OpenPGP digital signature
URL: <https://mailman46.in.tum.de/pipermail/isabelle-dev/attachments/20250502/2efc03f8/attachment-0001.sig>


More information about the isabelle-dev mailing list