ImageJ / Fiji is improving security

Dear Fiji users,

from now on ImageJ is supposed to update more securely via HTTPS. Therefore addresses of update sites currently in use by your ImageJ installation need to be updated.

If your Java version supports our HTTPS certificate, this window will show up during an update:

Otherwise a warning will show up or, in case you are still using Java 6 you will not get this update at all. Please download a recent Fiji version to make sure you receive updates securely.

Please let me know if there are any issues!

Thanks a lot to the people who helped with reviewing and testing.

Best,
Deborah

6 Likes

I don’t know if that’s related, but I can’t update FIJI anymore.

In windows 10 with a fresh FIJI download and update command launch, I get:

[ERROR] Module threw error
java.lang.NoSuchMethodError: net.imagej.updater.util.AvailableSites.initializeAndAddSites(Lnet/imagej/updater/FilesCollection;Lorg/scijava/log/LogService;)V
	at net.imagej.ui.swing.updater.ImageJUpdater.run(ImageJUpdater.java:112)
	at org.scijava.command.CommandModule.run(CommandModule.java:199)
	at org.scijava.module.ModuleRunner.run(ModuleRunner.java:168)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:66)
	at org.scijava.thread.DefaultThreadService$3.call(DefaultThreadService.java:238)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

5 Likes

I can confirm that there is a problem with Fiji with a fresh install, but I get a NoSuchMethodError

(Fiji Is Just) ImageJ 2.0.0-rc-69/1.52p; Java 1.8.0_172 [64-bit]; Windows 10 10.0; 169MB of 48998MB (<1%)
 
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: net.imagej.updater.util.AvailableSites.initializeAndAddSites(Lnet/imagej/updater/FilesCollection;Lorg/scijava/log/LogService;)V
	at net.imagej.legacy.LegacyService.runLegacyCompatibleCommand(LegacyService.java:309)
	at net.imagej.legacy.DefaultLegacyHooks.interceptRunPlugIn(DefaultLegacyHooks.java:163)
	at ij.IJ.runPlugIn(IJ.java)
	at ij.Executer.runCommand(Executer.java:137)
	at ij.Executer.run(Executer.java:66)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: net.imagej.updater.util.AvailableSites.initializeAndAddSites(Lnet/imagej/updater/FilesCollection;Lorg/scijava/log/LogService;)V
	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:305)
	... 5 more
Caused by: java.lang.NoSuchMethodError: net.imagej.updater.util.AvailableSites.initializeAndAddSites(Lnet/imagej/updater/FilesCollection;Lorg/scijava/log/LogService;)V
	at net.imagej.ui.swing.updater.ImageJUpdater.run(ImageJUpdater.java:112)
	at org.scijava.command.CommandModule.run(CommandModule.java:199)
	at org.scijava.module.ModuleRunner.run(ModuleRunner.java:168)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127)
	at org.scijava.module.ModuleRunner.call(ModuleRunner.java:66)
	at org.scijava.thread.DefaultThreadService$3.call(DefaultThreadService.java:238)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	... 1 more
4 Likes

@NicoKiaru @oburri We’re trying to fix the problem (at least for people who haven’t tried to update yet.)
In the meantime, you can revive your Fiji by putting
https://maven.scijava.org/service/local/repositories/releases/content/net/imagej/imagej-ui-swing/0.23.1/imagej-ui-swing-0.23.1.jar
into Fiji.app/jars/ (Replacing the old imagej-ui-swing-0.22.0.jar there)
After that, it should work…

6 Likes

It should be more or less fixed now.
With a fresh Fiji, I get the following


But after restarting Fiji, everything works.

6 Likes

I can confirm that the new imagej-ui-swing-0.23.1.jar fixed the update process. But another problem showed up:
I have the latest version of OpenJDK Runtime Environment of both versions Java 8 and 12 installed but I still receive a message, “Your Java might be too old to receive updates via https!”

2 Likes

Can you verify which Java version your Fiji is running with?
(Plugins > Scripting > Script Interpreter, and System.getProperty("java.version"))

See also https://imagej.net/Frequently_Asked_Questions#How_do_I_launch_ImageJ_with_a_different_version_of_Java.3F
(although I have no idea how up-to-date that information is…)

4 Likes

Thank’s a lot! This helped me fix it.
It was weird. The version that Fiji used was 1.8.0_66. And when I opened the java folder there were two jdk folders for 1.8.0_66 and 1.8.0_172 (When this happened I cannot say, probably when I was moving Fiji from one pc to another). When I (re)moved the Java Fiji fell back to my system OpenJDK - 1.8.0_222
And now it is fine!

4 Likes