It was one year and a week ago that I announced Scenic View developer preview 4. Today I am here to announce the availability of Scenic View 8.0.0 developer preview 5, which you can download from the usual location. This release consists of many bug fixes, and many UI tweaks. Please, take the time to download it and give me your feedback. To run it, simply open it from the command line using the following:
java -jar ScenicView.jar
If you’re unfamiliar with Scenic View, you should go to the (rather outdated) Scenic View website. Here’s a screenshot of the latest build on my machine:
If you have any troubles, or any feedback at all, please leave it as a comment on this blog post. Thanks!
Under Developer Preview 5, launching ScenicView via specifying a javaagent appears to be broken.
c:\jdk\1.8\1.8.0_11\bin\java -cp . -javaagent:C:/jdk/javafx/ScenicView_JavaFX8.jar com.Main
Launching via command line does work for me:
C:\jdk\1.8\1.8.0_11\bin\java.exe -jar ScenicView_JavaFX8.jar
Forgot to include the exception…
java.lang.NoSuchMethodException: org.scenicview.utils.ScenicViewBooter.premain(java.lang.String, java.lang.instrument.Instrumentation)
at java.lang.Class.getDeclaredMethod(Class.java:2117)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:327)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Exception in thread "main" FATAL ERROR in native method: processing of -javaagent failed
I’m curious why you prefer to use the java agent approach as opposed to the automatic runtime detection? My inclination is that the java agent approach requires more upfront configuration and no benefit – am I missing something, or should I just remove the java agent support?
My use case is: I have setup a run configuration in my IDE that would launch an application and ScenicView at the same time.
I don’t view it as an important feature and if you chose to remove it, then I will adjust.
In case you decide to keep the feature, with dev preview 6 I received the following error launching ScenicView using -javaagent.
[INFO] [exec:exec]
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.lang.NullPointerException
at org.fxconnector.remote.RuntimeAttach.init(RuntimeAttach.java:73)
at org.fxconnector.remote.RuntimeAttach.premain(RuntimeAttach.java:61)
... 6 more
Exception in thread "main" FATAL ERROR in native method: processing of -javaagent failed
Hello,
This problem has already been reported twice( and ), so third time’s a charm 🙂
I haven’t tried on Windows, but I have a hunch that this is a Linux specific problem.
Cheers
Sorry I screwed the formatting up…
Stacktrace is here nevertheless: http://sprunge.us/fWFe
Thanks. I’ll email you directly so that we can resolve this. The basic issue is that Scenic View ships with code to find the attach library on Windows and Mac, but does not have the same code implemented for Linux. Hopefully you can help me write that code.
Hello,
I have an error when I try to start SV as javaagent in IntelliJ:
/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/bin/java -Djava.library.path=lib/Leap -javaagent:/Applications/ScenicView8/ScenicView.jar -Didea.launcher.port=7532 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 14 CE EAP.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/lib/ant-javafx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/lib/dt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/lib/javafx-mx.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/lib/jconsole.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/lib/sa-jdi.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/lib/tools.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/charsets.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/deploy.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/htmlconverter.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/javaws.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/jce.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/jfr.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/jfxswt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/jsse.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/management-agent.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/plugin.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/resources.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/rt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/cldrdata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/dnsns.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/jfxrt.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/localedata.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/nashorn.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/sunec.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/sunjce_provider.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/sunpkcs11.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/ext/zipfs.jar:/Users/twasyl/Documents/Projects/SlideshowFX/SlideshowFX-app/build/classes/main:/Users/twasyl/Documents/Projects/SlideshowFX/SlideshowFX-app/build/resources/main:/Users/twasyl/Documents/Projects/SlideshowFX/SlideshowFX-markup/build/classes/main:/Users/twasyl/Documents/Projects/SlideshowFX/lib/jsoup-1.7.3.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/Leap/LeapJava.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/Vert.x/jackson-annotations-2.2.2.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/Vert.x/jackson-core-2.2.2.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/Vert.x/jackson-databind-2.2.2.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/Vert.x/netty-all-4.0.20.Final.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/Vert.x/vertx-core-2.1.2.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/Vert.x/vertx-platform-2.1.2.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/freemarker/freemarker.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/Twitter/twitter4j-core-4.0.2.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/Twitter/twitter4j-stream-4.0.2.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/ZXing/zxing-core-3.1.0.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/ZXing/zxing-javase-3.1.0.jar:/Users/twasyl/Documents/Projects/SlideshowFX/lib/Felix/felix-4.4.1.jar:/Applications/IntelliJ IDEA 14 CE EAP.app/Contents/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain com.twasyl.slideshowfx.app.SlideshowFX
objc[485]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
Exception in thread "main" java.lang.NoSuchMethodException: org.scenicview.utils.ScenicViewBooter.premain(java.lang.String, java.lang.instrument.Instrumentation)
at java.lang.Class.getDeclaredMethod(Class.java:2117)
at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:327)
at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
FATAL ERROR in native method: processing of -javaagent failed
I’m on OSX 10.9.4 running JDK 1.8.0_11
Cheers.
I’m curious why you prefer to use the java agent approach as opposed to the automatic runtime detection? My inclination is that the java agent approach requires more upfront configuration and no benefit – am I missing something, or should I just remove the java agent support?
Well, in my IDE I usually have two configurations for launching my app during development: one with SV when I’m doing CSS styling, one without. I find it convenient to have the javaagent option 🙂
I downloaded and unzipped
ScenicView-8.0.0-developer-preview-5
My java is
java version “1.8.0”
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70,
mixed mode)
When the SV jar was opened in an empty folder, it appeared, looking fine, showing it looking for FX projects.
Then I created a directory that contained only one project in its directory that ran successfully in NetBeans, along with a copy of the SV jar. This is what I got,
$java -jar ScenicView.jar
Platform running
Launching ScenicView v8.0.0
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGBUS (0xa) at pc=0x00007fff852a8825, pid=40907, tid=1299
#
# JRE version: Java(TM) SE Runtime Environment (8.0-b132) (build 1.8.0-b132)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.0-b70 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C [libobjc.A.dylib+0x1825] objc_msgSend_stret+0x25
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try “ulimit -c unlimited” before starting Java again
#
# An error report file with more information is saved as:
# /Users/robertfutrelle/Research/Javafx FXML NetBeans/Project/try50/hs_err_pid40907.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Abort trap: 6
The log file has 660 lines, which I don’t understand.
– Bob