Fatal error : unable to launch target VM - jdb

I am new to the java and jdb ,trying to debug an example program :
Foo.java
class Foo {
public static void main(String[] args){
System.out.println("Chexking dalvik virtual machine on system");
}
}
compiled it with -g flag . javac -g Foo.java
compiled properly .
Tried to run program using command >java Foo
Got the output .
Then tried to run : jdb Foo
C:\Users\test\workspace\sampleJava>jdb Foo
Initializing jdb ...
> stop in Foo.main
Deferring breakpoint Foo.main.
It will be set after the class is loaded.
> run main
run main
java.io.IOException: Cannot run program "C:\Program": CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessBuilder.start(ProcessBuilder.java:470)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:466)
at com.sun.tools.jdi.AbstractLauncher$Helper.launchAndAccept(AbstractLauncher.java:162)
at com.sun.tools.jdi.AbstractLauncher.launch(AbstractLauncher.java:114)
at com.sun.tools.jdi.SunCommandLineLauncher.launch(SunCommandLineLauncher.java:217)
at com.sun.tools.example.debug.tty.VMConnection.launchTarget(VMConnection.java:334)
at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:166)
at com.sun.tools.example.debug.tty.Commands.commandRun(Commands.java:589)
at com.sun.tools.example.debug.tty.TTY.executeCommand(TTY.java:474)
at com.sun.tools.example.debug.tty.TTY.<init>(TTY.java:707)
at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1011)
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find the file specified
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:177)
at java.lang.ProcessImpl.start(ProcessImpl.java:28)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 11 more
Fatal error:
Unable to launch target VM.
To my knowledge : jdb is unable to load the class . Is there any path setting i need to set for jdb . (I was trying to follow this tutorial)
I think i am missing a very basic thing. Tried google but the same think but i couldnt resolve the problem .
My PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\cygwin\;C:\Users\test\Downloads\adt-bundle-windows-x86-20130219\adt-bundle-windows-x86-20130219\sdk\platform-tools\;"C:\Program Files\Java\jre1.6.0_16\bin";"C:\Program Files\Java\jre6\bin";"C:\Program Files\Java\jdk1.6.0_45\bin";C:\Users\test\Downloads\adt-bundle-windows-x86-20130219\adt-bundle-windows-x86-20130219\sdk\tools;"C:\Program Files\Graphviz2.26.3\bin";"C:\Program Files\Graphviz2.26.3\bin"
C:\Users\test\workspace\sampleJava>java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing)
C:\Users\test\workspace\sampleJava>javac -version
javac 1.6.0_45
OS: windows 7

Had the same problem - appears to be that this is caused by jdk being installed in a folder with a space in its path, i.e., "Program Files" - moved the jdk installation to c:\jdk and the problem went away.

Related

Scenicview 8.7 cannot find JavaFX Application

Loading Scenicview.jar version 8.7 on Windows 10 (Version 10.0.16299.726) in Java 8 via cmd line:
"C:\Program Files\Java\jre1.8.0_181\bin\java.exe" -Dprism.verbose=true -Djavafx.verbose=true -jar "Scenicview.jar"
I get the following error in the cmd output:
Loaded C:\Program Files\Java\jre1.8.0_181\lib\ext\..\..\bin\jfxwebkit.dll from relative path
Startup done
Creating server
Server done
Exception in thread "org.scenicview.model.update.RemoteVMsUpdateStrategy" java.lang.UnsatisfiedLinkError: sun.tools.attach.WindowsAttachProvider.tempPath()Ljava/lang/String;
at sun.tools.attach.WindowsAttachProvider.tempPath(Native Method)
at sun.tools.attach.WindowsAttachProvider.isTempPathSecure(WindowsAttachProvider.java:91)
at sun.tools.attach.WindowsAttachProvider.listVirtualMachines(WindowsAttachProvider.java:75)
at com.sun.tools.attach.VirtualMachine.list(VirtualMachine.java:147)
at org.fxconnector.remote.RemoteConnectorImpl.getRunningJavaFXApplications(RemoteConnectorImpl.java:360)
at org.fxconnector.remote.RemoteConnectorImpl.connect(RemoteConnectorImpl.java:251)
at org.scenicview.model.update.RemoteVMsUpdateStrategy.getActiveApps(RemoteVMsUpdateStrategy.java:57)
at org.scenicview.model.update.RemoteVMsUpdateStrategy.work(RemoteVMsUpdateStrategy.java:77)
at org.fxconnector.helper.WorkerThread.run(WorkerThread.java:43)
Loading Prism common native library ...
Loaded C:\Program Files\Java\jre1.8.0_181\lib\ext\..\..\bin\prism_common.dll from relative path
succeeded.
The Scenicview application runs up but does not find a JavaFX application that is also running in Java8. The searching... icon just keeps spining.
Has anyone expericenced this?
I was using the JRE java.exe. If I use the JDK version it works without issue.
Duplicate of ScenicView Javafx java.lang.UnsatisfiedLinkError

Java Illegal Argument Exception thrown when opening NetLogo model in Jython

I am trying to control NetLogo's API using Jython 2.7.0 (on Java 1.8.0_131) running on OS X El Capitan (10.11.6) to run experiments. In trying to run the following code:
import site
site.addsitedir("/Users/nqe/NetLogo/NetLogo 6.0.1/Java/")
import org.nlogo.headless.HeadlessWorkspace as hw
workspace = hw.newInstance()
workspace.open("models/Sample Models/Earth Science/Fire.nlogo")
workspace.command("set density 62")
workspace.command("random-seed 0")
workspace.command("setup")
workspace.command("repeat 50 [ go ]")
print (workspace.report("burned-trees"))
workspace.dispose()
I get the following error:
at scala.Predef$.require(Predef.scala:264)
at org.nlogo.generate.PrimitiveCache$.read$1(PrimitiveCache.scala:22)
at org.nlogo.generate.PrimitiveCache$.$anonfun$getClassReader$1(PrimitiveCache.scala:26)
at scala.collection.mutable.AbstractMap.getOrElseUpdate(Map.scala:80)
at org.nlogo.generate.PrimitiveCache$.getClassReader(PrimitiveCache.scala:26)
at org.nlogo.generate.PeepholeSafeChecker.processClass(PeepholeSafeChecker.scala:49)
at org.nlogo.generate.PeepholeSafeChecker.isSafe(PeepholeSafeChecker.scala:42)
at org.nlogo.generate.Generator$InstructionGenerator.generateInstruction(Generator.scala:190)
at org.nlogo.generate.Generator$InstructionGenerator.generateBodyMethod(Generator.scala:124)
at org.nlogo.generate.Generator$InstructionGenerator.generate(Generator.scala:99)
at org.nlogo.generate.Generator.org$nlogo$generate$Generator$$recurse(Generator.scala:29)
at org.nlogo.generate.Generator.$anonfun$recurse$1(Generator.scala:31)
at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:193)
at scala.collection.TraversableLike.map$(TraversableLike.scala:234)
at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:193)
at org.nlogo.generate.Generator.org$nlogo$generate$Generator$$recurse(Generator.scala:31)
at org.nlogo.generate.Generator.$anonfun$generate$1(Generator.scala:25)
at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:193)
at scala.collection.TraversableLike.map$(TraversableLike.scala:234)
at scala.collection.mutable.ArrayOps$ofRef.map(ArrayOps.scala:193)
at org.nlogo.generate.Generator.generate(Generator.scala:25)
at org.nlogo.compile.CompilerMain$.assembleProcedure(CompilerMain.scala:79)
at org.nlogo.compile.CompilerMain$.$anonfun$compile$2(CompilerMain.scala:55)
at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
at scala.collection.immutable.List.foreach(List.scala:378)
at scala.collection.TraversableLike.map$(TraversableLike.scala:234)
at scala.collection.immutable.List.map(List.scala:284)
at org.nlogo.compile.CompilerMain$.compile(CompilerMain.scala:55)
at org.nlogo.compile.Compiler.compileProgram(Compiler.scala:52)
at org.nlogo.headless.HeadlessModelOpener.openFromModel(HeadlessModelOpener.scala:54)
at org.nlogo.headless.HeadlessWorkspace.openModel(HeadlessWorkspace.scala:532)
at org.nlogo.headless.HeadlessWorkspace.open(HeadlessWorkspace.scala:499)
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:498)
java.lang.IllegalArgumentException: java.lang.IllegalArgumentException: requirement failed
In case the "import site" part is not clear, I did the following:
Create a jython script to write all .jar files in "/Users/nqe/NetLogo/NetLogo 6.0.1/Java/" to a .pth file.
I then placed this .pith file into said the .../Java/ directory with the .jar files.
This allows me to access all the .jar dependencies from sys.path when needing to the import various API features of NetLogo.
I can't figure out exactly what causes this error, for in running on python interactive mode, I was able to successfully create a new instance of NetLogo JVM using the hw.newInstance() command (I could see a Java icon pop up when running this code), and the open command threw the appropriate errors if I fail to specify a url, for example.
Because of this, I thought it might have something to do with my JVM not being configured properly, so I tried a few things.
First, I checked that I was able to actually run the java example of controlling NetLogo API in headless mode found here: https://github.com/NetLogo/NetLogo/wiki/Controlling-API. I was able to run the code given here using these commands:
javadir=/Users/nqe/NetLogo/ControlAPI/
netjardir=/Users/nqe/NetLogo/NetLogo\ 6.0.1/Java/netlogo-mac-app.jar
javaname=Example1
javac -cp "${javadir}":"${netjardir}" $javaname.java
java -cp "${javadir}":"${netjardir}" $javaname
without changing any JVM settings manually. Nevertheless, I went ahead and tried changing things in my JVM settings when running the jython code such as the path to docs and extensions, but in particular, to the ./lib directory. Unfortunately, specifying the following JVM setting:
-Djava.library.path=~/JRE/Contents/Home/jre/lib/
does nothing to help the cause. Note that the ~ here is short for being in the NetLogo 6.0.1 directory and that this was the only lib directory I could find.
Finally, I discord this: when I try to run the above jython script when only specifying the path to netlogo-mac-app.jar, I AM NOT ABLE TO IMPORT the headless class stuff. Hence, the compilation/ running of the java while specifying only this one .jar classpath could possibly be somehow accessing some useful meta-data necessary for NetLogo to work (I don't know if this is possible with my level of Java background).
Upon thinking this, I found a NetLogo.cfg file in ~/NetLogo 6.0.1.app/Contents/Java/ that contains the following info:
[Application]
app.name=NetLogo
app.mainjar=netlogo-mac-app.jar
app.version=6.0.1
app.preferences.id=org/nlogo/app
app.mainclass=org/nlogo/app/MacApplication
app.classpath=$APPDIR/../../Java/args4j-2.0.12.jar:$APPDIR/../../Java/asm-5.0.3.jar:$APPDIR/../../Java/asm-5.0.3.jar:$APPDIR/../../Java/asm-all-5.0.4.jar:$APPDIR/../../Java/asm-all-5.0.4.jar:$APPDIR/../../Java/asm-analysis-5.0.3.jar:$APPDIR/../../Java/asm-analysis-5.0.3.jar:$APPDIR/../../Java/asm-tree-5.0.3.jar:$APPDIR/../../Java/asm-tree-5.0.3.jar:$APPDIR/../../Java/asm-util-5.0.3.jar:$APPDIR/../../Java/asm-util-5.0.3.jar:$APPDIR/../../Java/behaviorsearch.jar:$APPDIR/../../Java/commons-codec-1.10.jar:$APPDIR/../../Java/commons-codec-1.10.jar:$APPDIR/../../Java/commons-logging-1.1.1.jar:$APPDIR/../../Java/commons-logging-1.1.1.jar:$APPDIR/../../Java/gluegen-rt-2.3.2.jar:$APPDIR/../../Java/gluegen-rt-2.3.2.jar:$APPDIR/../../Java/httpclient-4.2.jar:$APPDIR/../../Java/httpclient-4.2.jar:$APPDIR/../../Java/httpcore-4.2.jar:$APPDIR/../../Java/httpcore-4.2.jar:$APPDIR/../../Java/httpmime-4.2.jar:$APPDIR/../../Java/httpmime-4.2.jar:$APPDIR/../../Java/java-objc-bridge-1.0.0.jar:$APPDIR/../../Java/jcommon-1.0.16.jar:$APPDIR/../../Java/jfreechart-1.0.13.jar:$APPDIR/../../Java/jhotdraw-6.0b1.jar:$APPDIR/../../Java/jhotdraw-6.0b1.jar:$APPDIR/../../Java/jmf-2.1.1e.jar:$APPDIR/../../Java/jmf-2.1.1e.jar:$APPDIR/../../Java/jna-4.2.2.jar:$APPDIR/../../Java/jogl-all-2.3.2.jar:$APPDIR/../../Java/jogl-all-2.3.2.jar:$APPDIR/../../Java/json-simple-1.1.1.jar:$APPDIR/../../Java/json-simple-1.1.1.jar:$APPDIR/../../Java/log4j-1.2.16.jar:$APPDIR/../../Java/log4j-1.2.16.jar:$APPDIR/../../Java/macro-compat_2.12-1.1.1.jar:$APPDIR/../../Java/macro-compat_2.12-1.1.1.jar:$APPDIR/../../Java/netlogo-6.0.1.jar:$APPDIR/../../Java/netlogo-6.0.1.jar:$APPDIR/../../Java/netlogo-mac-app.jar:$APPDIR/../../Java/parboiled-core-1.1.7.jar:$APPDIR/../../Java/parboiled-core-1.1.7.jar:$APPDIR/../../Java/parboiled-java-1.1.7.jar:$APPDIR/../../Java/parboiled-java-1.1.7.jar:$APPDIR/../../Java/parboiled_2.12-2.1.3.jar:$APPDIR/../../Java/parboiled_2.12-2.1.3.jar:$APPDIR/../../Java/pegdown-1.6.0.jar:$APPDIR/../../Java/pegdown-1.6.0.jar:$APPDIR/../../Java/picocontainer-2.13.6.jar:$APPDIR/../../Java/picocontainer-2.13.6.jar:$APPDIR/../../Java/rsyntaxtextarea-2.6.0.jar:$APPDIR/../../Java/rsyntaxtextarea-2.6.0.jar:$APPDIR/../../Java/scala-library-2.12.0.jar:$APPDIR/../../Java/scala-library-2.12.1.jar:$APPDIR/../../Java/scala-library-2.12.1.jar:$APPDIR/../../Java/scala-parser-combinators_2.12-1.0.5.jar:$APPDIR/../../Java/scala-parser-combinators_2.12-1.0.5.jar:$APPDIR/../../Java/shapeless_2.12-2.3.2.jar:$APPDIR/../../Java/shapeless_2.12-2.3.2.jar
app.runtime=$APPDIR/../../JRE
app.identifier=org.nlogo.app
[JVMOptions]
-Dnetlogo.extensions.dir=$APPDIR/../../extensions
-Dnetlogo.models.dir=$APPDIR/../../models
-Dnetlogo.docs.dir=$APPDIR/../../docs
-Xdock:name=NetLogo
-Dorg.nlogo.mac.appClassName=org.nlogo.app.App$
-Xmx1024m
-Dfile.encoding=UTF-8
-Dapple.awt.graphics.UseQuartz=true
[JVMUserOptions]
[ArgOptions]
This seemed promising, but literally deleting this file had no affect on my ability to run NetLogo by opening the application/ using the Control API with Java method. As such, I am stumped, so any help would be greatly appreciated.

JProfiler> ERROR unknown frame type in StackMapTable Exception and core dumped

When I start the Jprofiler v7.2.3 in instrumentation mode for my application, system crashes and throws below hs_err_pid.log and at times core dumps too
Internal Error (jvmtiRedefineClasses.cpp:2312), pid=19786, tid=52
Error: ShouldNotReachHere()
Also I get below entry in nohup.out
JProfiler> ERROR unknown frame type in StackMapTable attributeAbort
Application details
Java version "1.6.0_23"
Java HotSpot(TM) 64-Bit Server VM (build 19.0-b09, mixed mode)
jboss-5.1.0
sun4v sparc SUNW,T5140 sunOS
Please suggest the possible root cause and fix. Thanks
Summing up the comments: In this case, another agent has produced an invalid StackMapTable attribute in the class file of an instrumented class and JProfiler did not know how to deal with that.

Eclipse run error

When i try to run my code on Eclipse this error appears:
Usage: javaw [-options] class [args...]
(to execute a class)
or javaw [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-server to select the "server" VM
-hotspot is a synonym for the "server" VM [deprecated]
The default VM is server.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose:[class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -no-jre-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions with specified granularity
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions with specified granularity
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
-splash:<imagepath>
show splash screen with specified image
See http://www.oracle.com/technetwork/java/javase/documentation/index.html for more details.
i try to coment my entired code and this error still appear.
It seems you haven't set your java path correctly.
Setting Up Eclipse with Java 1.6 on Windows
How To Install and Get Started with Java Programming
Run eclipse in clean mode
Edit the eclipse.ini file located in your Eclipse install directory and insert -clean as the first line.
If this is happening to a specific project only and other projects are running fine then your default run configuration might have changed. You may try the following
- Run -> Run As -> 1 Java Application.
I fixed this issue by deleting some of my old runtime configurations. Eclipse then started automatically generating them again.

Compiling android native app calling ndk-build from eclipse, on ubuntu

On ubuntu 11.10 I installed eclipse from repositories, installed adt and cdt plugins. I am able to compile the hello-jni example using command line, but i would like to use eclipse for the task.
I followed the guide here: http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-development/ and defined a PATH variable in eclipse preferences (window->preferences->c/c++->environment), pointing to the ndk-r7b folder. But the project won't buid. I get this error:
(Cannot run program "ndk-build"
(in directory "/home/athos/android/ndk-r7b/samples/hello-jni"):
java.io.IOException:
error=2, File o directory non esistente)
(last line should be "no such file or directory" in english)
If I specify "${PATH}/ndk-build" or "/home/athos/android/ndk-r7b/ndk-build" as the build command. i get this:
/home/lavoro/android/ndk-r7b/ndk-build
ERROR: Cannot find 'make' program. Please install Cygwin make package
/home/lavoro/android/ndk-r7b/ndk-build: 40: dirname: not found
or define the GNUMAKE variable to point to it.
If I define the GNUMAKE variable in window->preferences->c/c++->environment i get this:
ERROR: Your GNUMAKE variable is defined to an invalid name: /usr/bin/make
Please fix it to point to a valid make executable (e.g. /usr/bin/make)
Which is funny, since It suggests the exact same directory I indicated. Make is installed and present at the indicated location.
What am I missing?
It's a bit ugly, but you can always put
/fully/qualified/path/to/ndk-build
In your build command.