couldn't run the TestProgram of JProfiler offline sample - api

all
I met an error when I running the sample of JProfiler7 offline on my windows PC , the code is from "jprofiler7\api\samples\offline\src\TestProgram.java" ,and got the message as thus:
JProfiler> A different instance of the native library has been
JProfiler> loaded. Please check the appropriate environment
JProfiler> variable. (PATH, LD_LIBRARY_PATH, DYLD_LIBRARY_PATH)
JProfiler> Exiting.
I'm sure there is no any JProfiler process running, and I've imported the referenced libraries by "agent.jar" and set my PATH of JProfiler:
C:\Users\user>echo %PATH%
C:\Program Files\Java\jdk1.6.0_33\bin;C:\Program Files\java\jdk1.6.0_33\jre\bin;C:\Program Files\jprofiler7\bin\windows-x64;C:\Program Files\jprofiler7\bin;
I wanna use the JProfiler API for remoting doing something ,could anybody know how to fix that?
JProfiler:7.2.3
Windows: Win7 Enterprise SP1
JDK:1.6.0_33
And if I use the arguments as following:
-agentlib:jprofilerti=offline,id=4321,config=C:\Program Files\jprofiler7\config\config.xml "-Xbootclasspath/a:C:\Program Files\jprofiler7\bin\agent.jar"
there will be another message:
Exception in thread "main" java.lang.NoClassDefFoundError: com/jprofiler/agent/ControllerImpl
at com.jprofiler.api.agent.Controller.startCPURecording(Controller.java:87)
at TestProgram.main(TestProgram.java:31)
Caused by: java.lang.ClassNotFoundException: com.jprofiler.agent.ControllerImpl
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 2 more
____________edited 2014.05.08 17:04 CST__________________________________
I tried to run the demo of platform (jprofiler7\api\samples\platform\src-profiler\TestProfiler.java) , got the same message both without args and with args(-agentpath:C:\Program Files\jprofiler7\bin\windows\jprofilerti.dll=offline,id=112,config="C:\Program Files\jprofiler7\config\config.xml -Xbootclasspath/a:C:\Program Files\jprofiler7\bin\agent.jar):
JProfiler> A different instance of the native library has been
JProfiler> loaded. Please check the appropriate environment
JProfiler> variable. (PATH, LD_LIBRARY_PATH, DYLD_LIBRARY_PATH)
JProfiler> Exiting.
———————————————————ending—————————————————————————————————————————————
solved that.
In my way, firstly, I start a Java application with VM args
"-agentpath:C:\Program Files\jprofiler7\bin\windows-x64\jprofilerti.dll=port=8849"
Then I run a JProfiler platfrom program with args :
-agentpath:C:\Program Files\jprofiler7\bin\windows\jprofilerti.dll=offline,id=112,config="C:\Program Files\jprofiler7\config\config.xml -Xbootclasspath/a:C:\Program Files\jprofiler7\bin\agent.jar
then I could catch some information , with null value.
Profiling data :
Memory data:
Exception in thread "main" java.lang.NullPointerException
at com.jprofiler.core.comm.d.a.getTotalHeapUsage(ejt:100)
at TestProfiler.dumpMemoryData(TestProfiler.java:82)
at TestProfiler.dumpProfilingData(TestProfiler.java:55)
at TestProfiler.main(TestProfiler.java:47)
In a word , it could run...so ending the question.

Replace the -agentlib VM parameter with
-agentpath:C:\Program Files\jprofiler7\bin\windows\jprofilerti.dll=offline,...
and remove the -Xbootclasspath VM parameter

Related

MobileFirst Server not startng untill JVM.options is edited in Windows 8.1

I have faced a problem like Mobilefirst server not starting until i
edit the JVM.options (-DOS.name = Windows 8) in the eclipse.
I need to do the above step manually whenever i create a new workspace
Is there
any other way to completely resolve this problem.
Note : I am using Windows 8.1
Error Log
Listening for transport dt_socket at address: 10777
CWWKE0005E: The runtime environment could not be launched.
CWWKE0018E: An exception occurred while launching the runtime environment: java.lang.IllegalArgumentException: WebSphere-DefaultExtension-windowsnt(unknown)
com.ibm.ws.kernel.boot.LaunchException: Caught unexpected exception java.lang.IllegalArgumentException: WebSphere-DefaultExtension-windowsnt(unknown)
at com.ibm.ws.kernel.boot.internal.KernelBootstrap.rethrowException(KernelBootstrap.java:418)
at com.ibm.ws.kernel.boot.internal.KernelBootstrap.go(KernelBootstrap.java:183)
at com.ibm.ws.kernel.boot.Launcher.createPlatform(Launcher.java:131)
at com.ibm.ws.kernel.boot.Launcher.main(Launcher.java:55)
at com.ibm.ws.kernel.boot.cmdline.EnvCheck.main(EnvCheck.java:52)
Caused by: java.lang.IllegalArgumentException: WebSphere-DefaultExtension-windowsnt(unknown)
at java.util.jar.Attributes$Name.<init>(Unknown Source)
at java.util.jar.Attributes.getValue(Unknown Source)
at com.ibm.ws.kernel.boot.internal.BootstrapManifest.getOSExtensionDefinition(BootstrapManifest.java:157)
at com.ibm.ws.kernel.boot.internal.KernelBootstrap.go(KernelBootstrap.java:123)
... 3 more
Try adding that option to the eclipse.ini file located in your Eclipse installation folder, instead of in the JVM.options of your workspace.

why jmap command running with exception java.lang.reflect.InvocationTargetException? [duplicate]

I get the following exception when i take a heapdump using
jmap -F -dump:format=b,file=/tmp/heapdump/before.hprof 10737
Attaching to process ID 10737, please wait...
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.tools.jmap.JMap.runTool(JMap.java:179)
at sun.tools.jmap.JMap.main(JMap.java:110)
Caused by: java.lang.RuntimeException: Type "nmethodBucket*", referenced in VMStructs::localHotSpotVMStructs in the remote VM, was not present in the remote VMStructs::localHotSpotVMTypes table (should have been caught in the debug build of that VM). Can not continue.
at sun.jvm.hotspot.HotSpotTypeDataBase.lookupOrFail(HotSpotTypeDataBase.java:361)
at sun.jvm.hotspot.HotSpotTypeDataBase.readVMStructs(HotSpotTypeDataBase.java:252)
at sun.jvm.hotspot.HotSpotTypeDataBase.<init>(HotSpotTypeDataBase.java:87)
at sun.jvm.hotspot.bugspot.BugSpotAgent.setupVM(BugSpotAgent.java:568)
at sun.jvm.hotspot.bugspot.BugSpotAgent.go(BugSpotAgent.java:494)
at sun.jvm.hotspot.bugspot.BugSpotAgent.attach(BugSpotAgent.java:332)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:163)
at sun.jvm.hotspot.tools.HeapDumper.main(HeapDumper.java:77)
Anyone know how to resolve this ?
I was seeing the same error because my path to jmap wasn't the same as the path to the java process (i.e. targeting two different versions).
Running jmap with the full path to my JDK resolved it.
If OpenJDK is used, it requires installation of debuginfo-packages.
In Centos this works with
- sudo debuginfo-install java-1.8.0-openjdk
- or sudo yum install java-1.8.0-openjdk-debuginfo.x86_64
See
- https://bugzilla.redhat.com/show_bug.cgi?id=1010786#c15
- amazon linux - install openjdk-debuginfo?

"Could not find the main class: com.cloudbees.sdk.boot.Launcher" after installing Cloudbees SDK

I have installed the Cloudbees SDK on my Ubuntu 12.04 system following this doc. When I run bees help I get the following message :
Exception in thread "main" java.lang.NoClassDefFoundError:
com/cloudbees/sdk/boot/Launcher Caused by:
java.lang.ClassNotFoundException: com.cloudbees.sdk.boot.Launcher at
java.net.URLClassLoader$1.run(URLClassLoader.java:217) at
java.security.AccessController.doPrivileged(Native Method) at
java.net.URLClassLoader.findClass(URLClassLoader.java:205) at
java.lang.ClassLoader.loadClass(ClassLoader.java:321) at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294) at
java.lang.ClassLoader.loadClass(ClassLoader.java:266) Could not find
the main class: com.cloudbees.sdk.boot.Launcher. Program will exit.
It's maybe useful to note that I alredy installed an older version of the Cloudbees SDK and I started by uninstalling it by removing the installation folder and the .bees folder in my home directory.
It sounds like your bees command may be trying to launch with jars from an incorrect location. Make sure that your BEES_HOME environment variable is pointing at the same directory where there bees command/script you are running comes from.

Unable to Load LeJOS NXT Comm Driver

I have been trying to generate an interface with my NXT robot, using the LeJOS libraries. When I run the code I get the following error printed to the console:
lejos.pc.comm.NXTCommException: Cannot load NXTComm driver
at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:110)
at lejos.pc.comm.NXTCommFactory.createNXTComm(NXTCommFactory.java:91)
at com.thirteenbit.prasController.PrasController.initConnection(PrasController.java:24)
at com.thirteenbit.prasController.PrasController.<init>(PrasController.java:17)
at com.thirteenbit.prasController.PrasController$1.run(PrasController.java:42)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:708)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:669)
at java.awt.EventQueue$2.run(EventQueue.java:667)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:678)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: lejos.internal.jni.JNIException: cannot load library /Users/Andrew/Desktop/Dropbox/Eclipse Files/leJOS_NXJ_0.9.1beta-3/lib/pc/native/macosx/libjfantom.jnilib, architecture macosx/x86_64
at lejos.internal.jni.JNILoader.loadLibrary(JNILoader.java:121)
at lejos.pc.comm.NXTCommFantom.initialize0(NXTCommFantom.java:96)
at lejos.pc.comm.NXTCommFantom.initialize(NXTCommFantom.java:103)
at lejos.pc.comm.NXTCommFactory.newNXTCommInstance(NXTCommFactory.java:103)
... 18 more
Caused by: java.lang.UnsatisfiedLinkError: /Users/Andrew/Desktop/Dropbox/Eclipse Files/leJOS_NXJ_0.9.1beta-3/lib/pc/native/macosx/libjfantom.jnilib: no suitable image found. Did find: /Users/Andrew/Desktop/Dropbox/Eclipse Files/leJOS_NXJ_0.9.1beta-3/lib/pc/native/macosx/libjfantom.jnilib: no matching architecture in universal wrapper
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1827)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1703)
at java.lang.Runtime.load0(Runtime.java:770)
at java.lang.System.load(System.java:1020)
at lejos.internal.jni.JNILoader.loadLibrary(JNILoader.java:111)
... 21 more
I believe that this is identical to the problem found in java eclipse: failed to load nxt usb comm driver, and I installed eclipse 32-Bit version and I still am getting the same error, the one above. How would I go about fixing this?
Because I can't post comments due to my reputation (I'm new), an answer:
You should make sure you have:
- x86 JDK (Java Development Kit), click: jdk-7u21-windows-i586.exe
- Lego fantom drivers , click: Fantom Driver 1.1.3
and as you already mentioned a 32-Bit version of Eclipse

(java)Could not find the main class

My code is compiled on OSX and it works fine(compiler version 1.6). But when I copy it to a remote ubuntu. I can not run it.
When I run
java TPCC.class
I got exception like this.(By the way TPCC.class is in default package)
Exception in thread "main" java.lang.NoClassDefFoundError: TPCC/class
Caused by: java.lang.ClassNotFoundException: TPCC.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: TPCC.class. Program will exit.
And my java version on ubuntu:
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)
It's also 1.6 and I think it fits the compiled binary. How can I fix this problem?
The problem is in the way you run the program. Compiled java called
ClassName.java
will be ClassName.class. You should run it like
"java ClassName"
. You shouldn't run it as
"java ClassName.class"
What happens here is this. When you run it as java ClassName.class, JVM try to look for ClassName called "class" in the package called "ClassName" that does not exist. So it will throw NoClassDefFoundError.
This is an invocation problem as the error shows: java should be used and not the filename of the class.
The error message tries to say you this by stating that "TPCC/class" is not found.
(sorry for first adding comment, used the wrong field)
Specify the classpath when invoking java:
java -cp <path-to-jar> TPCC