imagej / imagej/imagej-matlab

ImageJ cannot load the scripts

Open
#12 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
16
Forks
6
PR merge metrics
No merged PRs in 30d

Description

Hi

When launching ImageJ from MATLAB I get the errors bellow telling me that some scripts cannot be loaded. However I checked the paths and the files are there.
Tjh IJM and MIJ objects are created though and they work.

I have the following setup:
OsX sierra
Java 1.8.0_40-b25 (as mentioned in the wiki)
MATLAB 2016b

```
>> ImageJ
[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.(AdaptedScriptLanguage.java:73)
at org.scijava.plugins.scripting.javascript.JavaScriptScriptLanguage.(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:304)
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:92)
at org.scijava.plugin.AbstractSingletonService.getInstances(AbstractSingletonService.java:75)
at org.scijava.script.DefaultScriptService.initScriptLanguageIndex(DefaultScriptService.java:273)
at org.scijava.script.DefaultScriptService.scriptLanguageIndex(DefaultScriptService.java:238)
at org.scijava.script.DefaultScriptService.getIndex(DefaultScriptService.java:118)
at org.scijava.script.ScriptService.canHandleFile(ScriptService.java:314)
at org.scijava.script.ScriptFinder.createInfos(ScriptFinder.java:165)
at org.scijava.script.ScriptFinder.scanResources(ScriptFinder.java:133)
at org.scijava.script.ScriptFinder.findScripts(ScriptFinder.java:109)
at org.scijava.script.DefaultScriptService.initScripts(DefaultScriptService.java:314)
at org.scijava.script.DefaultScriptService.scripts(DefaultScriptService.java:256)
at org.scijava.script.DefaultScriptService.getScripts(DefaultScriptService.java:153)
at net.imagej.legacy.LegacyService.getScriptsAndNonLegacyCommands(LegacyService.java:628)
at net.imagej.legacy.IJ1Helper.addMenuItems(IJ1Helper.java:744)
at net.imagej.legacy.LegacyService.initialize(LegacyService.java:488)
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.(Context.java:278)
at org.scijava.Context.(Context.java:234)
at org.scijava.Context.(Context.java:174)
at org.scijava.Context.(Context.java:160)
at net.imagej.ImageJ.(ImageJ.java:77)
at net.imagej.Main.launch(Main.java:61)
at net.imagej.matlab.ImageJMATLAB.launch(ImageJMATLAB.java:151)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:105)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:92)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:81)
[ERROR] Invalid script URL: file:/Users/turf/Applications/Fiji.app/plugins/Scripts/File/Open_Samples/Comparing_Lengths.ijm
java.io.FileNotFoundException: /Users/turf/Applications/Fiji.app/plugins/Scripts/File/Open_Samples/Comparing_Lengths.ijm (Too many open files)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileInputStream.(FileInputStream.java:93)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
at java.net.URL.openStream(URL.java:1038)
at org.scijava.script.ScriptInfo.(ScriptInfo.java:139)
at org.scijava.script.ScriptFinder.createInfos(ScriptFinder.java:193)
at org.scijava.script.ScriptFinder.scanDirectory(ScriptFinder.java:152)
at org.scijava.script.ScriptFinder.findScripts(ScriptFinder.java:115)
at org.scijava.script.DefaultScriptService.initScripts(DefaultScriptService.java:314)
at org.scijava.script.DefaultScriptService.scripts(DefaultScriptService.java:256)
at org.scijava.script.DefaultScriptService.getScripts(DefaultScriptService.java:153)
at net.imagej.legacy.LegacyService.getScriptsAndNonLegacyCommands(LegacyService.java:628)
at net.imagej.legacy.IJ1Helper.addMenuItems(IJ1Helper.java:744)
at net.imagej.legacy.LegacyService.initialize(LegacyService.java:488)
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.(Context.java:278)
at org.scijava.Context.(Context.java:234)
at org.scijava.Context.(Context.java:174)
at org.scijava.Context.(Context.java:160)
at net.imagej.ImageJ.(ImageJ.java:77)
at net.imagej.Main.launch(Main.java:61)
at net.imagej.matlab.ImageJMATLAB.launch(ImageJMATLAB.java:151)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:105)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:92)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:81)
[ERROR] Invalid script URL: file:/Users/turf/Applications/Fiji.app/plugins/Scripts/Image/Color/Set_Color_By_Wavelength.ijm
java.io.FileNotFoundException: /Users/turf/Applications/Fiji.app/plugins/Scripts/Image/Color/Set_Color_By_Wavelength.ijm (Too many open files)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.(FileInputStream.java:138)
at java.io.FileInputStream.(FileInputStream.java:93)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:90)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:188)
at java.net.URL.openStream(URL.java:1038)
at org.scijava.script.ScriptInfo.(ScriptInfo.java:139)
at org.scijava.script.ScriptFinder.createInfos(ScriptFinder.java:193)
at org.scijava.script.ScriptFinder.scanDirectory(ScriptFinder.java:152)
at org.scijava.script.ScriptFinder.findScripts(ScriptFinder.java:115)
at org.scijava.script.DefaultScriptService.initScripts(DefaultScriptService.java:314)
at org.scijava.script.DefaultScriptService.scripts(DefaultScriptService.java:256)
at org.scijava.script.DefaultScriptService.getScripts(DefaultScriptService.java:153)
at net.imagej.legacy.LegacyService.getScriptsAndNonLegacyCommands(LegacyService.java:628)
at net.imagej.legacy.IJ1Helper.addMenuItems(IJ1Helper.java:744)
at net.imagej.legacy.LegacyService.initialize(LegacyService.java:488)
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.(Context.java:278)
at org.scijava.Context.(Context.java:234)
at org.scijava.Context.(Context.java:174)
at org.scijava.Context.(Context.java:160)
at net.imagej.ImageJ.(ImageJ.java:77)
at net.imagej.Main.launch(Main.java:61)
at net.imagej.matlab.ImageJMATLAB.launch(ImageJMATLAB.java:151)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:105)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:92)
at net.imagej.matlab.ImageJMATLAB.start(ImageJMATLAB.java:81)
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at net.imagej.matlab.ImageJMATLAB.launch and the start methods in the stack trace, then follow initialization into org.scijava.script.ScriptFinder and DefaultScriptService. Reproduce the reported MATLAB 2016b, Java 1.8, and macOS setup, and compare the JavaScript engine and file-opening failures. Done means ImageJ starts from MATLAB without the reported script-loading errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, matlab
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.