Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Applauncher does not launch apps. #847

Closed
J-Moravec opened this issue May 9, 2019 · 7 comments
Closed

Applauncher does not launch apps. #847

J-Moravec opened this issue May 9, 2019 · 7 comments

Comments

@J-Moravec
Copy link
Contributor

J-Moravec commented May 9, 2019

Applauncher cannot find BEASTInterface class and thus cannot launch apps.

Error:
[java, -Xms8g, -Xms256m, -Djava.library.path=/home/jmoravec/Work/CancerEvolution/MethylationPhylogeny/beast/lib, -cp, "::/home/jmoravec/.beast/2.5/Babel/lib/itextpdf-5.5.9.jar:/home/jmoravec/.beast/2.5/Babel/lib/Babel.addon.jar:/home/jmoravec/.beast/2.5/MODEL_SELECTION/lib/MODEL_SELECTION.addon.jar:/home/jmoravec/.beast/2.5/FLC/lib/flc.v1.1.0.jar:/home/jmoravec/.beast/2.5/BEASTLabs/lib/BEASTlabs.addon.jar:/home/jmoravec/.beast/2.5/NS/lib/NS.addon.jar:/home/jmoravec/.beast/2.5/BEAST/lib/beast.src.jar:/home/jmoravec/.beast/2.5/BEAST/lib/beast.jar", beast.app.tools.PathSampleAnalyser] Error: Unable to initialize main class beast.app.tools.PathSampleAnalyser Caused by: java.lang.NoClassDefFoundError: beast/core/BEASTInterface

@J-Moravec J-Moravec changed the title applauncher cannot find classes Applauncher does not launch apps. May 9, 2019
@rbouckaert
Copy link
Member

Hi Jiri, The class path looks good, and /home/jmoravec/.beast/2.5/BEAST/lib/beast.jar should contain beast.core.BEASTInterface, so I am wondering, which version of Java are you using?

@J-Moravec
Copy link
Contributor Author

J-Moravec commented May 9, 2019

Yes, path look good and from what I can check (with archive manager), it does contain beast interface.

I am am on Ubuntu 18.04 and installed default openJDK version, which is:

openjdk 11.0.2 2019-01-15
OpenJDK Runtime Environment (build 11.0.2+9-Ubuntu-3ubuntu118.04.3)
OpenJDK 64-Bit Server VM (build 11.0.2+9-Ubuntu-3ubuntu118.04.3, mixed mode, sharing)

@rbouckaert
Copy link
Member

Thanks for the info -- it should work, so I hope you can help with the following: would you mind trying this directly from a terminal:

java -Xms8g -Xms256m -Djava.library.path=/home/jmoravec/Work/CancerEvolution/MethylationPhylogeny/beast/lib -cp "::/home/jmoravec/.beast/2.5/Babel/lib/itextpdf-5.5.9.jar:/home/jmoravec/.beast/2.5/Babel/lib/Babel.addon.jar:/home/jmoravec/.beast/2.5/MODEL_SELECTION/lib/MODEL_SELECTION.addon.jar:/home/jmoravec/.beast/2.5/FLC/lib/flc.v1.1.0.jar:/home/jmoravec/.beast/2.5/BEASTLabs/lib/BEASTlabs.addon.jar:/home/jmoravec/.beast/2.5/NS/lib/NS.addon.jar:/home/jmoravec/.beast/2.5/BEAST/lib/beast.src.jar:/home/jmoravec/.beast/2.5/BEAST/lib/beast.jar" beast.app.tools.PathSampleAnalyser

Can you try using the version of BEAST with JRE included (available from http://www.beast2.org/download-linux-with-jre/)?

@J-Moravec
Copy link
Contributor Author

Running from terminal launch specific application without a hitch.

The BEAST with JRE produce the same results as the BEAST without JRE.

Additionally, is it supposed to be stand-alone version (i.e., not using .beast folder), as it still loads everything from .beast:

Running applauncher from console, I get:

 . applauncher 
[./../jre1.8.0_161/bin/java, -Xms8g, -Xms256m, -Djava.library.path=/home/jmoravec/Work/BeastDev/BeastWithJRE/lib, -cp, ::/home/jmoravec/.beast/2.5/Babel/lib/itextpdf-5.5.9.jar:/home/jmoravec/.beast/2.5/Babel/lib/Babel.addon.jar:/home/jmoravec/.beast/2.5/MODEL_SELECTION/lib/MODEL_SELECTION.addon.jar:/home/jmoravec/.beast/2.5/FLC/lib/flc.v1.1.0.jar:/home/jmoravec/.beast/2.5/BEASTLabs/lib/BEASTlabs.addon.jar:/home/jmoravec/.beast/2.5/NS/lib/NS.addon.jar:/home/jmoravec/.beast/2.5/BEAST/lib/beast.src.jar:/home/jmoravec/.beast/2.5/BEAST/lib/beast.jar, beast.app.tools.AppLauncher]

but all the environment variables still point to BeastWithJRE and not to .beast

echo $BEAST_LIB 
/home/jmoravec/Work/BeastDev/BeastWithJRE/lib

Is this intended behaviour?

@rbouckaert
Copy link
Member

Thanks for that! The intended behaviour is for beast.jar to be picked up from .beast/2.5/BEAST/lib/beast.jar, so that upgrades of BEAST can be done just like any other package upgrade.

Perhaps some BEAST files became corrupted for some reason. Can you delete the folder /home/jmoravec/.beast/2.5/BEAST/ (or better, move it out of the way, so we can find out what it in there if this is indeed the culprit) and try again? BEAST should restore the folder after starting.

@J-Moravec
Copy link
Contributor Author

Moved the whole .beast folder:
mv .beast .beastBak
started beauti and installed random package to get some apps and then run applauncher to run apps. Got the same error (although now I got traceback)

bin/applauncher 
[bin/../jre1.8.0_161/bin/java, -Xms8g, -Xms256m, -Djava.library.path=/home/jmoravec/Work/BeastDev/BeastWithJRE/lib, -cp, ::/home/jmoravec/.beast/2.5/MODEL_SELECTION/lib/MODEL_SELECTION.addon.jar:/home/jmoravec/.beast/2.5/BEASTLabs/lib/BEASTlabs.addon.jar:/home/jmoravec/.beast/2.5/BEAST/lib/beast.src.jar:/home/jmoravec/.beast/2.5/BEAST/lib/beast.jar, beast.app.tools.AppLauncher]
[bin/../jre1.8.0_161/bin/java, -Xms8g, -Xms256m, -Djava.library.path=/home/jmoravec/Work/BeastDev/BeastWithJRE/lib, -cp, "::/home/jmoravec/.beast/2.5/MODEL_SELECTION/lib/MODEL_SELECTION.addon.jar:/home/jmoravec/.beast/2.5/BEASTLabs/lib/BEASTlabs.addon.jar:/home/jmoravec/.beast/2.5/BEAST/lib/beast.src.jar:/home/jmoravec/.beast/2.5/BEAST/lib/beast.jar", beast.app.tools.PathSampler]
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: beast/core/BEASTInterface
	at java.lang.Class.getDeclaredMethods0(Native Method)
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
	at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
	at java.lang.Class.getMethod0(Class.java:3018)
	at java.lang.Class.getMethod(Class.java:1784)
	at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: beast.core.BEASTInterface
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 7 more

@rbouckaert
Copy link
Member

This issue appears to be solved on the issue834 branch -- tested on Jirka's machine with BEAST v2.5.3pre.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants