monashmicroimaging / podocytes

GNU General Public License v3.0
2 stars 3 forks source link

Failure to start JavaVM with mac build of Podo.app (python-bioformats & javabridge build) #8

Closed GenevieveBuckley closed 6 years ago

GenevieveBuckley commented 6 years ago

User testing:

Testing the Podo.app mac build from branch process-images, as of this commit - also see pull request https://github.com/monashmicroimaging/podocytes/pull/4

Problems the users ran into:

  1. Needing to make sure they had executable permissions for the file (easily fixed with chmod).
  2. Getting a popup message about needing to install the Java legacy runtime SE 6, and needing to install that.
  3. Installing the Java development kit (no popup message asked for this explictly, but in general it's necessary to start the JavaVM.

But after all of that they're stll getting this error message:

[2555] Failed to execute script launch-gui

Traceback (most recent call last):

  File "bin/launch-gui.py", line 3, in <module>

  File "site-packages/gooey/python_bindings/gooey_decorator.py", line 89, in <lambda>

  File "podocytes/main.py", line 79, in main

  File "podocytes/lifio.py", line 39, in start

  File "site-packages/javabridge/jutil.py", line 314, in start_vm

RuntimeError: Failed to start Java VM

Neither user have $JAVA_HOME set to anything.

username$ which java
/usr/bin/java
GenevieveBuckley commented 6 years ago

The fix appears to be:

It works at least, but it's not exactly neatly self-contained.

From the pims bioformats page:

To interface with the java library, we use JPype, which allows fast and easy access to all java functions. JRE or JDK are not required.

This is odd, since we saw very clearly that the app (pims build) did not function before the JDK was installed, but did run afterwards.

jni commented 6 years ago

Hi @genevievebuckley!

This is very interesting and mildly tragic. Thanks for the detailed updates. Feel free to self-merge if I am unresponsive as I have a busy week ahead!

Incidentally I met @jakirkham earlier today and he too has run into PIMS as a solution to his totally orthogonal problem (finding out the size of a tiff without opening it). Seems like an exceedingly useful library!

GenevieveBuckley commented 6 years ago

The way I understood it, you can get the metadata for all image series by opening just one of those series (the default being series=0).

But it sounds like @jakirkham is querying only the metadata directly? Is that true, or did I misunderstand

GenevieveBuckley commented 6 years ago

Closing this issue, since the decision has been made to go with pims & jpype instead of python-bioformats & javabridge (and the decision merged into master with pull request https://github.com/monashmicroimaging/podocytes/pull/7).