Closed egeerardyn closed 7 years ago
Thanks for the report. That is quite baffling. Beaker includes its own JRE (java 8), so the system java should not matter. I tested on a machine with Java 7 just in case though and it worked fine.
I thought so too. If I can provide any additional information or do anything to help with debugging, just let me know.
Do you have a CLASSPATH environment variable set? Can you try unsetting it?
Note that Beaker reads your .bash_profile when it starts up, so to unset it you need to remove it there, not just from the shell where you run it.
No, I don't have a CLASSPATH
set. These are my settings as returned by env
:
LC_TIME=en_GB.UTF-8
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.9SgMHyUHh9/Listeners
TERM_SESSION_ID=762026CF-8827-4F4A-B42B-E22928B9CF3B
Apple_PubSub_Socket_Render=/private/tmp/com.apple.launchd.wRHXUvkrCD/Render
XPC_FLAGS=0x0
LC_NUMERTIC=nl_BE.UTF-8
LC_NUMERIC=nl_BE.UTF-8
XUGGLE_HOME=/usr/local/xuggler
SECURITYSESSIONID=186dc
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/:/opt/local/Library/Frameworks/Python.framework/Versions/3.3/lib/pkgconfig
TERM_PROGRAM_VERSION=343.7
TERM_PROGRAM=Apple_Terminal
DBUS_LAUNCHD_SESSION_BUS_SOCKET=/private/tmp/com.apple.launchd.Zysigi7Zta/unix_domain_listener
DISPLAY=/private/tmp/com.apple.launchd.Yx4hwwDqak/org.macosforge.xquartz:0
TRACKER_HOME=/usr/local/tracker
GPG_AGENT_INFO=/private/tmp/com.apple.launchd.oBwDFT8zam/Listeners_agent
TERM=xterm-256color
TMPDIR=/var/folders/bv/wbqcptsd0lxfts607vsxlz9r0000gn/T/
XPC_SERVICE_NAME=0
LC_MONETARY=nl_BE.UTF-8
__CF_USER_TEXT_ENCODING=0x1F5:0x0:0x0
SHELL=/bin/zsh
HOME=/Users/egon
LOGNAME=egon
USER=egon
PATH=/Users/egon/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/opt/local/share/java/android-sdk-macosx/platform-tools:/usr/texbin:/usr/local/git/bin:/opt/local/bin:/opt/local/sbin:/Library/TeX/texbin
SHLVL=1
PWD=/Users/egon/Dropbox/VUB/PhD/toolbox
OLDPWD=/Users/egon/Dropbox/VUB/PhD
ZSH=/Users/egon/.oh-my-zsh
PAGER=less
LESS=-R
LC_CTYPE=en_US.UTF-8
LSCOLORS=Gxfxcxdxbxegedabagacad
DB=/Users/egon/Dropbox
VUB=/Users/egon/Dropbox/VUB
PhD=/Users/egon/Dropbox/VUB/PhD
m2t=/Users/egon/Dropbox/matlab/matlab2tikz
vcs_info_msg_0_=develop
vcs_info_msg_1_=
LANG=en_US.UTF-8
_=/usr/bin/env
I don't normally use bash
, so I don't have a bash_profile
file. I checked both my .zshrc
and .bashrc
for any classpath-altering stuff, but no luck. An empty ~/.bash_profile
does not improve the situation either.
I have a different (but JRE-related) error starting the latest Beaker on Mac:
mburgess-mac-2:MacOS mburgess$ ./Beaker 2015-08-19 20:08:55.528 Beaker[12711:74681] Beaker App start JVM and launch browser 2015-08-19 20:08:56.076 Beaker[12711:74681] Exception in thread "main" 2015-08-19 20:08:56.077 Beaker[12711:74681] java.lang.UnsupportedClassVersionError: com/twosigma/beaker/core/Main : Unsupported major.minor version 52.0 2015-08-19 20:08:56.077 Beaker[12711:74681] at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 2015-08-19 20:08:56.077 Beaker[12711:74681] at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 2015-08-19 20:08:56.077 Beaker[12711:74681] at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 2015-08-19 20:08:56.077 Beaker[12711:74681] at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482) 2015-08-19 20:08:56.080 Beaker[12711:74681] stream closed! 2015-08-19 20:08:56.080 Beaker[12711:74681] stream closed!
I verified that core.jar is built with Java 8 but a Java 7 JRE is included. If I build from source (setting the target Java version to 7) and replace the core/ folder with the built one, it opens fine.
If a JRE 7 is to be included, the project needs to build Java 7 compatible classes. I added source and target compatibility properties to core/build.gradle, I can issue a Pull Request if you like. Thanks!
https://github.com/twosigma/beaker-notebook/pull/2173 for your consideration, thank you!
Thanks for the report. I believe we build and ship with 1.8.
The name of the directory Beaker.app/Contents/Resources/jre1.7.0_60.jre
is deceiving, as you can see from the contents of
Beaker.app/Contents/Resources/jre1.7.0_60.jre/Contents/Info.plist:
<string>Java SE 1.8.0_51</string>
. see https://github.com/twosigma/beaker-notebook/issues/829
This probably won't get fixed since this whole application will soon be retired in favor of our electron native application.
Do you have some startup files that are setting JAVA_HOME and getting a 1.7 JRE involved?
Interesting, my .bashrc file sets JAVA_HOME to JDK 7, and even if I change the variable in my shell to point to JDK 8, when I run Beaker, it still gets JDK 7. I'm guessing that it is ignoring my current shell's setting and just source'ing .bashrc (via .bash_profile probably), which is bringing in JDK 7.
If I change my .bashrc to set JAVA_HOME to JDK 8, it works. If this is going to change to Electron then my pull request is probably not needed, but at the very least maybe this issue will be indexed by Google in case others run into the same issue ;)
Thank you for your reply!
Indeed we do source it, by starting a login shell: https://github.com/twosigma/beaker-notebook/blob/master/core/beaker.command#L30 the reason is Anaconda puts itself in the PATH there.
What's changing in the Electron version is the dumb name for the jre directory. We haven't implemented a better way to find Anaconda though. Since we do have a prefs file, PATH is not required. I am thinking we can just grep ~/.bash_profile and if it's not found, then rely on users to set it up (with some kind of prompting).
I downloaded the last Beaker install from the website, when running the
Beaker.app
, no browser window opens. I tried launching it from the About window, but it says the server at127.0.01:8801/beaker
cannot be connected to.I tried to run the actual executable at
/Applications/Beaker.app/Contents/MacOS/Beaker
and it produces the following log:I do have some "non-standard" parts on my OS X 10.10 install (e.g. MacPorts is installed), but I checked that
java
points to/usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
and it has the following version:Perhaps somebody here has more experience with this and can help me to get Beaker running?