Trouble launching Fiji in MacOS

The latest version of Fiji (as of 19 October 2015) will not launch on my Mac.

The app icon shows a circle with diagonal line across it, and will not launch even when pressing Control.

The error message on launch reads: “You can’t open the application “Fiji.app” because it may be damaged or incomplete.”

Possibly related is the fact that when I look in the app Contents, there is no MacOS folder. This goes for both the regular MacOS download and the “no JRE” download.

But I can run the Life-Line version from 11/2014 and that version still runs when updated fully to 1.50 b, so I don’t think it is a problem with security, permissions, or Java. I have El Capitan 10.11.0 and both Java 6 and Java 8, and the Life-Line version uses Java 8.

I can also successfully run the version of ImageJ (ij-1.50b.jar) contained within the un-runnable Fiji.app.

Is this a bug or a change in the way the app works?

Any suggestions would be most appreciated!

Theresa

Thanks for the report. I confirm that the OS X version of the Fiji continuous release is somehow corrupted. Investigating now.

This problem has now been fixed. It was an issue with the Stable-Fiji Jenkins job which builds the packages.

1 Like

It works for me now. Thank you for solving it – and practically instantaneously at that!

1 Like

Hi,
A user at our facility is having problems on MacOS El Capitan.

Basically, the Mac version no longer comes bundled with a JRE, is this normal (i.e. there is no ‘jre’ folder under Fiji.app) ?

So the user is running Fiji with Java 8 at the latest version, which seems to work OK. Then between Friday and today a bug stopped Fiji from starting. Running Fiji in debug mode outputs the following error.

For the info, reinstalling Fiji seems to have solved the issue somehow, but I thought I’d mention this somewhere and perhaps get a workaround that does not involve reinstalling Fiji.

Thanks.

[ERROR] Cannot create plugin: class='org.scijava.plugins.scripting.javascript.JavaScriptScriptLanguage', name='JavaScript', priority=0.0, enabled=true, pluginType=ScriptLanguage
java.lang.IllegalArgumentException: No such script engine: javascript
	at org.scijava.script.AdaptedScriptLanguage.findFactory(AdaptedScriptLanguage.java:151)
	at org.scijava.script.AdaptedScriptLanguage.<init>(AdaptedScriptLanguage.java:73)
	at org.scijava.plugins.scripting.javascript.JavaScriptScriptLanguage.<init>(JavaScriptScriptLanguage.java:59)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
	at java.lang.Class.newInstance(Class.java:442)
	at org.scijava.plugin.PluginInfo.createInstance(PluginInfo.java:302)
	at org.scijava.plugin.DefaultPluginService.createInstance(DefaultPluginService.java:236)
	at org.scijava.plugin.DefaultPluginService.createInstances(DefaultPluginService.java:225)
	at org.scijava.plugin.DefaultPluginService.createInstancesOfType(DefaultPluginService.java:216)
	at org.scijava.plugin.AbstractSingletonService.initInstances(AbstractSingletonService.java:123)
	at org.scijava.plugin.AbstractSingletonService.getInstances(AbstractSingletonService.java:72)
	at org.scijava.script.DefaultScriptService.initScriptLanguageIndex(DefaultScriptService.java:342)
	at org.scijava.script.DefaultScriptService.scriptLanguageIndex(DefaultScriptService.java:307)
	at org.scijava.script.DefaultScriptService.getIndex(DefaultScriptService.java:117)
	at org.scijava.script.DefaultScriptService.canHandleFile(DefaultScriptService.java:233)
	at org.scijava.script.ScriptFinder.discoverScripts(ScriptFinder.java:131)
	at org.scijava.script.ScriptFinder.discoverScripts(ScriptFinder.java:125)
	at org.scijava.script.ScriptFinder.findScripts(ScriptFinder.java:93)
	at org.scijava.script.DefaultScriptService.initScripts(DefaultScriptService.java:391)
	at org.scijava.script.DefaultScriptService.scripts(DefaultScriptService.java:325)
	at org.scijava.script.DefaultScriptService.getScripts(DefaultScriptService.java:167)
	at net.imagej.legacy.LegacyService.getScriptsAndNonLegacyCommands(LegacyService.java:627)
	at net.imagej.legacy.IJ1Helper.addMenuItems(IJ1Helper.java:659)
	at net.imagej.legacy.LegacyService.initialize(LegacyService.java:501)
	at org.scijava.service.ServiceHelper.createServiceRecursively(ServiceHelper.java:353)
	at org.scijava.service.ServiceHelper.createExactService(ServiceHelper.java:269)
	at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:231)
	at org.scijava.service.ServiceHelper.createServiceRecursively(ServiceHelper.java:340)
	at org.scijava.service.ServiceHelper.createExactService(ServiceHelper.java:269)
	at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:231)
	at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:194)
	at org.scijava.service.ServiceHelper.loadServices(ServiceHelper.java:166)
	at org.scijava.Context.<init>(Context.java:267)
	at org.scijava.Context.<init>(Context.java:224)
	at org.scijava.Context.<init>(Context.java:163)
	at org.scijava.Context.<init>(Context.java:149)
	at net.imagej.ImageJ.<init>(ImageJ.java:79)
	at net.imagej.Main.launch(Main.java:61)
	at net.imagej.Main.main(Main.java:73)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at net.imagej.launcher.ClassLauncher.launch(ClassLauncher.java:258)
	at net.imagej.launcher.ClassLauncher.run(ClassLauncher.java:184)
	at net.imagej.launcher.ClassLauncher.main(ClassLauncher.java:76)
[DEBUG] Found 7 ScriptLanguage plugins.
[DEBUG] Found 0 scripts
[DEBUG] Created service 'net.imagej.legacy.LegacyService' in 1556 ms
[DEBUG] Created service 'net.imagej.legacy.LegacyConsoleService' in 1557 ms
[DEBUG] Creating service: fiji.DefaultFijiService
[DEBUG] Created service 'fiji.DefaultFijiService' in 1 ms
[DEBUG] Creating service: org.scijava.console.DefaultConsoleService
[DEBUG] Created service 'org.scijava.console.DefaultConsoleService' in 2 ms
[DEBUG] Creating service: org.scijava.input.DefaultInputService
[DEBUG] Created service 'org.scijava.input.DefaultInputService' in 2 ms
[DEBUG] Creating service: org.scijava.io.DefaultDataHandleService
[DEBUG] Found 1 DataHandle plugins.
[DEBUG] Created service 'org.scijava.io.DefaultDataHandleService' in 1 ms
[DEBUG] Creating service: org.scijava.io.DefaultIOService
[DEBUG] Created service 'org.scijava.io.DefaultIOService' in 3 ms
[DEBUG] Creating service: org.scijava.io.DefaultRecentFileService
[DEBUG] Created service 'org.scijava.io.DefaultRecentFileService' in 19 ms
[DEBUG] Creating service: org.scijava.platform.DefaultPlatformService
[DEBUG] Creating service: org.scijava.platform.DefaultAppEventService
[DEBUG] Created service 'org.scijava.platform.DefaultAppEventService' in 1 ms
[DEBUG] Found 2 Platform plugins.
[DEBUG] Configuring platform: org.scijava.plugins.platforms.macosx.MacOSXPlatform
[DEBUG] publish(
	context = org.scijava.Context@78238f40
	consumed = false
	items[0] = label='About ImageJ...', iconPath='/icons/commands/information.png', priority=0.0, enabled=true, pluginType=Command
	items[1] = label='Preferences', priority=0.0, enabled=true, pluginType=Command
	items[2] = label='Quit', iconPath='/icons/commands/door_in.png', priority=0.0, enabled=true, pluginType=Command,null,null), called from non-EDT Thread:null
[DEBUG] Configuring platform: org.scijava.platform.DefaultPlatform
[DEBUG] Created service 'org.scijava.platform.DefaultPlatformService' in 42 ms
[DEBUG] Creating service: org.scijava.plugins.scripting.java.DefaultJavaService
[DEBUG] Created service 'org.scijava.plugins.scripting.java.DefaultJavaService' in 1 ms
[DEBUG] Creating service: org.scijava.script.DefaultScriptHeaderService
[DEBUG] Created service 'org.scijava.script.DefaultScriptHeaderService' in 0 ms
[DEBUG] Creating service: org.scijava.text.DefaultTextService
[DEBUG] Created service 'org.scijava.text.DefaultTextService' in 0 ms
[DEBUG] Creating service: org.scijava.tool.DefaultToolService
[DEBUG] Created service 'org.scijava.tool.DefaultToolService' in 15 ms
[DEBUG] Creating service: org.scijava.ui.DefaultUIService
[DEBUG] Created service 'org.scijava.ui.DefaultUIService' in 4 ms
[DEBUG] Creating service: org.scijava.ui.dnd.DefaultDragAndDropService
[DEBUG] Created service 'org.scijava.ui.dnd.DefaultDragAndDropService' in 11 ms
[DEBUG] Creating service: org.scijava.ui.swing.SwingIconService
[DEBUG] Created service 'org.scijava.ui.swing.SwingIconService' in 1 ms
[DEBUG] Creating service: org.scijava.welcome.DefaultWelcomeService
[DEBUG] Created service 'org.scijava.welcome.DefaultWelcomeService' in 1 ms
[DEBUG] Creating service: org.scijava.widget.DefaultWidgetService
[DEBUG] Found 22 InputWidget plugins.
[DEBUG] Created service 'org.scijava.widget.DefaultWidgetService' in 1 ms
[DEBUG] Creating service: org.scijava.cache.DefaultCacheService
[DEBUG] Created service 'org.scijava.cache.DefaultCacheService' in 1 ms
[DEBUG] Creating service: io.scif.DefaultMetadataService
[DEBUG] Created service 'io.scif.DefaultMetadataService' in 0 ms
[DEBUG] Creating service: io.scif.codec.DefaultCodecService
[DEBUG] Created service 'io.scif.codec.DefaultCodecService' in 0 ms
[DEBUG] Creating service: io.scif.formats.qt.DefaultQTJavaService
[DEBUG] Created service 'io.scif.formats.qt.DefaultQTJavaService' in 3 ms
[DEBUG] Creating service: io.scif.formats.tiff.DefaultTiffService
[DEBUG] Created service 'io.scif.formats.tiff.DefaultTiffService' in 2 ms
[DEBUG] Creating service: io.scif.gui.DefaultGUIService
[DEBUG] Created service 'io.scif.gui.DefaultGUIService' in 2 ms
[DEBUG] Creating service: io.scif.img.DefaultImgUtilityService
[DEBUG] Created service 'io.scif.img.DefaultImgUtilityService' in 11 ms
[DEBUG] Creating service: io.scif.img.cell.cache.MapDBCache
[DEBUG] Creating service: io.scif.refs.DefaultRefManagerService
[DEBUG] Created service 'io.scif.refs.DefaultRefManagerService' in 1 ms
[DEBUG] Created service 'io.scif.img.cell.cache.MapDBCache' in 9 ms
[DEBUG] Creating service: io.scif.img.converters.DefaultPlaneConverterService
[DEBUG] Created service 'io.scif.img.converters.DefaultPlaneConverterService' in 0 ms
[DEBUG] Creating service: io.scif.io.DefaultNIOService
[DEBUG] Created service 'io.scif.io.DefaultNIOService' in 1 ms
[DEBUG] Creating service: io.scif.ome.services.DefaultOMEMetadataService
Error while executing the main() method of class 'net.imagej.Main':
java.lang.IllegalArgumentException: Invalid service: io.scif.ome.services.DefaultOMEMetadataService
	at org.scijava.service.ServiceHelper.createExactService(ServiceHelper.java:280)
	at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:231)
	at org.scijava.service.ServiceHelper.loadService(ServiceHelper.java:194)
	at org.scijava.service.ServiceHelper.loadServices(ServiceHelper.java:166)
	at org.scijava.Context.<init>(Context.java:267)
	at org.scijava.Context.<init>(Context.java:224)
	at org.scijava.Context.<init>(Context.java:163)
	at org.scijava.Context.<init>(Context.java:149)
	at net.imagej.ImageJ.<init>(ImageJ.java:79)
	at net.imagej.Main.launch(Main.java:61)
	at net.imagej.Main.main(Main.java:73)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at net.imagej.launcher.ClassLauncher.launch(ClassLauncher.java:258)
	at net.imagej.launcher.ClassLauncher.run(ClassLauncher.java:184)
	at net.imagej.launcher.ClassLauncher.main(ClassLauncher.java:76)
Caused by: java.lang.NoClassDefFoundError: ome/xml/model/enums/EnumerationException
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
	at java.lang.Class.getConstructor0(Class.java:3075)
	at java.lang.Class.newInstance(Class.java:412)
	at org.scijava.service.ServiceHelper.createServiceRecursively(ServiceHelper.java:302)
	at org.scijava.service.ServiceHelper.createExactService(ServiceHelper.java:269)
	... 17 more
Caused by: java.lang.ClassNotFoundException: ome.xml.model.enums.EnumerationException
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 23 more
tsf-452-wpa-3-017:MacOS margauxsilvestre$ ./ImageJ-macosx --debug
Warning: could not find Java bundle
Available RAM: 5727MB, using 3/4 of that: 4296MB
JRE not found in '/Applications/Fiji.app/jre'
Ignoring Apple Framework java executable: '/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java'
No JRE was found in default locations
Re-executing with correct library lookup path (/Applications/Fiji.app/lib/macosx:/Applications/Fiji.app/mm/macosx)
Warning: could not find Java bundle
Available RAM: 5727MB, using 3/4 of that: 4296MB
JRE not found in '/Applications/Fiji.app/jre'
Ignoring Apple Framework java executable: '/System/Library/Frameworks/JavaVM.framework/Versions/A/Commands/java'
No JRE was found in default locations
java -Djava.ext.dirs=/Applications/Fiji.app/java/macosx-java3d/Home/lib/ext:/Library/Java/Extensions:/System/Library/Java/Extensions:/System/Library/Frameworks/JavaVM.framework/Home/lib/ext -Dpython.cachedir.skip=true -Dplugins.dir=/Applications/Fiji.app -Xmx4296m -Xincgc -XX:PermSize=128m -Djava.class.path=/Applications/Fiji.app/jars/imagej-launcher-3.1.6.jar -Dimagej.dir=/Applications/Fiji.app -Dij.dir=/Applications/Fiji.app -Dfiji.dir=/Applications/Fiji.app -Dfiji.defaultLibPath=lib/server/libjvm.dylib -Dfiji.executable=./ImageJ-macosx -Dij.executable=./ImageJ-macosx -Djava.library.path=/Applications/Fiji.app/lib/macosx:/Applications/Fiji.app/mm/macosx -Dij.debug=true -Dscijava.log.level=debug net.imagej.launcher.ClassLauncher -ijjarpath jars -ijjarpath plugins net.imagej.Main
No known JRE; cannot link to Java library
Warning: falling back to System JVM
tsf-452-wpa-3-017:MacOS margauxsilvestre$ Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release
ij1.plugin.dirs: null
$HOME/.plugins: /Users/margauxsilvestre/.plugins does not exist
Launching main class net.imagej.Main with parameters []
Class loader = sun.misc.Launcher$AppClassLoader@1b6d3586
Error while executing the main() method of class 'net.imagej.Main':
java.lang.NoClassDefFoundError: io/scif/SCIFIOService
	at net.imagej.ImageJ.<init>(ImageJ.java:79)
	at net.imagej.Main.launch(Main.java:61)
	at net.imagej.Main.main(Main.java:73)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at net.imagej.launcher.ClassLauncher.launch(ClassLauncher.java:258)
	at net.imagej.launcher.ClassLauncher.run(ClassLauncher.java:184)
	at net.imagej.launcher.ClassLauncher.main(ClassLauncher.java:76)
Caused by: java.lang.ClassNotFoundException: io.scif.SCIFIOService
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 10 more

This may not directly relate, but I did kludge my way around launching Fiji on El Capitan a few weeks ago. Fiji failed to launch, and I got a Mac OS message that I needed to install the Java runtime environment, even though I had already installed the Oracle JDK from here.

So I went ahead and installed the Java 6 distributed for Mac. My /Library/Java then had both 1.6.0 and 1.8.0_65 JDK’s. Surprisingly, Fiji was able to start up, and it correctly used the more recent Java.

Maybe a long shot, but I hope it helps.