Java Issues

Hi guys, I hope all goes well.

I had some issues on one machine recently regarding Java versions. I had a little trouble setting up my installs of the latest versions of Java to play nice with Fiji. Installing 32bit and then 64bit (only to have 64bit give me an error that it already exists, even though it was installing in the 64bit program files folder…:frowning:), I got to where Fiji was working fine but only for the 32 bit version. Fine, I’ll take it for now. This was of course done under administrator login.

Ok, so where does CP come into things. I then went in on a User login and CP would step through, but give me an error regarding permissions when I tried to analyze the images… I went back to an Administrator login and it worked fine.

Later, determined to get the 64bit version of Fiji working, I uninstalled and deleted the folders for both versions of Java. I restarted, ran CCleaner to clean up, and reinstalled both versions, which went well. Now Fiji works for both 32bit and 64bit versions (forgot to mention I had downloaded the no JREs version). I went to run CP (in an Administrator login) and on analyzing the images it crashed outright.

I was wondering what the Java requirements are? Whether or not Java 8 will work? If there are environmental variables that need to be set that got missed in my reinstalls? Any pointers would be much appreciated. It would also be cool to know what happens in Admin vs User logins too as we mostly run it in a User login.

Thanks in advance for your time.


At the moment, CellProfiler only runs in 32-bit mode on the Mac (we are working on moving to 64-bit on the Mac. PC and Linux use 64-bit). The only 32-bit Java that’s available is 1.6, so you must use that for CellProfiler. CellProfiler comes packaged with its own jars for ImageJ 2.0 / Fiji and it’s crucial to use those because the interfaces to ImageJ have changed in the latest version. You should be able, however, to download jars for plugins that you want into the ImageJ plugins folder (the location is in CellProfiler’s preferences dialog). CellProfiler requires Java 6 - 32-bit mode which should be present on older Mac OS’s and should be prompted-for if you run Yosemite.

Regarding permissions - if analysis mode is failing, it may be that CellProfiler does not have permission to communicate via TCP. CellProfiler starts up copies of itself to run in parallel and communicates with them in analysis mode, so it will fail if those permissions are not available.

So answers to your questions:

  • CellProfiler’s RunImageJ module uses its version of Fiji, not the installed one, so whatever you install will have no effect.
  • CellProfiler can’t currently use Java 8 / Fiji is compiled so it works with Java 6, works on Java 7 and I believe their latest works on Java 8.
  • CellProfiler won’t work without a Java 6 32-bit JRE, which is why it no longer worked after it was deleted.

I’m not the expert on OS/X here - I’ll ask others here to give you specific guidance.

@nranthony, are you on Windows or Mac?

I’m on Windows 7 64bit.

Given that it’s independent of Java installs on the system, as it has the stand alone version that it needs, I wonder what happened with my Java install/reinstall issues…? I’ll get Java happy, and then uninstall/reinstall CP and see how that works.

Also, if the permissions thing is independent of the Java thing, I’m confused some more. I’ve had numerous uses of our workstations use CP before, and I never had that issue before.

It’s amazing how different two identical Windows machines can be :smile: