Updated ImageJ Launcher + Java Bundles

@phaub I think that’s a great point and is totally worth further discussion and tracking. However, as a test I just booted up an ImageJ 1.x and in my firewall notice it seems like it’s javaw.exe making the request:

Oddly, I couldn’t get a firewall request to trigger from either ImageJ-win64.exe launcher in Fiji, despite clearing its entry in the windows defender firewall.

I made an issue to explore and discuss further.

That’s interesting. Since there are a few ways to download launchers, I wanted to mention you can also run Help > Update... and in the Advanced mode dialog, View files of the 'Java-8' Update Site and get it directly from there:

@davidC Thank you for the debug.exe output! I noticed this line:

Using JRE from ImageJ.cfg: C:\Local\Fiji.app/jre

indicating it has an ImageJ 1.x .cfg file.

@daanb88 I think your debug.exe output may have been cut off? You can also launch it as ImageJ-win64.exe --debug from a command prompt (and ImageJ-win64.exe --debug --console to print the output to the same console).

In any case, I am wondering if you also have an ImageJ.cfg?

@daanb88 @davidC Could you try removing the ImageJ.cfg or removing the Java path specification from the ImageJ.cfg? (i.e. any line like C:\Local\Fiji.app/jre or jre\bin\javaw.exe) Then try launching the new ImageJ-win64.exe again and let me know how it goes.

Thank you so much!

2 Likes

Hi Mark,
I’m also getting an error after this update. Fiji crashes when I try to open the 3D Viewer. I’m running Fiji on Ubuntu 20.04.1

Thanks!
Ezra

Here is the error log hs_err_pid4287.log.txt (251.3 KB)

1 Like

@hinerm deleting the line jre\bin\javaw.exe from ImageJ.cfg did the trick. Fiji is now starting and seems to run fine. Thanks!

3 Likes

Hi @EzraL! Thank you for the report. I assume you are launching with ImageJ-linux64? Do you have a ImageJ-linux64.old you can compare with? I would like to know if the Java version changes between the two launchers.

Also:

  • Have you used 3D Viewer recently, or did you just update to 4.0.3? (I assume you have Fiji.app/plugins/3D_Viewer-4.0.3.jar)
  • Have you made any changes to your ~/ImageJ_3D_Viewer.props?

Hi Mark,
Yes. When I open with ImageJ-linux64 I run into this problem with the 3D viewer. Just checked and when I open with ImageJ-linux64.old I have no problems. Happy to check whether the java changes versions when I launch these two apps. Just let me know what would be helpful. When I check using ‘About ImageJ’ I get the following:
ImageJ-linux64 is running Java 1.8.0_272
ImageJ-linux64.old is running Java 1.8.0_172

I opened ImageJ-linux64 using the terminal and get the following null pointer error copied into this file: ImageJ.error.txt (2.1 KB)

Thanks so much for your help and hard work! For now I’m just using the ImageJ.old

2 Likes

Oh, I believe that’s actually an unrelated(?) issue reported (with a workaround) here. It’s on my radar and actually next on my list to investigate after the launcher.

Perfect! So it looks like the 3D Viewer may have an incompatibility with the 1.8.0_272 Java. I opened an issue to investigate further. Until that gets resolved I agree that running with 1.8.0_172 via the old launcher is best.

Could you check one more thing: run ImageJ-linux64 and ImageJ-linux64.old in debug mode and paste a text doc with the console output? I just want to verify which Java version should be used…

1 Like

Sounds good. Let me know if these are what you wanted. Thanks.

ImageJ-linux64.stdout.txt (808.8 KB)
ImageJ-linux64.old.stdout.txt (779.4 KB)

1 Like

Yes, that’s done it! :partying_face: Thanks for your help Mark.
Unfortunately the log in the console seems to be missing the first few lines, don’t know what’s causing that. Is there a log file saved somewhere - i copied it directly from the console?

Thanks for this tip as well!

2 Likes

Yes perfect! I found the problem (a skew in naming where the bundled Java goes) and will fix it with the next launcher patch.

It could also just be that the old launcher formatted its debug output differently, and didn’t debug as much information. If we identify it as an issue with the new launcher we can look into it more.

For now don’t worry about it - we got the info we needed and thank you for your help!!

In the next launcher patch we’ll find a more graceful way to handle existing ImageJ.cfg files.

1 Like

Hi all,

I just updated Fiji (from the app updater) on Ubuntu 20.04, and it doesn’t start anymore.
When I try to launch the application through the command line (ImageJ-linux64), it throws back the following error:

Could not find X11 library, not running XInitThreads.

Warning: falling back to system Java
Could not launch system-wide Java (No such file or directory)

If I launch the previous version (ImageJ-linux64.old) it starts normally, and says it runs Java 8.

Thanks for any help!

Hi,
I downloaded Fiji on a fresh ubuntu from https://downloads.imagej.net/fiji/latest/fiji-linux64.zip. When I unzip it and run it via ./ImageJ-linux64 --headless --update, I get

Warning: falling back to system Java
Could not launch system-wide Java (No such file or directory)

Is this intended? It used to work without a system-wide Java installation before…

Thanks and best wishes,
Bene

2 Likes

@bene.schmid this was not intended.

Both of these are a known issue with the new launcher looking for Java in Fiji.app/java/linux64/ instead of Fiji.app/java/linux-amd64.

I decided to just roll back the linux64 launcher for the time being. Can you let me know if that works for you?

Thank you for the heads up!
Happy to use the previous launcher version while something is figured out for the new one; however I’m not sure how to do this? Should I download/replace a file?
Cheers!

1 Like

@DanielT so if you run Help > Update... again you should get the old launcher back, because I rolled it back to a previous release.

Also, any time the launcher is updated, the previous launcher is preserved in Fiji.app/, so you should have an ImageJ-linux64.old. You can also just replace the ImageJ-linux64 with the .old version and skip the updater completely.

Thank you for your feedback and understanding!

1 Like

Okay, I’ve opened ImageJ-linux64.old and ran the updater there, which did update ImageJ. However when I tried to then launch ImageJ-linux64 it failed again with a slightly different error than before:

Could not find X11 library, not running XInitThreads.

Could not load Java library '/home/daniel/.fiji-linux64/Fiji.app/java/linux-amd64/jdk1.8.0_172/jre//lib/server/libjvm.so': /home/daniel/.fiji-linux64/Fiji.app/java/linux-amd64/jdk1.8.0_172/jre//lib/server/libjvm.so: cannot open shared object file: No such file or directory
Warning: falling back to System JVM
Could not launch system-wide Java (No such file or directory)

Not a big problem for me for now, since I can temporarily use the “old” version, but thought I’d let you know.

Edit: actually it is an issue, now neither the “old” version nor the new one will start, I suppose updating changed the “old” file to the previous, non-working version…

1 Like

That was totally my fault. The way old versions are stored confused me and I rolled back to the wrong launcher. I think it’s the correct one now. :roll_eyes:

Okay but not sure how I can update now that neither versions are working :sweat_smile: I can’t start Fiji at all. Will it work if I redownload it from the website?

@DanielT ugh that’s a mess

Nope because the bundles all have the new launchers right now. :sob:

You can manually download the old launcher and just rename it.

If that one doesn’t work for some reason, all the old launchers can be found on the Java 8 update site.

1 Like

Okay that worked, thanks!

1 Like

Same thing is happening to me.
I don’t have a imageJ.cfg file.
I could see an output in a command window only by using --debug --console.
Should I just paste the output in a reply?