NOTICE! This is a static HTML version of a legacy Fiji BugZilla bug.

The Fiji project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Bug 1214 - java.lang.IllegalStateException when trying to open new script
java.lang.IllegalStateException when trying to open new script
Status: RESOLVED FIXED
Product: Fiji
Classification: Unclassified
Component: Plugins
unspecified
PC Windows
: P4 normal
Assigned To: ImageJ Bugs Mailing List
: 1213
Depends on:
Blocks:
 
Reported: 2016-01-13 04:30 CST by Monika Pawlowska
Modified: 2016-02-04 10:12 CST
2 users (show)

See Also:

Description Monika Pawlowska 2016-01-13 04:30:15 CST
After starting Fiji and selecting File -> New -> Script, errors appear in console and in a separate "Exception" window. Script window does not open. This happens at least since yesterday update
------
[ERROR] Module threw exception
java.lang.IllegalStateException: Context already injected: net.imagej.ui.swing.script.ScriptEditor#context
	at org.scijava.Context.inject(Context.java:458)
	at org.scijava.Context.inject(Context.java:382)
	at org.scijava.command.CommandModule.initialize(CommandModule.java:146)
	at org.scijava.module.process.InitPreprocessor.process(InitPreprocessor.java:61)
	at org.scijava.module.ModuleRunner.preProcess(ModuleRunner.java:104)
	at org.scijava.module.ModuleRunner.run(ModuleRunner.java:156)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:126)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:65)
	at org.scijava.thread.DefaultThreadService$2.call(DefaultThreadService.java:191)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
---
OpenSPIM 2.0.0-rc-43/1.50e; Java 1.8.0_51 [64-bit]; Windows 7 6.1; 377MB of 73552MB (<1%)
 
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Context already injected: net.imagej.ui.swing.script.ScriptEditor#context
	at net.imagej.legacy.LegacyService.runLegacyCompatibleCommand(LegacyService.java:274)
	at net.imagej.legacy.DefaultLegacyHooks.interceptRunPlugIn(DefaultLegacyHooks.java:161)
	at ij.IJ.runPlugIn(IJ.java)
	at ij.Executer.runCommand(Executer.java:136)
	at ij.Executer.run(Executer.java:65)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Context already injected: net.imagej.ui.swing.script.ScriptEditor#context
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
	at net.imagej.legacy.LegacyService.runLegacyCompatibleCommand(LegacyService.java:270)
	... 5 more
Caused by: java.lang.IllegalStateException: Context already injected: net.imagej.ui.swing.script.ScriptEditor#context
	at org.scijava.Context.inject(Context.java:458)
	at org.scijava.Context.inject(Context.java:382)
	at org.scijava.command.CommandModule.initialize(CommandModule.java:146)
	at org.scijava.module.process.InitPreprocessor.process(InitPreprocessor.java:61)
	at org.scijava.module.ModuleRunner.preProcess(ModuleRunner.java:104)
	at org.scijava.module.ModuleRunner.run(ModuleRunner.java:156)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:126)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:65)
	at org.scijava.thread.DefaultThreadService$2.call(DefaultThreadService.java:191)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	... 1 more
---

Information about your version of Java:

  os.arch => amd64
  os.name => Windows 7
  os.version => 6.1
  java.version => 1.8.0_51
  java.vendor => Oracle Corporation
  java.runtime.name => Java(TM) SE Runtime Environment
  java.runtime.version => 1.8.0_51-b16
  java.vm.name => Java HotSpot(TM) 64-Bit Server VM
  java.vm.version => 25.51-b03
  java.vm.vendor => Oracle Corporation
  java.vm.info => mixed mode
  java.awt.graphicsenv => sun.awt.Win32GraphicsEnvironment
  java.specification.name => Java Platform API Specification
  java.specification.version => 1.8
  sun.cpu.endian => little
  sun.desktop => windows
  file.separator => \

The up-to-date check says: UP_TO_DATE

Information relevant to JAVA_HOME related problems:

  JAVA_HOME is set to: C:\Program Files\Java\jdk1.8.0_51/jre
  imagej.dir => C:\OPENSP~1\OpenSPIM.app

Information about the version of each plugin:

Activated update sites:
ImageJ: http://update.imagej.net/ (last check:20151222031554)
Fiji: http://update.fiji.sc/ (last check:20151222052403)
OpenSPIM: http://openspim.org/update/ (last check:20151217184431)
Micro-Manager-dev: http://sites.imagej.net/Micro-Manager-dev/ (last check:20160113084010)

Files not up-to-date:
  3cea8b06 (MODIFIED) 20141223094152 mm/win64/PiUsb.dll
  0930b236 (LOCAL_ONLY) 20150715143430 plugins/VSNR2_plugin.jar
Comment 1 Monika Pawlowska 2016-01-13 04:36:29 CST
And if I try to open an existing script instead, it opens, but another error appears:

---------
Exception in thread "AWT-EventQueue-0" java.lang.Error: Error: could not match input
	at net.imagej.ui.swing.script.highliters.ImageJMacroTokenMaker.zzScanError(ImageJMacroTokenMaker.java:2619)
	at net.imagej.ui.swing.script.highliters.ImageJMacroTokenMaker.yylex(ImageJMacroTokenMaker.java:2878)
	at net.imagej.ui.swing.script.highliters.ImageJMacroTokenMaker.getTokenList(ImageJMacroTokenMaker.java:2469)
	at org.fife.ui.rsyntaxtextarea.RSyntaxDocument.getTokenListForLine(RSyntaxDocument.java:428)
	at org.fife.ui.rsyntaxtextarea.SyntaxView.paint(SyntaxView.java:721)
	at javax.swing.plaf.basic.BasicTextUI$RootView.paint(BasicTextUI.java:1434)
	at javax.swing.plaf.basic.BasicTextUI.paintSafely(BasicTextUI.java:737)
	at org.fife.ui.rtextarea.RTextAreaUI.paintSafely(RTextAreaUI.java:536)
	at javax.swing.plaf.basic.BasicTextUI.paint(BasicTextUI.java:881)
	at javax.swing.plaf.basic.BasicTextUI.update(BasicTextUI.java:860)
	at org.fife.ui.rtextarea.RTextAreaBase.paintComponent(RTextAreaBase.java:728)
	at org.fife.ui.rsyntaxtextarea.RSyntaxTextArea.paintComponent(RSyntaxTextArea.java:2017)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JViewport.paint(JViewport.java:728)
	at javax.swing.JComponent.paintChildren(JComponent.java:889)
	at javax.swing.JComponent.paint(JComponent.java:1065)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1572)
	at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1495)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1265)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:824)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:807)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:807)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:782)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:731)
	at javax.swing.RepaintManager.access$1300(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1720)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Comment 2 Curtis Rueden 2016-01-26 13:44:06 CST
I am able to reproduce this problem in an up-to-date OpenSPIM installation (i.e.: an ImageJ with the Fiji, OpenSPIM and MicroManager-dev update sites enabled).
Comment 3 Curtis Rueden 2016-01-26 13:45:24 CST
*** Bug 1213 has been marked as a duplicate of this bug. ***
Comment 4 Curtis Rueden 2016-02-04 10:12:35 CST
After consulting with Hongkee Moon, we discovered that the Micro-Manager-dev update site, used by the OpenSPIM update site, had many invalid/obsolete duplicate libraries present in the plugins/Micro-Manager subfolder.

These duplicates interfered with the normal operations of ImageJ.

I have removed all the duplicates from the Micro-Manager-dev update site, so this problem should not bite others using OpenSPIM anymore -- at least for now.

To repair your local installation, remove all plugins/Micro-Manager/scijava-common-*.jar files from your installation. Then launch OpenSPIM and run the updater (which should now launch successfully) to update everything else.

And please feel free to reopen this issue if the problem recurs.