<< Back to previous view

[VISUALVM-589] Enhance SimpleXYChartDescriptor.bytes charts to display TB as well Created: 22/Apr/14  Updated: 22/Apr/14

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.6
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: tmiddlet Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka and tmiddlet

 Description   

've been using the SimpleXYChartDescriptor.bytes graph and like the way the scale changes and adjusts for KB/MB/GB etc.

I'm working with some quite large values in terms of disk allocation and it would be great if the graph type were able to also change scale to TB as well.






[VISUALVM-588] Exception when loading heap - java.lang.ArrayIndexOutOfBoundsException: -22 Created: 10/Apr/14  Updated: 10/Apr/14

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: mikedehaan Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)


Tags:
Participants: mikedehaan and thurka

 Description   

I created a heap dump on the frozen VM using the following command:
sudo jmap -F -dump:format=b,file=/tmp/heap.hprof <pid>

The frozen VM was running on a linux box (Amazon Linux AMI release 2014.03) and using the following JVM:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

I downloaded the heap from the linux box to a windows machine and tried to open it with visualvm (version 1.7.0_45 Build 130117) running under the following JVM:
version 1.7.0_45, vendor Oracle Corporation
Java HotSpot(TM) 64-Bit Server VM (24.45-b08, mixed mode)

Upon loading the heap dump into visualvm, I receive the following exception almost immediately:

java.lang.ArrayIndexOutOfBoundsException: -22
at org.netbeans.lib.profiler.heap.HprofHeap.fillTagBounds(HprofHeap.java:976)
at org.netbeans.lib.profiler.heap.HprofHeap.<init>(HprofHeap.java:93)
at org.netbeans.lib.profiler.heap.HeapFactory.createHeap(HeapFactory.java:49)
at org.netbeans.lib.profiler.heap.HeapFactory.createHeap(HeapFactory.java:31)
at org.netbeans.modules.profiler.heapwalk.HeapWalker.createHeap(HeapWalker.java:155)
at org.netbeans.modules.profiler.heapwalk.HeapWalker.<init>(HeapWalker.java:54)
at com.sun.tools.visualvm.heapdump.impl.HeapDumpView$MasterViewSupport$1.run(HeapDumpView.java:116)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1413)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1993)



 Comments   
Comment by mikedehaan [ 10/Apr/14 01:18 AM ]

Unfortunately due to sensitive client data, I am unable to provide the heap dump file. I am, however, in the process of debugging through the Netbeans source in an attempt to provide more information.





[VISUALVM-587] Cannot load heap dump - ArrayIndexOutOfBoundsException Created: 14/Mar/14  Updated: 09/Apr/14

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.7
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: gonzo125 Assignee: thurka
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

jdk 1.7, windows


Tags:
Participants: gonzo125, mikedehaan and thurka

 Description   

I have a heap dump created using jconsole. Its quite big, about 4GB.
I try to load it using visualvm, progress gets to about 10% and then I get following error:

java.lang.ArrayIndexOutOfBoundsException: -1
at org.netbeans.lib.profiler.heap.HprofLongMappedByteBuffer.get(HprofLongMappedByteBuffer.java:115)
at org.netbeans.lib.profiler.heap.HprofHeap.readDumpTag(HprofHeap.java:663)
at org.netbeans.lib.profiler.heap.HprofHeap.fillHeapTagBounds(HprofHeap.java:1009)
at org.netbeans.lib.profiler.heap.HprofHeap.<init>(HprofHeap.java:137)
at org.netbeans.lib.profiler.heap.HeapFactory.createHeap(HeapFactory.java:87)
at org.netbeans.lib.profiler.heap.HeapFactory.createHeap(HeapFactory.java:69)
at org.netbeans.modules.profiler.heapwalk.HeapWalker.createHeap(HeapWalker.java:193)
at org.netbeans.modules.profiler.heapwalk.HeapWalker.<init>(HeapWalker.java:92)
at com.sun.tools.visualvm.heapdump.impl.HeapDumpView$MasterViewSupport$1.run(HeapDumpView.java:136)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1432)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2042)

Dump was created on another computer (also with windows), probably it has newer version of java 1.7 (but dont know which)



 Comments   
Comment by thurka [ 14/Mar/14 09:34 AM ]

I need your heap dump to be able to diagnose the problem. Can you upload it somewhere?

Comment by gonzo125 [ 14/Mar/14 09:55 AM ]

well.. I was afraid of that...
unfortunately it is a dump of our client's app instance... even using visualvm I see a lot of personal/business data there (using another dump from same instance). so I cant upload it

Comment by mikedehaan [ 09/Apr/14 03:33 AM ]

I am experiencing the same issue.

I created a heap dump on the frozen VM using the following command:
sudo jmap -F -dump:format=b,file=/tmp/heap.hprof <pid>

The frozen VM was running on a linux box (Amazon Linux AMI release 2014.03) and using the following JVM:
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

I downloaded the heap from the linux box to a windows machine and tried to open it with visualvm (version 1.7.0_45 Build 130117) running under the following JVM:
version 1.7.0_45, vendor Oracle Corporation
Java HotSpot(TM) 64-Bit Server VM (24.45-b08, mixed mode)

Upon loading the heap dump into visualvm, I receive the following exception almost immediately:

java.lang.ArrayIndexOutOfBoundsException: -22
at org.netbeans.lib.profiler.heap.HprofHeap.fillTagBounds(HprofHeap.java:976)
at org.netbeans.lib.profiler.heap.HprofHeap.<init>(HprofHeap.java:93)
at org.netbeans.lib.profiler.heap.HeapFactory.createHeap(HeapFactory.java:49)
at org.netbeans.lib.profiler.heap.HeapFactory.createHeap(HeapFactory.java:31)
at org.netbeans.modules.profiler.heapwalk.HeapWalker.createHeap(HeapWalker.java:155)
at org.netbeans.modules.profiler.heapwalk.HeapWalker.<init>(HeapWalker.java:54)
at com.sun.tools.visualvm.heapdump.impl.HeapDumpView$MasterViewSupport$1.run(HeapDumpView.java:116)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1413)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1993)

Comment by thurka [ 09/Apr/14 08:01 AM ]

To mikedehaan;
This looks like a different issue, since the stack trace is different. Can you please file a separate bug report and I need your heap dump to be able to diagnose the problem. Can you upload it somewhere?





[VISUALVM-586] eclipse plugin fails to run project(s) (NullPointerException) Created: 21/Jan/14  Updated: 23/Jan/14

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Blocker
Reporter: Gorbles Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 8.1 64-bit, Eclipse Java EE IDE for Web Developers (Kepler - build id: 20130614-0229), Java 7 64-bit (JDK 1.7.0_25). VisualFM Launcher Feature v1.1.1 (Oracle Corporation)


Tags:
Participants: Gorbles and thurka

 Description   

An internal error occurred during: "Launching <projectname>".

java.lang.NullPointerException
at org.eclipse.jdt.launching.JavaLaunchDelegate.launch(JavaLaunchDelegate.java:101)
at org.eclipse.visualvm.launcher.java.VisualVMJavaDelegate.launch(VisualVMJavaDelegate.java:44)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:858)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:707)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1222)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

I've seen this on the Internet a bit, but there doesn't seem to be a resolution for it. My project launches fine without using this plugin, and this issue *also* affects my other projects (if I attempt to launch using VisualVM).

Using this version of VisualVM - http://visualvm.java.net/eclipse-launcher.html



 Comments   
Comment by thurka [ 23/Jan/14 01:14 PM ]

Thanks for the report. It looks to me that we will need updated version of the plugin for Eclipse Kepler release.





[VISUALVM-585] Java VisualVM does not show MBeans sometimes Created: 11/Jan/14  Updated: 23/Jan/14

Status: Open
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3.5
Fix Version/s: None

Type: Bug Priority: Major
Reporter: mosesad Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7, 8GB RAM, Intel Core i7-3720QM CPU @ 2.60GHz & 500 GB HDD


Tags: mbean
Participants: mosesad and thurka

 Description   

When opened the MBeans tab, "Data not available because JMX connection to the JMX agent could not be established." message displayed.

Actually, for the first time MBeans was shown in this tab. For some reason, during the application execution it suddenly disappeared with leaving the above message.



 Comments   
Comment by thurka [ 23/Jan/14 01:00 PM ]

Is this issue always reproducible? When it happens, can you pleased attach VisualVM log file (available in Help->About->Logfile). Thanks.





[VISUALVM-584] Threads tab not showing Created: 03/Jan/14  Updated: 28/Jan/14

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.5
Fix Version/s: None

Type: Bug Priority: Major
Reporter: unai Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

VisualVM shipped with x64 JDK 1.7u45 for linux. O.S.: CentOS 6 x64.


Tags:
Participants: thurka and unai

 Description   

On GNU/Linux (CentOS 6.5) 64-bit, the "Threads" tab does not show up for application launched as "java -jar Appl.jar" (HotSpot server VM, Oracle JDK, 7u45).
However, the "VisualVM" application does have a Threads tab.

The same issue is reproducible with VisualVM 1.3.4 (as included in Oracle JDK 7u25), launching the application with HotSpot server VM 7u25...

Same application run on Windows 7 x64: "Threads" is properly shown.



 Comments   
Comment by thurka [ 23/Jan/14 01:07 PM ]

Thread tab is valuable only if VIsualVM can establish JMX connection to monitored application. Do you monitor local or remote application? Can you please, attach VisualVM log file (available in Help->About->Logfile). Thanks.

Comment by unai [ 23/Jan/14 01:24 PM ]

I'm monitoring a local application.

Here's the log:

-------------------------------------------------------------------------------
>Log Session: Thursday, January 23, 2014 2:17:06 PM CET
>System Info:
Product Version = Java VisualVM
Operating System = Linux version 2.6.32-431.3.1.el6.x86_64 running on amd64
Java; VM; Vendor = 1.7.0_45; Java HotSpot(TM) 64-Bit Server VM 24.45-b08; Oracle Corporation
Runtime = Java(TM) SE Runtime Environment 1.7.0_45-b18
Java Home = /home/utente/progs/jdk1.7.0_45/jre
System Locale; Encoding = en_US (visualvm); UTF-8
Home Directory = /home/utente
Current Directory = /home/utente/progs/jdk1.7.0_45/bin
User Directory = /home/utente/.visualvm/7u14
Cache Directory = /home/utente/.cache/visualvm/7u14
Installation = /home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm
/home/utente/progs/jdk1.7.0_45/lib/visualvm/profiler
/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform
Boot & Ext. Classpath = /home/utente/progs/jdk1.7.0_45/jre/lib/resources.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/rt.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/sunrsasign.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/jsse.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/jce.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/charsets.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/jfr.jar:/home/utente/progs/jdk1.7.0_45/jre/classes:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/localedata.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/sunec.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/sunpkcs11.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/zipfs.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/sunjce_provider.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/dnsns.jar
Application Classpath = /home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/boot.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/org-openide-modules.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/org-openide-util.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/org-openide-util-lookup.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/boot_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/boot_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-modules_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-modules_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-util_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-util-lookup_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-util-lookup_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-util_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/dt.jar:/home/utente/progs/jdk1.7.0_45/lib/tools.jar
Startup Classpath = /home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/core.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/org-openide-filesystems.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/locale/org-openide-filesystems_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/locale/org-openide-filesystems_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/locale/core_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/locale/core_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm/core/com-sun-tools-visualvm-modules-startup.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm/core/locale/com-sun-tools-visualvm-modules-startup_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm/core/locale/core_visualvm.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm/core/locale/com-sun-tools-visualvm-modules-startup_ja.jar
-------------------------------------------------------------------------------
INFO [org.netbeans.core.startup.NbEvents]: Turning on modules:
org.openide.util.lookup [8.15.2 20130117-unknown-revn]
org.openide.util [8.25.2 20130117-unknown-revn]
org.openide.modules [7.32.1 20130117-unknown-revn]
org.openide.filesystems [7.62.1 20130117-unknown-revn]
org.netbeans.api.annotations.common/1 [1.14.1 20130117-unknown-revn]
org.openide.awt [7.46.1 20130117-unknown-revn]
org.netbeans.api.progress/1 [1.28.1 20130117-unknown-revn]
org.openide.dialogs [7.25.1 20130117-unknown-revn]
org.openide.nodes [7.28.1 20130117-unknown-revn]
org.openide.windows [6.55.2 20130117-unknown-revn]
org.netbeans.modules.editor.mimelookup/1 [1.26.1 20130117-unknown-revn]
org.openide.text [6.49.3 20130117-unknown-revn]
org.netbeans.swing.tabcontrol [1.36.1 20130117-unknown-revn]
org.netbeans.swing.outline [1.20.1 20130117-unknown-revn]
org.openide.explorer [6.45.1 20130117-unknown-revn]
org.openide.actions [6.26.1 20130117-unknown-revn]
org.netbeans.modules.queries/1 [1.28.1 20130117-unknown-revn]
org.openide.loaders [7.37.3 20130117-unknown-revn]
org.openide.io [1.31.2 20130117-unknown-revn]
org.netbeans.swing.plaf [1.25.1 20130117-unknown-revn]
org.netbeans.spi.quicksearch [1.14.1 20130117-unknown-revn]
org.netbeans.bootstrap/1 [2.52.3 20130117-unknown-revn]
org.netbeans.core.startup/1 [1.40.1 20130117-unknown-revn]
org.netbeans.modules.settings/1 [1.35.1 20130117-unknown-revn]
org.netbeans.modules.sendopts/2 [2.22.1 20130117-unknown-revn]
org.netbeans.modules.sampler [1.1.1 20130117-unknown-revn]
org.netbeans.modules.progress.ui [1.20.1 20130117-unknown-revn]
org.netbeans.modules.profiler.utilities/1 [1.22.1 20130117-unknown-revn]
org.netbeans.lib.profiler/1 [1.19.2 20130117-unknown-revn]
org.netbeans.lib.profiler.common/1 [1.19.1 20130117-unknown-revn]
org.netbeans.modules.profiler.api/1 [1.6.1 20130117-unknown-revn]
org.netbeans.lib.profiler.charts/1 [1.14.1 20130117-unknown-revn]
org.netbeans.lib.profiler.ui/1 [1.19.1 20130117-unknown-revn]
org.netbeans.modules.profiler.attach/2 [2.3.1 20130117-unknown-revn]
org.netbeans.modules.profiler.selector.api/1 [1.20.1 20130117-unknown-revn]
org.netbeans.modules.profiler.selector.ui/1 [1.17.1 20130117-unknown-revn]
org.netbeans.modules.profiler/2 [2.4.1 20130117-unknown-revn]
org.netbeans.modules.keyring [1.11.1 20130117-unknown-revn]
org.netbeans.core/2 [3.33.1 20130117-unknown-revn]
org.netbeans.modules.options.api/1 [1.26.1 20130117-unknown-revn]
org.netbeans.modules.profiler.snaptracer/1 [1.8.1 20130117-unknown-revn]
org.netbeans.modules.profiler.oql/2 [2.3.1 20130117-unknown-revn]
org.netbeans.modules.profiler.heapwalker [1.3.1 20130117-unknown-revn]
org.netbeans.modules.masterfs/2 [2.38.2 20130117-unknown-revn]
org.netbeans.modules.keyring.impl [1.7.1 20130117-unknown-revn]
org.netbeans.modules.editor.mimelookup.impl/1 [1.18.1 20130117-unknown-revn]
org.netbeans.modules.autoupdate.services [1.33.2 20130117-unknown-revn]
org.netbeans.modules.autoupdate.ui [1.27.3 20130117-unknown-revn]
org.netbeans.core.windows/2 [2.49.3 20130117-unknown-revn]
org.netbeans.core.ui/1 [1.31.1 20130117-unknown-revn]
com.sun.tools.visualvm.uisupport/0 [1.1 130117]
com.sun.tools.visualvm.core/0 [1.4 130117]
com.sun.tools.visualvm.host/0 [1.0 130117]
com.sun.tools.visualvm.application/0 [1.6 130117]
com.sun.tools.visualvm.tools/0 [1.2 130117]
com.sun.tools.visualvm.coredump/0 [1.0 130117]
com.sun.tools.visualvm.threaddump/0 [1.0 130117]
com.sun.tools.visualvm.heapdump/0 [1.1 130117]
com.sun.tools.visualvm.profiling/0 [1.1 130117]
com.sun.tools.visualvm.sampler [2.1 130117]
com.sun.tools.visualvm.sa/0 [1.0 130117]
com.sun.tools.visualvm.profiler/0 [1.1 130117]
com.sun.tools.visualvm.modules.startup [1.0 130117]
com.sun.tools.visualvm.modules.appui [1.0 130117]
com.sun.tools.visualvm.jvmstat/0 [1.0 130117]
com.sun.tools.visualvm.jvm/0 [1.1 130117]
com.sun.tools.visualvm.jmx/0 [1.2 130117]
com.sun.tools.visualvm.charts/0 [1.1 130117]
com.sun.tools.visualvm.host.views/0 [1.0 130117]
com.sun.tools.visualvm.host.remote/0 [1.0 130117]
com.sun.tools.visualvm.attach/0 [1.1 130117]
com.sun.tools.visualvm.application.views/0 [1.0 130117]
Diagnostic information
Input arguments:
-Djdk.home=/home/utente/progs/jdk1.7.0_45
-Dnetbeans.default_userdir_root=/home/utente/.visualvm
-Dnetbeans.system_http_proxy=DIRECT
-Dnetbeans.system_http_non_proxy_hosts=
-Dnetbeans.dirs=/home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm:/home/utente/progs/jdk1.7.0_45/lib/visualvm/profiler:
-Dnetbeans.home=/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform
-Xms24m
-Xmx256m
-XX:MaxPermSize=96m
-Dsun.jvmstat.perdata.syncWaitMs=10000
-Dsun.java2d.noddraw=true
-Dsun.java2d.d3d=false
-Dnetbeans.keyring.no.master=true
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/home/utente/.visualvm/7u14/var/log/heapdump.hprof
Compiler: HotSpot 64-Bit Tiered Compilers
Heap memory usage: initial 24.0MB maximum 227.5MB
Non heap memory usage: initial 23.4MB maximum 144.0MB
Garbage collector: PS Scavenge (Collections=7 Total time spent=0s)
Garbage collector: PS MarkSweep (Collections=0 Total time spent=0s)
Classes: loaded=4413 total loaded=4413 unloaded 0
INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 8,255,098,880
INFO [null]: Total physical memory 8,255,098,880
INFO [com.sun.tools.visualvm.jmx.impl.JmxModelImpl]: connect(2973)
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:147)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
Caused: java.rmi.ConnectException: Connection refused to host: 83.216.185.166; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:129)
at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source)
at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2392)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:308)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$ProxyClient.tryConnect(JmxModelImpl.java:476)
[catch] at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$ProxyClient.connect(JmxModelImpl.java:420)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl.connect(JmxModelImpl.java:200)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl.<init>(JmxModelImpl.java:170)
at com.sun.tools.visualvm.jmx.impl.JmxModelProvider.createModelFor(JmxModelProvider.java:45)
at com.sun.tools.visualvm.jmx.impl.JmxModelProvider.createModelFor(JmxModelProvider.java:22)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:91)
at com.sun.tools.visualvm.tools.jmx.JmxModelFactory.getJmxModelFor(JmxModelFactory.java:49)
at com.sun.tools.visualvm.application.views.threads.ApplicationThreadsViewProvider.resolveThreads(ApplicationThreadsViewProvider.java:63)
at com.sun.tools.visualvm.application.views.threads.ApplicationThreadsViewProvider.supportsViewFor(ApplicationThreadsViewProvider.java:29)
at com.sun.tools.visualvm.application.views.threads.ApplicationThreadsViewProvider.supportsViewFor(ApplicationThreadsViewProvider.java:25)
at com.sun.tools.visualvm.core.ui.DataSourceViewsManager.getViews(DataSourceViewsManager.java:116)
at com.sun.tools.visualvm.core.ui.DataSourceWindowManager.openWindowAndAddView(DataSourceWindowManager.java:169)
at com.sun.tools.visualvm.core.ui.DataSourceWindowManager.access$000(DataSourceWindowManager.java:30)
at com.sun.tools.visualvm.core.ui.DataSourceWindowManager$1.run(DataSourceWindowManager.java:80)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1413)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1993)

Comment by thurka [ 23/Jan/14 02:59 PM ]

Thanks. Important part of the log is this one:


Caused: java.rmi.ConnectException: Connection refused to host: 83.216.185.166; nested exception is:
java.net.ConnectException: Connection refused


What computer has 83.216.185.166 IP address?

Comment by unai [ 23/Jan/14 03:07 PM ]

That one, localhost has 83.216.185.166 as a public IP address.
Why should visualvm bother to look for (and establish a connection to) that when observing a local application?

Comment by thurka [ 24/Jan/14 12:41 PM ]

I don't know, why JMX tries to connect to 83.216.185.166. We need to find this out. Can you please run VisualVM with:
bin/vinsualvm -J-Dcom.sun.tools.visualvm.jmx.impl.level=100
and again attach VisualVM log file. I would also like to have application snapshot from both VisualVM itself and your monitored application. Thanks.

Comment by unai [ 24/Jan/14 04:04 PM ]

-------------------------------------------------------------------------------
>Log Session: Friday, January 24, 2014 2:41:50 PM CET
>System Info:
Product Version = Java VisualVM
Operating System = Linux version 2.6.32-431.3.1.el6.x86_64 running on amd64
Java; VM; Vendor = 1.7.0_45; Java HotSpot(TM) 64-Bit Server VM 24.45-b08; Oracle Corporation
Runtime = Java(TM) SE Runtime Environment 1.7.0_45-b18
Java Home = /home/utente/progs/jdk1.7.0_45/jre
System Locale; Encoding = en_US (visualvm); UTF-8
Home Directory = /home/utente
Current Directory = /home/utente/progs/jdk1.7.0_45/bin
User Directory = /home/utente/.visualvm/7u14
Cache Directory = /home/utente/.cache/visualvm/7u14
Installation = /home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm
/home/utente/progs/jdk1.7.0_45/lib/visualvm/profiler
/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform
Boot & Ext. Classpath = /home/utente/progs/jdk1.7.0_45/jre/lib/resources.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/rt.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/sunrsasign.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/jsse.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/jce.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/charsets.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/jfr.jar:/home/utente/progs/jdk1.7.0_45/jre/classes:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/localedata.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/sunec.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/sunpkcs11.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/zipfs.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/sunjce_provider.jar:/home/utente/progs/jdk1.7.0_45/jre/lib/ext/dnsns.jar
Application Classpath = /home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/boot.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/org-openide-modules.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/org-openide-util.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/org-openide-util-lookup.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/boot_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/boot_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-modules_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-modules_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-util_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-util-lookup_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-util-lookup_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/lib/locale/org-openide-util_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/dt.jar:/home/utente/progs/jdk1.7.0_45/lib/tools.jar
Startup Classpath = /home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/core.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/org-openide-filesystems.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/locale/org-openide-filesystems_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/locale/org-openide-filesystems_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/locale/core_ja.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform/core/locale/core_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm/core/com-sun-tools-visualvm-modules-startup.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm/core/locale/com-sun-tools-visualvm-modules-startup_zh_CN.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm/core/locale/core_visualvm.jar:/home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm/core/locale/com-sun-tools-visualvm-modules-startup_ja.jar
-------------------------------------------------------------------------------
INFO [org.netbeans.core.startup.NbEvents]: Turning on modules:
org.openide.util.lookup [8.15.2 20130117-unknown-revn]
org.openide.util [8.25.2 20130117-unknown-revn]
org.openide.modules [7.32.1 20130117-unknown-revn]
org.openide.filesystems [7.62.1 20130117-unknown-revn]
org.netbeans.api.annotations.common/1 [1.14.1 20130117-unknown-revn]
org.openide.awt [7.46.1 20130117-unknown-revn]
org.netbeans.api.progress/1 [1.28.1 20130117-unknown-revn]
org.openide.dialogs [7.25.1 20130117-unknown-revn]
org.openide.nodes [7.28.1 20130117-unknown-revn]
org.openide.windows [6.55.2 20130117-unknown-revn]
org.netbeans.modules.editor.mimelookup/1 [1.26.1 20130117-unknown-revn]
org.openide.text [6.49.3 20130117-unknown-revn]
org.netbeans.swing.tabcontrol [1.36.1 20130117-unknown-revn]
org.netbeans.swing.outline [1.20.1 20130117-unknown-revn]
org.openide.explorer [6.45.1 20130117-unknown-revn]
org.openide.actions [6.26.1 20130117-unknown-revn]
org.netbeans.modules.queries/1 [1.28.1 20130117-unknown-revn]
org.openide.loaders [7.37.3 20130117-unknown-revn]
org.openide.io [1.31.2 20130117-unknown-revn]
org.netbeans.swing.plaf [1.25.1 20130117-unknown-revn]
org.netbeans.spi.quicksearch [1.14.1 20130117-unknown-revn]
org.netbeans.bootstrap/1 [2.52.3 20130117-unknown-revn]
org.netbeans.core.startup/1 [1.40.1 20130117-unknown-revn]
org.netbeans.modules.settings/1 [1.35.1 20130117-unknown-revn]
org.netbeans.modules.sendopts/2 [2.22.1 20130117-unknown-revn]
org.netbeans.modules.sampler [1.1.1 20130117-unknown-revn]
org.netbeans.modules.progress.ui [1.20.1 20130117-unknown-revn]
org.netbeans.modules.profiler.utilities/1 [1.22.1 20130117-unknown-revn]
org.netbeans.lib.profiler/1 [1.19.2 20130117-unknown-revn]
org.netbeans.lib.profiler.common/1 [1.19.1 20130117-unknown-revn]
org.netbeans.modules.profiler.api/1 [1.6.1 20130117-unknown-revn]
org.netbeans.lib.profiler.charts/1 [1.14.1 20130117-unknown-revn]
org.netbeans.lib.profiler.ui/1 [1.19.1 20130117-unknown-revn]
org.netbeans.modules.profiler.attach/2 [2.3.1 20130117-unknown-revn]
org.netbeans.modules.profiler.selector.api/1 [1.20.1 20130117-unknown-revn]
org.netbeans.modules.profiler.selector.ui/1 [1.17.1 20130117-unknown-revn]
org.netbeans.modules.profiler/2 [2.4.1 20130117-unknown-revn]
org.netbeans.modules.keyring [1.11.1 20130117-unknown-revn]
org.netbeans.core/2 [3.33.1 20130117-unknown-revn]
org.netbeans.modules.options.api/1 [1.26.1 20130117-unknown-revn]
org.netbeans.modules.profiler.snaptracer/1 [1.8.1 20130117-unknown-revn]
org.netbeans.modules.profiler.oql/2 [2.3.1 20130117-unknown-revn]
org.netbeans.modules.profiler.heapwalker [1.3.1 20130117-unknown-revn]
org.netbeans.modules.masterfs/2 [2.38.2 20130117-unknown-revn]
org.netbeans.modules.keyring.impl [1.7.1 20130117-unknown-revn]
org.netbeans.modules.editor.mimelookup.impl/1 [1.18.1 20130117-unknown-revn]
org.netbeans.modules.autoupdate.services [1.33.2 20130117-unknown-revn]
org.netbeans.modules.autoupdate.ui [1.27.3 20130117-unknown-revn]
org.netbeans.core.windows/2 [2.49.3 20130117-unknown-revn]
org.netbeans.core.ui/1 [1.31.1 20130117-unknown-revn]
com.sun.tools.visualvm.uisupport/0 [1.1 130117]
com.sun.tools.visualvm.core/0 [1.4 130117]
com.sun.tools.visualvm.host/0 [1.0 130117]
com.sun.tools.visualvm.application/0 [1.6 130117]
com.sun.tools.visualvm.tools/0 [1.2 130117]
com.sun.tools.visualvm.coredump/0 [1.0 130117]
com.sun.tools.visualvm.threaddump/0 [1.0 130117]
com.sun.tools.visualvm.heapdump/0 [1.1 130117]
com.sun.tools.visualvm.profiling/0 [1.1 130117]
com.sun.tools.visualvm.sampler [2.1 130117]
com.sun.tools.visualvm.sa/0 [1.0 130117]
com.sun.tools.visualvm.profiler/0 [1.1 130117]
com.sun.tools.visualvm.modules.startup [1.0 130117]
com.sun.tools.visualvm.modules.appui [1.0 130117]
com.sun.tools.visualvm.jvmstat/0 [1.0 130117]
com.sun.tools.visualvm.jvm/0 [1.1 130117]
com.sun.tools.visualvm.jmx/0 [1.2 130117]
com.sun.tools.visualvm.charts/0 [1.1 130117]
com.sun.tools.visualvm.host.views/0 [1.0 130117]
com.sun.tools.visualvm.host.remote/0 [1.0 130117]
com.sun.tools.visualvm.attach/0 [1.1 130117]
com.sun.tools.visualvm.application.views/0 [1.0 130117]
Diagnostic information
Input arguments:
-Djdk.home=/home/utente/progs/jdk1.7.0_45
-Dnetbeans.default_userdir_root=/home/utente/.visualvm
-Dnetbeans.system_http_proxy=DIRECT
-Dnetbeans.system_http_non_proxy_hosts=
-Dnetbeans.dirs=/home/utente/progs/jdk1.7.0_45/lib/visualvm/visualvm:/home/utente/progs/jdk1.7.0_45/lib/visualvm/profiler:
-Dnetbeans.home=/home/utente/progs/jdk1.7.0_45/lib/visualvm/platform
-Xms24m
-Xmx256m
-XX:MaxPermSize=96m
-Dsun.jvmstat.perdata.syncWaitMs=10000
-Dsun.java2d.noddraw=true
-Dsun.java2d.d3d=false
-Dnetbeans.keyring.no.master=true
-Dcom.sun.tools.visualvm.jmx.impl.level=100
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/home/utente/.visualvm/7u14/var/log/heapdump.hprof
Compiler: HotSpot 64-Bit Tiered Compilers
Heap memory usage: initial 24.0MB maximum 227.5MB
Non heap memory usage: initial 23.4MB maximum 144.0MB
Garbage collector: PS Scavenge (Collections=5 Total time spent=0s)
Garbage collector: PS MarkSweep (Collections=0 Total time spent=0s)
Classes: loaded=4410 total loaded=4410 unloaded 0
INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 8,255,098,880
INFO [null]: Total physical memory 8,255,098,880

Comment by unai [ 24/Jan/14 04:06 PM ]

I can't find a way to attach a file to this issue...

Comment by thurka [ 28/Jan/14 11:48 AM ]

Thanks for the new log, however I don't see the 'java.rmi.ConnectException: Connection refused to host: 83.216.185.166;' in the new log. Without it I am not able to diagnose the problem. Please send the attachments via email. Thanks.

Comment by unai [ 28/Jan/14 01:58 PM ]

...to which e-mail address?

Comment by thurka [ 28/Jan/14 02:30 PM ]

thurka at java dot net





[VISUALVM-583] Improve handling profiler calibration Created: 10/Dec/13  Updated: 21/Jan/14  Resolved: 21/Jan/14

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.0
Fix Version/s: 1.3.7

Type: Improvement Priority: Major
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: jsedlacek

 Description   

Currently the profiler only calibrates the Java platform running the host VisualVM instance on its startup. This is not optimal as the user may not need profiling at all or may need to profile an application running a different Java platform.



 Comments   
Comment by jsedlacek [ 10/Dec/13 05:04 PM ]

Removed the calibration on VisualVM startup, now it's being checked when starting a profiling session. Added UI for managing calibration data: Tools | Options | Profiling | Profiler Calibration.

Implemented in revision 3315.





[VISUALVM-582] Undocked Applications view is semi-transparent Created: 04/Dec/13  Updated: 21/Jan/14  Resolved: 21/Jan/14

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.6
Fix Version/s: 1.3.7

Type: Bug Priority: Minor
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: jsedlacek

 Description   

When the Applications view is undocked from VisualVM window to a separate window and some other view is selected in VisualVM, the undocked window becomes semi-transparent. Not useful, affects usability.



 Comments   
Comment by jsedlacek [ 04/Dec/13 03:36 PM ]

Fixed in revision 3310.





[VISUALVM-581] Network Options - Manual settings Created: 02/Dec/13  Updated: 21/Jan/14  Resolved: 21/Jan/14

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.6
Fix Version/s: 1.3.7

Type: Bug Priority: Minor
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

File Attachments: PNG File options_network.png    
Tags:
Participants: jsedlacek

 Description   

Tools | Options | Network - Manual proxy settings enabled but System proxy settings selected. Happens when VisualVM starts with default settings, controls are correctly updated when mouse moves over the panel.



 Comments   
Comment by jsedlacek [ 02/Dec/13 01:17 PM ]

Fixed in revision 3303.





[VISUALVM-580] VisualGC plugin does not work with JDK8 Created: 25/Nov/13  Updated: 25/Nov/13  Resolved: 25/Nov/13

Status: Resolved
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3
Fix Version/s: 1.3.6

Type: Bug Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

VisualGC plugin does not support monitoring of applications running on JDK 8. The root cause is removal of Perm Gen in JDK 8.



 Comments   
Comment by thurka [ 25/Nov/13 04:42 PM ]

Fixed in VisualGC plugin 2.1.2





[VISUALVM-579] Deadlock after startup Created: 24/Oct/13  Updated: 21/Jan/14  Resolved: 24/Oct/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.5
Fix Version/s: 1.3.7

Type: Bug Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

File Attachments: Text File deadlock.txt    
Tags:
Participants: thurka

 Description   

1) Start VisualVM
2) right-click on toolbar
3) invoke 'Customize'
4) deadlock - see thread dump



 Comments   
Comment by thurka [ 24/Oct/13 07:18 AM ]

Fixed in revision 3298.





[VISUALVM-578] error use OQL 64bit instance ID Created: 21/Oct/13  Updated: 21/Oct/13

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.6
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: moonumi Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

1.7.0_u45 64bit windows 2008


Tags: 64bit OQL notFound
Participants: moonumi and thurka

 Description   

errror messager :

Error
Please, check the oql queryjavax.script.ScriptException: sun.org.mozilla.javascript.internal.EvaluatorException: Cannot convert 0x9ffffffed01906e0 to java.lang.Long (#762) in at line number 762

64bit system has instance id (0x9ffffffed01906e0)
but OQL instanceof search throw error.

I use this OQL

select heap.findObject("0x9ffffffed01906e0")

and

instance id exist but not found instance use this OQL

select o from instanceof 0x9ffffffed01906e0 o






[VISUALVM-577] Profiler class sharing warning displayed incorrectly for JDK 7 and JDK 6 Created: 02/Oct/13  Updated: 21/Jan/14  Resolved: 02/Oct/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3
Fix Version/s: 1.3.7

Type: Bug Priority: Minor
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

In Profiler tab there is a "class sharing enabled" warning displayed for applications which are running on JDKs where this can cause a JVM crash during profiling.
Since Sun/Oracle JDK 6.0 Update 6, Sun/Oracle JDK 7 Build 26 and OpenJDK 6 Build 11 the JVM crash is fixed and the warning shouldn't be displayed. Unfortunately this is not
true and the warning is displayed for JDK 7 update 25.



 Comments   
Comment by thurka [ 02/Oct/13 09:00 AM ]

Resolved in revision 3292.





[VISUALVM-576] Add memory sampling functionality for remote applications Created: 25/Sep/13  Updated: 21/Jan/14  Resolved: 25/Sep/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3
Fix Version/s: 1.3.7

Type: Improvement Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

JDK 8 introduced new MXBean DiagnosticCommandMBean. This MXBean has gcClassHistogram operation, which returns class histogram. The output of this MXBean operation can be used to add memory sampling for remote applications.



 Comments   
Comment by thurka [ 25/Sep/13 01:45 PM ]

Implemented in revision 3289.





[VISUALVM-575] Fix sampler memory snapshot type Created: 24/Sep/13  Updated: 24/Sep/13

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.6
Fix Version/s: None

Type: Bug Priority: Major
Reporter: jsedlacek Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: jsedlacek and thurka

 Description   

Currently the sampled memory snapshots created by Sampler are internally AllocMemoryResultsSnapshot. Should be SampledMemoryResultsSnapshot. Now breaks comparing sampled vs. instrumented memory snapshots.






[VISUALVM-574] Add support for DiagnosticCommandMBean in MBeans plugin Created: 19/Sep/13  Updated: 23/Sep/13  Resolved: 19/Sep/13

Status: Resolved
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3.6
Fix Version/s: 1.3.6

Type: Improvement Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

New platform MBean was added to JDK8: DiagnosticCommandMBean. This MBean is a dynamic MBean
providing access to the diagnostic command framework from JMX.
Diagnostic commands without arguments can easily be invoked from
the VisualVM MBean browser. However, Diagnostic commands with
arguments cannot be invoked this way.
All diagnostic commands with arguments have the same prototype:
([Ljava/lang/String;)Ljava/lang/String;
They take an array of Strings in argument, each String being one
argument. And there's no way in VisualVM to pass an array of Strings
from the GUI.

Could it be possible to extend the VisualVM MBean browser to allow
the user to interactively create an array of Strings and then use
it as a diagnostic command argument? No parsing is required.



 Comments   
Comment by thurka [ 19/Sep/13 10:16 AM ]

Fixed in revision 3273. Multiple strings are separated by comma(s).

Comment by thurka [ 23/Sep/13 03:52 PM ]

The fix is now available in MBeans plugin on VisualVM 1.3.6 plugin center.





[VISUALVM-573] monitor layout CPU-Mem-Threads-classes customizable Created: 13/Sep/13  Updated: 13/Sep/13

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.6
Fix Version/s: None

Type: New Feature Priority: Minor
Reporter: Casper_NL Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 x64


Tags:
Participants: Casper_NL and thurka

 Description   

as a user,
I want to be able to change the layout of the monitor (tab) of VisualVM,
so that I can have a wider timespan of the memory graph and CPU graph.

If I use VisualVM I usually only use the 'Memory' graph and the 'CPU' graph. When I switch off the 'Threads' and 'Classes', the memory graph and the the CPU graph are placed next to each other (the screen is split vertically) and I would like to have it customizable so that I place the graphs horizontally. That way I have a larger timespan.

In other words, I would like to have the ability to have the same usage of the screen for "CPU" and "Memory" as eq. "Memory" and "Classes".
Very nice to have.



 Comments   
Comment by thurka [ 13/Sep/13 12:02 PM ]

Please try Tracer plugin. It will allow you select what exactly do you want to monitor and it puts all the graphs on the same timeline. So you will have a larger timespan. Overview of tracer plugin is here: <http://java.dzone.com/visualvm-13>





[VISUALVM-572] Cannot connect to remote jmx agent discovered via jstatd Created: 05/Sep/13  Updated: 21/Jan/14  Resolved: 06/Sep/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.6
Fix Version/s: 1.3.7

Type: Bug Priority: Major
Reporter: martint Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: martint and thurka

 Description   

VisualVM does not detect a JMX connection for a remote process discovered through jstatd if the JMX agent was started via jcmd. It works correctly if the JMX agent is started by providing the com.sun.management.jmxremote.* properties on the command line when starting the process, though.

Per a discussion with Tomas:

>> I dumped the values exported under both scenarios after the jmx agent is started, and I can see these keys:
>>
>> sun.management.JMXConnectorServer.0.authenticate
>> sun.management.JMXConnectorServer.0.remoteAddress
>> sun.management.JMXConnectorServer.0.ssl
>> sun.management.JMXConnectorServer.0.sslNeedClientAuth
>> sun.management.JMXConnectorServer.0.sslRegistry
>> sun.management.JMXConnectorServer.address
>
>It looks OK. Unfortunately VisualVM is looking for sun.management.JMXConnectorServer.0.address counter. This is why it does not detect that there is JMX connection. There is a fallback, which tries to guess connection from >commandline and this fallback was working fine for cases, without jcmd.



 Comments   
Comment by thurka [ 06/Sep/13 06:18 AM ]

Fixed in revision 3267.





[VISUALVM-571] MissingResourceException when starting CPU profiler Created: 30/Aug/13  Updated: 21/Jan/14  Resolved: 30/Aug/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.6
Fix Version/s: 1.3.7

Type: Bug Priority: Major
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: jsedlacek

 Description   

Steps:
1/ Open the Profiler
2/ Define invalid CPU settings (the text area becomes red)
3/ Click the CPU button



 Comments   
Comment by jsedlacek [ 30/Aug/13 11:04 AM ]

Fixed in revision 3266.





[VISUALVM-570] Deadlock in profiler Created: 25/Jul/13  Updated: 25/Jul/13  Resolved: 25/Jul/13

Status: Closed
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.6
Fix Version/s: 1.3.6

Type: Bug Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

File Attachments: Text File threaddump-1374746761565.txt    
Tags:
Participants: thurka

 Description   

Steps:
1) start java2demo
1) open java2demo applications in VisualVM
2) start CPU profiling

See attached thread dump for deadlock.



 Comments   
Comment by thurka [ 25/Jul/13 12:07 PM ]

deadlock attached as threaddump-1374746761565.txt

Comment by thurka [ 25/Jul/13 01:22 PM ]

Fixed in trunk. Revision 3261.

The fix was back-ported to release136 branch. Revision 3262.





[VISUALVM-567] Render MBean attribute value of type ObjectName as link. Clicking on the link selects the corresponding MBean in the tree Created: 03/Jul/13  Updated: 03/Jul/13

Status: Open
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3.5
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: weissr Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka and weissr

 Description   

VisualVM-MBeans Plugin:
Render the value of an MBean attribute of type javax.management.ObjectName as a link.
Clicking on the link selects the corresponding MBean in the MBean tree and shows its attributes.

Alternative: Render a the value as text with a button at the end. Clicking on the button selects the corresponding MBean.






[VISUALVM-566] VisualVM locks up entirely on OSX with 1.6.0_51 Created: 20/Jun/13  Updated: 22/Jun/13  Resolved: 21/Jun/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.1, 1.3.5
Fix Version/s: None

Type: Bug Priority: Blocker
Reporter: emilian Assignee: thurka
Resolution: Won't Fix Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OSX 10.6.8 (Snow Leopard) and 10.8 (Mountain Lion)
java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-456-10M4508)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-456, mixed mode)


Tags:
Participants: emilian, mattball and thurka

 Description   

The latest Apple Java update locks up VisualVM entirely.

If I try to download the latest VisualVM 1.3.5 the application gets stuck on the "VisualVM License Agreement" window. I cannot click on any button, nor close the window.

With a previously functional VisualVM 1.3.1 I get to the main window but I cannot click on anything (for example, I cannot select an application from the Applications tree to connect to).

The only thing that does something is VisualVM | About VisualVM from the menu but I cannot close that window afterwards.

It looks to me like anything Swing is dead and only that native OSX about hook that works.

Obviously, VisualVM is entirely unusable.

This started happening after the Java 1.6.0_51 update.



 Comments   
Comment by thurka [ 20/Jun/13 06:50 AM ]

Why this reported as VisualVM bug? it looks to me like 1.6.0_51 regression, which should be reported to Apple.

Comment by emilian [ 20/Jun/13 06:54 AM ]

NetBeans 7.2 / 7.3 works.

So the update only broke VisualVM so far, which means there is something particular about VisualVM and this update. I assume the native code profiler stuff or maybe something else, who knows?

Comment by thurka [ 20/Jun/13 07:00 AM ]

I don't think it makes any difference. The root cause here is _51 update. Other applications are affected as well. See <http://lists.apple.com/archives/java-dev/2013/Jun/msg00045.html>

Comment by emilian [ 20/Jun/13 07:13 AM ]

Since it doesn't happen for all the Java apps it's not a full-blown regression so it might just be that the update exposes a latent issue in VisualVM.

All the Java 1.6 users on OSX from now on will be unable to use VisualVM.

Comment by thurka [ 20/Jun/13 07:34 AM ]

You can run VisualVM using older JDK. BTW: NetBeans license dialog also does not work.

Comment by emilian [ 20/Jun/13 07:41 AM ]

I didn't test the NetBeans license dialog, but I am running NetBeans right now and it works.

But with VisualVM 1.3.1 (which I was already using) the main window doesn't respond to any mouse event.
VisualVM 1.3.5 (which I just downloaded) doesn't get past the license dialog.

So somehow NetBeans works after the license dialog? This is very strange considering they are both Platform apps.

Comment by thurka [ 20/Jun/13 08:11 AM ]

Interesting thing is that the event are delivered after the window is resized. So once the license dialog opens, resize it. Click on Accept and resize license dialog and it will accept the license.

Comment by emilian [ 20/Jun/13 08:15 AM ]

Yes, I was investigating just that that. It seems the events are all in a pending state until they get flushed via EventQueue.postEvent. But why?

Comment by thurka [ 21/Jun/13 09:07 PM ]

As predicted, this was a regression in JDK 6 update 51 from Apple. There is a new JDK build xM4509, which restores the correct behavior.

java version "1.6.0_51"
Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-10M4509)
Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)

Comment by mattball [ 21/Jun/13 10:52 PM ]

Where can the new JDK build be downloaded?

Comment by thurka [ 22/Jun/13 11:17 AM ]

New JDK build (with links) was announced here: <http://lists.apple.com/archives/java-dev/2013/Jun/msg00055.html>





[VISUALVM-565] [OQL] instance field named "map" cannot be displayed Created: 14/Jun/13  Updated: 14/Jun/13  Resolved: 14/Jun/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3
Fix Version/s: 1.3.6

Type: Bug Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

Reported via email <https://java.net/projects/visualvm/lists/feedback/archive/2013-06/message/1>.

I have an object with an attribute named map. This attribute appears correctly when I open the object that has it in the Instances view, but when I go to "OQL Console" it gives me a "{}" string.

The class I have is:

public class TestBean {

private Map map = new HashMap();

public void add(String key, Object value) { map.put(key,value); }
}

and when I try to see the map attribute using OQL:

var obj = heap.findObject('0x15669a08');
obj.map;

The value displayed is:

{

}

After I changed the attribute name to "map2" it worked:

var obj = heap.findObject('0x15669a08');
obj.map2;

the result was:

java.util.HashMap#251

The same happens if I try:

select x.map from my.pkg.TestBean x



 Comments   
Comment by thurka [ 14/Jun/13 12:51 PM ]

The problem is now tracked as NetBeans Profiler issue: https://netbeans.org/bugzilla/show_bug.cgi?id=231036

Comment by thurka [ 14/Jun/13 01:07 PM ]

Fixed in NetBeans Profiler. The fix was transplanted to profiler-release73 branch <http://hg.netbeans.org/releases/rev/86e06a1882bf> and will be available in the next VisualVM release.





[VISUALVM-564] Make sure VisualVM works with read-only JMX connection Created: 14/Jun/13  Updated: 14/Jun/13  Resolved: 14/Jun/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3
Fix Version/s: 1.3.6

Type: Improvement Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

VisualVM can open JMX connection, which is read-only, but internally still reports that it is possible to take heap dump and thread dump. These action are still enabled, but fails when they are invoked. It is better to disable UI, which depends on take heap dump and thread dump (Threads view, CPU sampler, take heap dump, take thread dump, etc.)



 Comments   
Comment by thurka [ 14/Jun/13 12:27 PM ]

Fixed in revision 3227.





[VISUALVM-563] No error message if "Monitor" / "Perform GC" fails because of insufficient privilege Created: 04/Jun/13  Updated: 13/Jun/13  Resolved: 13/Jun/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.4
Fix Version/s: 1.3.6

Type: Bug Priority: Minor
Reporter: sleske Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: sleske and thurka

 Description   

On the "Monitor" tab, there is a button "Perform GC".

If the current JMX connection is restricted to read-only access (for example using the default JMX user "monitorRole"), then performing a GC is not possible.

If the GC is invoked directly via the operation "gc()" of the MBean "java.lang:type=Memory", then VisualVM will correctly show a message ("java.lang.SecurityException: Access denied! Invalid access level [...]").

However, if clicking "Monitor" / "Perform GC", there is no feedback at all. This is rather confusing, as there is no information that GC could not be performed.

---------

To reproduce:

  • connect to a JMX-enabled application using a read-only role
  • click on "Monitor" / "Perform GC"

Expected: an error message indicating insufficient privileges

Actual result: nothing happens



 Comments   
Comment by sleske [ 04/Jun/13 09:50 AM ]

After a brief look into the code (SVN rev. 3215):

The current behavior is implemented in com.sun.tools.visualvm.application.views.monitor.ApplicationMonitorView:

gcButton = new JButton(new AbstractAction(NbBundle.getMessage(ApplicationMonitorView.class, "LBL_Perform_GC")) {    // NOI18N
                public void actionPerformed(ActionEvent e) {
                    RequestProcessor.getDefault().post(new Runnable() {
                        public void run() {
                            try { model.getMemoryMXBean().gc(); } catch (Exception e) {
                                LOGGER.throwing(ApplicationMonitorView.class.getName(), "initComponents", e);   // NOI18N
                            }
                        };
                    });
                }
            });
            gcButton.setEnabled(model.getMemoryMXBean() != null);

Any exception while invoking gc() is only logged (at level FINER, meaning it is normally not even visible in the log file).

Comment by thurka [ 13/Jun/13 04:12 PM ]

Fixed in revision 3223.





[VISUALVM-562] Extend KillApplication action to allow killing of multiple applications Created: 03/Jun/13  Updated: 21/Jan/14  Resolved: 03/Jun/13

Status: Resolved
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3
Fix Version/s: 1.3.6

Type: Improvement Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

Extend KillApplication action to allow killing of multiple applications.



 Comments   
Comment by thurka [ 03/Jun/13 01:57 PM ]

Fixed in revision 3213.





[VISUALVM-561] "No Proxy" configuration not working Created: 23/May/13  Updated: 11/Jun/13

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: the_alchemist Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)


Tags:
Participants: jsedlacek, the_alchemist and thurka

 Description   

I'm not sure what I'm doing wrong, but I've made a screencast of my visual vm session.

I can't get the "No proxy hosts" setting to work.



 Comments   
Comment by the_alchemist [ 23/May/13 03:26 PM ]

I guess you can't attach files, so here's a link to it.

Comment by jsedlacek [ 11/Jun/13 11:24 AM ]

Bug in NetBeans Platform, will be fixed by upgrading to NB 7.4+ once available.





[VISUALVM-560] cannot perform "Memory Sampling" against Tomcat 7 Created: 16/May/13  Updated: 24/May/13

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.4
Fix Version/s: not determined

Type: Bug Priority: Major
Reporter: the_alchemist Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: the_alchemist and thurka

 Description   

Summary

After connecting to my local Tomcat instance and going to the Sampler tab, it says:

CPU sampling:
Available. Press the 'CPU' button to start collecting performance data.

Memory sampling:
Not available. Failed to read objects in target application. Check the logfile for details (use Help | About | Logfile).

In the logfile, it says:

WARNING [com.sun.tools.visualvm.sampler.SamplerImpl]: attachModel.takeHeapHistogram() throws Throwable for Application [id: localhost-3212, pid: 3212, host: localhost]
java.util.InputMismatchException
	at java.util.Scanner.throwFor(Scanner.java:909)
	at java.util.Scanner.next(Scanner.java:1530)
	at java.util.Scanner.next(Scanner.java:1463)
	at com.sun.tools.visualvm.attach.HeapHistogramImpl.<init>(HeapHistogramImpl.java:92)
	at com.sun.tools.visualvm.attach.AttachModelImpl.takeHeapHistogram(AttachModelImpl.java:92)
	at com.sun.tools.visualvm.attach.AttachModelImpl.takeHeapHistogram(AttachModelImpl.java:22)
[catch] at com.sun.tools.visualvm.sampler.SamplerImpl$12.run(SamplerImpl.java:620)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1372)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1952)

I know this is my Tomcat instance because that's what's on pid 3212.

Additional Details

  • This is jvisualvm build 120605.
  • JDK 1.7.0_21
  • Technically, I'm running vmware's vFabric tvServer Developer Edition v2.8 (not sure if it matters)


 Comments   
Comment by thurka [ 22/May/13 07:06 AM ]

Please attach whole logfile, not just the exception. Are you able to reproduce it? What JDK/JRE is used for your Tomcat? It would be useful to have application snapshot your Tomcat instance. Can you, please, attach it to the issue or you can send it via email.

Comment by the_alchemist [ 23/May/13 05:12 PM ]

Whole Logfile

-------------------------------------------------------------------------------
>Log Session: Thursday, May 23, 2013 1:09:21 PM EDT
>System Info: 
  Product Version         = Java VisualVM
  Operating System        = Windows 7 version 6.1 running on amd64
  Java; VM; Vendor        = 1.7.0_21; Java HotSpot(TM) 64-Bit Server VM 23.21-b01; Oracle Corporation
  Runtime                 = Java(TM) SE Runtime Environment 1.7.0_21-b11
  Java Home               = C:\Program Files\Java\jdk1.7.0_21\jre
  System Locale; Encoding = en_US (visualvm); Cp1252
  Home Directory          = C:\Users\kpietrzak
  Current Directory       = C:\Program Files\Java\jdk1.7.0_21\bin
  User Directory          = C:\Users\kpietrzak\AppData\Roaming\.visualvm\7u6
  Cache Directory         = C:\Users\kpietrzak\AppData\Roaming\.visualvm\7u6\var\cache
  Installation            = C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\visualvm
                            C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\profiler
                            C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform
  Boot & Ext. Classpath   = C:\Program Files\Java\jdk1.7.0_21\jre\lib\resources.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\rt.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jce.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.7.0_21\jre\classes;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.7.0_21\jre\lib\ext\zipfs.jar
  Application Classpath   = C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\boot.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\org-openide-modules.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\org-openide-util-lookup.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\org-openide-util.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\locale\boot_ja.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\locale\boot_zh_CN.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\locale\org-openide-modules_ja.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\locale\org-openide-modules_zh_CN.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\locale\org-openide-util-lookup_ja.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\locale\org-openide-util-lookup_zh_CN.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\locale\org-openide-util_ja.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\lib\locale\org-openide-util_zh_CN.jar;C:\Program Files\Java\jdk1.7.0_21\lib\dt.jar;C:\Program Files\Java\jdk1.7.0_21\lib\tools.jar
  Startup Classpath       = C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\core\core.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\core\org-openide-filesystems.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\core\locale\core_ja.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\core\locale\core_zh_CN.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\core\locale\org-openide-filesystems_ja.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform\core\locale\org-openide-filesystems_zh_CN.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\visualvm\core\com-sun-tools-visualvm-modules-startup.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\visualvm\core\locale\com-sun-tools-visualvm-modules-startup_ja.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\visualvm\core\locale\com-sun-tools-visualvm-modules-startup_zh_CN.jar;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\visualvm\core\locale\core_visualvm.jar
-------------------------------------------------------------------------------
INFO [org.netbeans.core.startup.NbEvents]: Turning on modules:
	org.openide.util.lookup [8.11.1 20120605-unknown-revn]
	org.openide.util [8.19.1 20120605-unknown-revn]
	org.openide.modules [7.27.1 20120605-unknown-revn]
	org.openide.filesystems [7.53.2 20120605-unknown-revn]
	org.openide.awt [7.39.1 20120605-unknown-revn]
	org.netbeans.api.progress/1 [1.26.1 20120605-unknown-revn]
	org.openide.dialogs [7.23.1 20120605-unknown-revn]
	org.openide.nodes [7.25.1 20120605-unknown-revn]
	org.openide.windows [6.48.2 20120605-unknown-revn]
	org.netbeans.modules.editor.mimelookup/1 [1.24.1 20120605-unknown-revn]
	org.openide.text [6.43.2 20120605-unknown-revn]
	org.netbeans.swing.tabcontrol [1.29.1 20120605-unknown-revn]
	org.netbeans.swing.outline [1.17.2 20120605-unknown-revn]
	org.openide.explorer [6.40.1 20120605-unknown-revn]
	org.openide.actions [6.24.1 20120605-unknown-revn]
	org.netbeans.modules.queries/1 [1.25.1 20120605-unknown-revn]
	org.netbeans.api.annotations.common/1 [1.11.1 20120605-unknown-revn]
	org.openide.loaders [7.32.1 20120605-unknown-revn]
	org.openide.io [1.29.1 20120605-unknown-revn]
	org.netbeans.swing.plaf [1.23.1 20120605-unknown-revn]
	org.netbeans.spi.quicksearch [1.12.1 20120605-unknown-revn]
	org.netbeans.bootstrap/1 [2.44.3 20120605-unknown-revn]
	org.netbeans.core.startup/1 [1.36.1 20120605-unknown-revn]
	org.netbeans.modules.settings/1 [1.33.1 20120605-unknown-revn]
	org.netbeans.modules.sendopts/2 [2.15.1 20120605-unknown-revn]
	org.netbeans.modules.progress.ui [1.18.1 20120605-unknown-revn]
	org.netbeans.modules.profiler.utilities/1 [1.20.1 20120605-unknown-revn]
	org.netbeans.lib.profiler/1 [1.17.3 20120605-unknown-revn]
	org.netbeans.lib.profiler.common/1 [1.17.2 20120605-unknown-revn]
	org.netbeans.modules.profiler.api/1 [1.1.2 20120605-unknown-revn]
	org.netbeans.lib.profiler.charts/1 [1.12.1 20120605-unknown-revn]
	org.netbeans.lib.profiler.ui/1 [1.16.2 20121009-48ef3cd55cdf]
	org.netbeans.modules.profiler.selector.api/1 [1.18.1 20120605-unknown-revn]
	org.netbeans.modules.profiler.selector.ui/1 [1.14.1 20120605-unknown-revn]
	org.netbeans.modules.profiler.oql/2 [2.1.1 20120605-unknown-revn]
	org.netbeans.modules.profiler.attach/2 [2.1.1 20120605-unknown-revn]
	org.netbeans.modules.profiler/2 [2.1.1 20120605-unknown-revn]
	org.netbeans.modules.profiler.heapwalker [1.1.3 20120605-unknown-revn]
	org.netbeans.modules.keyring [1.8.1.1 20120605-unknown-revn]
	org.netbeans.core/2 [3.28.1 20120605-unknown-revn]
	org.netbeans.modules.options.api/1 [1.24.1 20120605-unknown-revn]
	org.netbeans.modules.masterfs/2 [2.34.2 20120605-unknown-revn]
	org.netbeans.modules.keyring.impl [1.5.2 20120605-unknown-revn]
	org.netbeans.modules.editor.mimelookup.impl/1 [1.16.1 20120605-unknown-revn]
	org.netbeans.modules.autoupdate.services [1.28.2 20120605-unknown-revn]
	org.netbeans.modules.autoupdate.ui [1.25.1 20120605-unknown-revn]
	org.netbeans.core.windows/2 [2.41.2 20120605-unknown-revn]
	org.netbeans.core.ui/1 [1.29.1 20120605-unknown-revn]
	com.sun.tools.visualvm.uisupport/0 [1.0 120605]
	com.sun.tools.visualvm.core/0 [1.4 120605]
	com.sun.tools.visualvm.host/0 [1.0 120605]
	com.sun.tools.visualvm.application/0 [1.6 120605]
	com.sun.tools.visualvm.tools/0 [1.2 120605]
	com.sun.tools.visualvm.coredump/0 [1.0 120605]
	com.sun.tools.visualvm.threaddump/0 [1.0 120605]
	com.sun.tools.visualvm.heapdump/0 [1.1 120605]
	com.sun.tools.visualvm.profiling/0 [1.0 120605]
	com.sun.tools.visualvm.sampler [2.0 120605]
	com.sun.tools.visualvm.sa/0 [1.0 120605]
	com.sun.tools.visualvm.profiler/0 [1.1 120605]
	com.sun.tools.visualvm.modules.startup [1.0 120605]
	com.sun.tools.visualvm.modules.appui [1.0 120605]
	com.sun.tools.visualvm.jvmstat/0 [1.0 120605]
	com.sun.tools.visualvm.jvm/0 [1.1 120605]
	com.sun.tools.visualvm.jmx/0 [1.2 120605]
	com.sun.tools.visualvm.charts/0 [1.1 120605]
	com.sun.tools.visualvm.host.views/0 [1.0 120605]
	com.sun.tools.visualvm.host.remote/0 [1.0 120605]
	com.sun.tools.visualvm.attach/0 [1.1 120605]
	com.sun.tools.visualvm.application.views/0 [1.0 120605]
Diagnostic information
Input arguments:
	-Xms24m
	-Xmx256m
	-Dsun.jvmstat.perdata.syncWaitMs=10000
	-Dsun.java2d.noddraw=true
	-Dsun.java2d.d3d=false
	-Djdk.home=C:\Program Files\Java\jdk1.7.0_21
	-Dnetbeans.home=C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\platform
	-Dnetbeans.user=C:\Users\kpietrzak\AppData\Roaming\.visualvm\7u6
	-XX:+HeapDumpOnOutOfMemoryError
	-XX:HeapDumpPath=C:\Users\kpietrzak\AppData\Roaming\.visualvm\7u6\var\log\heapdump.hprof
	-Dnetbeans.system_http_proxy=DIRECT
	-Dsun.awt.keepWorkingSetOnMinimize=true
	-Dnetbeans.dirs=C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\visualvm;C:\Program Files\Java\jdk1.7.0_21\lib\visualvm\profiler
Compiler: HotSpot 64-Bit Tiered Compilers
Heap memory usage: initial 24.0MB maximum 227.6MB
Non heap memory usage: initial 23.2MB maximum 130.0MB
Garbage collector: PS Scavenge (Collections=7 Total time spent=0s)
Garbage collector: PS MarkSweep (Collections=0 Total time spent=0s)
Classes: loaded=4377 total loaded=4377 unloaded 0
INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 4,293,386,240
INFO [null]: Total physical memory 4,293,386,240
WARNING [com.sun.tools.visualvm.sampler.SamplerImpl]: attachModel.takeHeapHistogram() throws Throwable for Application [id: localhost-3496, pid: 3496, host: localhost]
java.util.InputMismatchException
	at java.util.Scanner.throwFor(Scanner.java:909)
	at java.util.Scanner.next(Scanner.java:1530)
	at java.util.Scanner.next(Scanner.java:1463)
	at com.sun.tools.visualvm.attach.HeapHistogramImpl.<init>(HeapHistogramImpl.java:92)
	at com.sun.tools.visualvm.attach.AttachModelImpl.takeHeapHistogram(AttachModelImpl.java:92)
	at com.sun.tools.visualvm.attach.AttachModelImpl.takeHeapHistogram(AttachModelImpl.java:22)
[catch] at com.sun.tools.visualvm.sampler.SamplerImpl$12.run(SamplerImpl.java:620)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1372)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1952)
WARNING [org.netbeans.TopSecurityManager]: use of system property netbeans.user has been obsoleted in favor of InstalledFileLocator at com.sun.tools.visualvm.modules.appui.AboutAction.getDetails(AboutAction.java:145)

I was able to reproduce on from a different machine, so this logfile is technically from a different machine than the original submission, but that shouldn't make a difference.

Comment by thurka [ 24/May/13 08:40 AM ]

Thanks for the log file, but next time, please attach it to the issue. I am still missing the answers to my other questions:
------
What JDK/JRE is used for your Tomcat?
It would be useful to have application snapshot your Tomcat instance.
Can you, please, attach it to the issue or you can send it via email?
-------
Thanks.





[VISUALVM-559] Need user feedback when determined that username/password may be sent via an insecure connection Created: 13/May/13  Updated: 19/Dec/13  Resolved: 25/Jun/13

Status: Resolved
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.0, 1.0.1, 1.1, 1.1.1, 1.2, 1.2.1, 1.2.2, 1.3, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5
Fix Version/s: 1.3.6

Type: Bug Priority: Major
Reporter: yardus Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: security
Participants: jsedlacek, rainerfrey, thurka and yardus

 Description   

VisualVM should be updated so that the dialog box for connecting to a
remote RMI host-and-port gets a checkbox saying "connection must use SSL".

When true, VisualVM will use the following JMXServiceURL:

service:jmx:rmissl:///jndi/rmi://hostName:portNum/jmxrmi

When false (default value), VisualVM will use the following JMXServiceURL:

service:jmx:rmi:///jndi/rmi://hostName:portNum/jmxrmi

@ luis-miguel.alventosa@sun.com 2005-2-11 14:10:59 GMT

If SSL is checked, set a new property jmx.remote.x.check.stub to true for the
environment map when VisualVM connects to the target VM.



 Comments   
Comment by thurka [ 25/Jun/13 03:31 PM ]

We used similar fix to JConsole. VisualVM will check for SSL-protected RMI registry and warn user that username/password will be sent in plain text. Fixed in revision 3232.

Comment by rainerfrey [ 16/Dec/13 12:16 PM ]

The way this is fixed is very annoying. We use monitoring within a trusted network, and therefore don't use SSL. With 1.3.6, there is now a warning for every saved connection in VisualVM at startup (about 2 dozens in my case). Could this please be changed in a way more along the lines of the original report. that a connection can be marked to require a secure connection, and does not warn if it is not required.

Comment by jsedlacek [ 19/Dec/13 02:14 PM ]

Improved for the next VisualVM version in revision 3326.





[VISUALVM-558] java.util.MissingResourceException: MSG_Broken_Jsp_NoLink Created: 13/May/13  Updated: 13/Jun/13  Resolved: 13/May/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3
Fix Version/s: 1.3.6

Type: Bug Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider$1
java.util.MissingResourceException: Can't find resource for bundle org.openide.util.NbBundle$PBundle, key MSG_Broken_Jsp_NoLink
at java.util.ResourceBundle.getObject(ResourceBundle.java:423)
at java.util.ResourceBundle.getString(ResourceBundle.java:380)
at org.openide.util.NbBundle.getMessage(NbBundle.java:642)
at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.checkForBrokenLocalJps(JvmstatApplicationProvider.java:330)
at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.registerJvmstatConnection(JvmstatApplicationProvider.java:262)
at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.registerJvmstatConnections(JvmstatApplicationProvider.java:126)
at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.processNewHost(JvmstatApplicationProvider.java:119)
at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider.access$000(JvmstatApplicationProvider.java:72)
at com.sun.tools.visualvm.jvmstat.application.JvmstatApplicationProvider$1.run(JvmstatApplicationProvider.java:98)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1452)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2032)



 Comments   
Comment by thurka [ 13/May/13 03:08 PM ]

Fixed in revision 3212.





[VISUALVM-557] No way to install plugins from VisualVM Created: 02/May/13  Updated: 06/May/13  Resolved: 06/May/13

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.5
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: Igor_Livshin Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows XP


Tags: Plugin Installation Issue
Participants: Igor_Livshin and thurka

 Description   

In any attempt to install any plugin from VisuaVM plugin page connection is rejected. Maybe proxy should be configured? Being unable to install plugins from VisualVM I downloaded several of them manually and then tried to install them from my local machine. Again, the zip file that is downloaded contains only license data?



 Comments   
Comment by thurka [ 02/May/13 04:56 PM ]

The java.net migration broke it. See https://java.net/projects/visualvm/lists/users/archive/2013-04/message/1 for more details.

Comment by Igor_Livshin [ 03/May/13 04:37 PM ]

Thanks for your quick response.

I went to the recommended Web Suite and downloaded several plugins. However, VisualVM requres files with extention *.nbm for plugin installation and the downloaded files are all ZIP files. There are no *.nbm files inside those ZIP files. So, how such plugins can be installed.

Comment by thurka [ 06/May/13 01:55 PM ]

The issue is fixed now. Please click 'Check for Updates' in Tools->Plugins window and try to install plugin again.

Comment by Igor_Livshin [ 06/May/13 05:25 PM ]

I received a message that plugin installation is now fixed. I tried again Tools--->Plugins Install Plugins.

Here is the error message:

Unable to connect to VisualVM 1.3.5 Plugin Center because connection refused.

What needs to be done? Is it an authorization issue?

Thanks for your help.





[VISUALVM-556] Update VisualVM to reflect metaspace changes in MXBeans Created: 17/Apr/13  Updated: 17/Apr/13

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3
Fix Version/s: dev

Type: Improvement Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

JDK8 should implement a MemoryPool for Metaspace to provide information about memory used for metadata, committed memory for metadata etc. VisualVM must be updated to reflect this change in MemoryPools. See http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8000754 for more details.






[VISUALVM-555] Cannot see local Java applications if Eclipse Juno Service Release 2 is running on Mac OS X 10.8.3 Created: 16/Apr/13  Updated: 13/Jun/13  Resolved: 17/Apr/13

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.5
Fix Version/s: 1.3.6

Type: Bug Priority: Major
Reporter: robertkuhar Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: robertkuhar and thurka

 Description   

VisualVM no longer locates local JVM PIDs in the presence of Eclipse Juno. If eclipse isn't running, VisualVM launches without issue and I see all the PIDs of the local JVMs under the Local tag on the tree. If eclipse is running, I almost always (but not always always) get to see no JVMs by Pid other than VisualVM itself. This happens both with the 1.5.3 VisualVM I launch from the Dock and an VisualVM launched from a command line via jvisualvm command.

There is an unsettling stacktrace in the logfile from "About VisualVM":

INFO [com.sun.tools.visualvm.attach.AttachModelImpl]: getSystemProperties
com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
at sun.tools.attach.BsdVirtualMachine.<init>(BsdVirtualMachine.java:90)
at sun.tools.attach.BsdAttachProvider.attachVirtualMachine(BsdAttachProvider.java:63)
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213)
at com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:124)
Caused: java.io.IOException: Unable to open socket file: target process not responding or HotSpot VM not loaded
at com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:126)
[catch] at com.sun.tools.visualvm.attach.AttachModelImpl.getSystemProperties(AttachModelImpl.java:56)
at com.sun.tools.visualvm.jvm.JVMImpl.getSystemProperties(JVMImpl.java:294)
at com.sun.tools.visualvm.application.type.EclipseApplicationTypeFactory.getName(EclipseApplicationTypeFactory.java:75)
at com.sun.tools.visualvm.application.type.EclipseApplicationTypeFactory.createApplicationTypeFor(EclipseApplicationTypeFactory.java:64)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:150)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:42)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.application.type.ApplicationTypeFactory.getApplicationTypeFor(ApplicationTypeFactory.java:74)
at com.sun.tools.visualvm.application.ApplicationDescriptor.<init>(ApplicationDescriptor.java:55)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:43)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:38)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptorFactory.getDescriptor(DataSourceDescriptorFactory.java:69)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDisplayableDataSources(ExplorerModelBuilder.java:152)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processIndependentAddedDataSources(ExplorerModelBuilder.java:116)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDataSources(ExplorerModelBuilder.java:105)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.access$200(ExplorerModelBuilder.java:59)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder$1.run(ExplorerModelBuilder.java:98)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1452)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2032)
INFO [com.sun.tools.visualvm.jmx.impl.JmxModelImpl]: connect(2344)
com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
at sun.tools.attach.BsdVirtualMachine.<init>(BsdVirtualMachine.java:90)
at sun.tools.attach.BsdAttachProvider.attachVirtualMachine(BsdAttachProvider.java:63)
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$LocalVirtualMachine.loadManagementAgent(JmxModelImpl.java:673)
Caused: java.io.IOException: Unable to open socket file: target process not responding or HotSpot VM not loaded
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$LocalVirtualMachine.loadManagementAgent(JmxModelImpl.java:675)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$LocalVirtualMachine.startManagementAgent(JmxModelImpl.java:653)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$ProxyClient.tryConnect(JmxModelImpl.java:470)
[catch] at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$ProxyClient.connect(JmxModelImpl.java:440)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl.connect(JmxModelImpl.java:220)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl.<init>(JmxModelImpl.java:190)
at com.sun.tools.visualvm.jmx.impl.JmxModelProvider.createModelFor(JmxModelProvider.java:65)
at com.sun.tools.visualvm.jmx.impl.JmxModelProvider.createModelFor(JmxModelProvider.java:42)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.tools.jmx.JmxModelFactory.getJmxModelFor(JmxModelFactory.java:69)
at com.sun.tools.visualvm.jvm.JVMImpl.getJmxModel(JVMImpl.java:456)
at com.sun.tools.visualvm.jvm.JVMImpl.getSystemProperties(JVMImpl.java:298)
at com.sun.tools.visualvm.application.type.EclipseApplicationTypeFactory.getName(EclipseApplicationTypeFactory.java:75)
at com.sun.tools.visualvm.application.type.EclipseApplicationTypeFactory.createApplicationTypeFor(EclipseApplicationTypeFactory.java:64)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:150)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:42)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.application.type.ApplicationTypeFactory.getApplicationTypeFor(ApplicationTypeFactory.java:74)
at com.sun.tools.visualvm.application.ApplicationDescriptor.<init>(ApplicationDescriptor.java:55)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:43)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:38)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptorFactory.getDescriptor(DataSourceDescriptorFactory.java:69)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDisplayableDataSources(ExplorerModelBuilder.java:152)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processIndependentAddedDataSources(ExplorerModelBuilder.java:116)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDataSources(ExplorerModelBuilder.java:105)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.access$200(ExplorerModelBuilder.java:59)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder$1.run(ExplorerModelBuilder.java:98)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1452)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2032)
INFO [com.sun.tools.visualvm.sa.SaModelProvider]: Error getting SA agent
sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process
at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal.attach0(Native Method)
at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal.access$100(BsdDebuggerLocal.java:51)
at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal$1AttachTask.doit(BsdDebuggerLocal.java:261)
at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal$BsdDebuggerLocalWorkerThread.run(BsdDebuggerLocal.java:129)
Caused: sun.jvm.hotspot.debugger.DebuggerException
at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal$BsdDebuggerLocalWorkerThread.execute(BsdDebuggerLocal.java:154)
at sun.jvm.hotspot.debugger.bsd.BsdDebuggerLocal.attach(BsdDebuggerLocal.java:270)
at sun.jvm.hotspot.HotSpotAgent.attachDebugger(HotSpotAgent.java:596)
at sun.jvm.hotspot.HotSpotAgent.setupDebuggerBsd(HotSpotAgent.java:584)
at sun.jvm.hotspot.HotSpotAgent.setupDebugger(HotSpotAgent.java:340)
at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:313)
at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:157)
Caused: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.sun.tools.visualvm.sa.SAObject.invoke(SAObject.java:107)
at com.sun.tools.visualvm.sa.Agent.attach(Agent.java:64)
at com.sun.tools.visualvm.sa.SaModelImpl.attach(SaModelImpl.java:118)
at com.sun.tools.visualvm.sa.SaModelImpl.readData(SaModelImpl.java:126)
at com.sun.tools.visualvm.sa.SaModelImpl.<init>(SaModelImpl.java:52)
[catch] at com.sun.tools.visualvm.sa.SaModelProvider.createModelFor(SaModelProvider.java:78)
at com.sun.tools.visualvm.sa.SaModelProvider.createModelFor(SaModelProvider.java:46)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.tools.sa.SaModelFactory.getSAAgentFor(SaModelFactory.java:65)
at com.sun.tools.visualvm.jvm.JVMImpl.getSAAgent(JVMImpl.java:452)
at com.sun.tools.visualvm.jvm.JVMImpl.getSystemProperties(JVMImpl.java:305)
at com.sun.tools.visualvm.application.type.EclipseApplicationTypeFactory.getName(EclipseApplicationTypeFactory.java:75)
at com.sun.tools.visualvm.application.type.EclipseApplicationTypeFactory.createApplicationTypeFor(EclipseApplicationTypeFactory.java:64)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:150)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:42)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.application.type.ApplicationTypeFactory.getApplicationTypeFor(ApplicationTypeFactory.java:74)
at com.sun.tools.visualvm.application.ApplicationDescriptor.<init>(ApplicationDescriptor.java:55)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:43)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:38)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptorFactory.getDescriptor(DataSourceDescriptorFactory.java:69)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDisplayableDataSources(ExplorerModelBuilder.java:152)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processIndependentAddedDataSources(ExplorerModelBuilder.java:116)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDataSources(ExplorerModelBuilder.java:105)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.access$200(ExplorerModelBuilder.java:59)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder$1.run(ExplorerModelBuilder.java:98)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1452)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2032)
SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder$1
java.lang.NullPointerException
at com.sun.tools.visualvm.application.type.EclipseApplicationTypeFactory.getName(EclipseApplicationTypeFactory.java:76)
at com.sun.tools.visualvm.application.type.EclipseApplicationTypeFactory.createApplicationTypeFor(EclipseApplicationTypeFactory.java:64)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:150)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:42)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.application.type.ApplicationTypeFactory.getApplicationTypeFor(ApplicationTypeFactory.java:74)
at com.sun.tools.visualvm.application.ApplicationDescriptor.<init>(ApplicationDescriptor.java:55)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:43)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:38)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptorFactory.getDescriptor(DataSourceDescriptorFactory.java:69)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDisplayableDataSources(ExplorerModelBuilder.java:152)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processIndependentAddedDataSources(ExplorerModelBuilder.java:116)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDataSources(ExplorerModelBuilder.java:105)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.access$200(ExplorerModelBuilder.java:59)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder$1.run(ExplorerModelBuilder.java:98)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1452)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2032)

When I launch from the command line there is an unsettling message to stdout/stderr:
bobk-mbp:~ bobk$ jvisualvm
attach: task_for_pid(1877) failed (5)

If there is no eclipse running, things are fine. All the competing PIDs show up. Whats up with that?

I am fairly certain that this used to work prior to my upgrade of OS X to Mountain Lion from Snow Leopard and JDK 1.7 from 1.6. The eclipse version hasn't changed nor has the VisualVM version (other than the jvisualvm was rev'ed when I installed JDK 1.7).



 Comments   
Comment by robertkuhar [ 16/Apr/13 11:48 PM ]

JConsole has no such problem. It sees all the PIDs all the time. Probably not relevant, huh?

Comment by thurka [ 17/Apr/13 07:02 AM ]

The following exception looks like bug in JVM:
com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded
at sun.tools.attach.BsdVirtualMachine.<init>(BsdVirtualMachine.java:90)
at sun.tools.attach.BsdAttachProvider.attachVirtualMachine(BsdAttachProvider.java:63)
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:213)
at com.sun.tools.visualvm.attach.AttachModelImpl.getVirtualMachine(AttachModelImpl.java:124)

Can you please tell me what JDK is used to run Eclipse and what JDK is used to run VIsualVM. I suspect that VisualVM is running on JDK 7 and Eclipse runs on JDK 6.

Comment by thurka [ 17/Apr/13 07:03 AM ]

The following NPE can be fixed in VisualVM:
java.lang.NullPointerException
at com.sun.tools.visualvm.application.type.EclipseApplicationTypeFactory.getName(EclipseApplicationTypeFactory.java:76)
at com.sun.tools.visualvm.application.type.EclipseApplicationTypeFactory.createApplicationTypeFor(EclipseApplicationTypeFactory.java:64)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:150)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:42)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.application.type.ApplicationTypeFactory.getApplicationTypeFor(ApplicationTypeFactory.java:74)

Comment by thurka [ 17/Apr/13 09:51 AM ]

NPE is fixed in revision 3203.





[VISUALVM-554] Bad synchronized timing with Java 64 bits compared to Java 32 bits. Created: 16/Apr/13  Updated: 16/Apr/13  Resolved: 16/Apr/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.5
Fix Version/s: None

Type: Bug Priority: Major
Reporter: grouvignac Assignee: thurka
Resolution: Cannot Reproduce Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 64 bits
JDK 64 bits 6u24
JDK 64 bits 6u43
JDK 64 bits 7u17
Jboss 4.2.0 GA

32 bits VM arguments:
-server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+DisableExplicitGC

64 bits VM arguments:
-server -Xms512m -Xmx1400m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+DisableExplicitGC


Tags:
Participants: grouvignac and thurka

 Description   

Sampling the same program with Java 32 bits and Java 64 bits does not give the same results.
There is a big difference in self time for synchronized singletons.

With 32 bits it is almost unoticiable, around 500ms.

With 64 bits Visual VM gives me a total time of 14s.
I have measured the time with System.nanoTime() and this gives me something similar to 32 bits sampling.
There are nearly 50 calls.
My understanding is that there is something buggy in this 64 bits sampling case.

I tried the latest versions of VisualVM, JDK 6 and JDK 7 without success.

For both cases there is no particular GC activity observed.
The is no concurrency in my tests.



 Comments   
Comment by thurka [ 16/Apr/13 07:52 AM ]

There is no difference in sampling code for 32bit and 64bit JVM. I need a reproducible test-case to be able to diagnose the problem.





[VISUALVM-553] Rendering issues with charts after long data display Created: 15/Apr/13  Updated: 18/Mar/14

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: None

Type: Bug Priority: Major
Reporter: jplichta Assignee: jsedlacek
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Version: 1.7.0_13 (Build 1342-120605); platform 20120605-unknown-revn
System: Linux (2.6.32-220.el6.x86_64) , amd64 64bit
Java: 1.7.0_13; Java HotSpot(TM) 64-Bit Server VM (23.7-b01, mixed mode)
Vendor: Oracle Corporation, http://java.oracle.com/
Environment: UTF-8; en_US (visualvm)
Userdir: /home/plichtaj/.visualvm/7u6
Clusters:
/usr/java/jdk1.7.0_13/lib/visualvm/platform
/usr/java/jdk1.7.0_13/lib/visualvm/visualvm
/usr/java/jdk1.7.0_13/lib/visualvm/profiler


Tags: chart charts render
Participants: _Daniels_, jplichta, jsedlacek and thurka

 Description   

After data has been charted for some time and has hit the point where it starts scrolling to the left there are some rendering issues that impact the display of the data. In this specific example I was charting heap usage for NetBeans for around 1.5hrs.

  • sometimes part of the chart are drawn over and over again, so it looks like there are repeating sections (with some horizontal rendering artifacts)
  • sometimes parts of the graph jump around
    • ex: a drop/spike drawn around 9:10AM on the X axis might jump to 9:15AM. (when this happens the vertical grid lines shift along with the data, so the grid lines are no longer aligned with the tick marks on the X axis)
  • Mousing over causes it to redraw what I presume is the correct image

I have a few screenshots and a short screencapture .ogv that demonstrates this but do not seem to have the permissions to attach them to this issue.
Thank you, Jeremy.



 Comments   
Comment by thurka [ 15/Apr/13 04:54 PM ]

Please send the files via email.

Comment by jplichta [ 15/Apr/13 07:08 PM ]

tried your dev.java.net email and it bounced. Can you email me at jplichta at gmail dot com and I will reply with the attachments? Thanks.

Comment by jplichta [ 17/Apr/13 10:10 PM ]

Please let me know the email you want me to send these attachments to and I will. Thank you.

Comment by _Daniels_ [ 18/Mar/14 05:25 PM ]

This problem still happens. I see it all the time. If I keep visualvm running for more than 1h, all the graphics become a mess.

I will try to generate a video to show de issue.

obs: When at home, using a local visualvm to monitor applications through a VPN connection, the graphics took longer to get mess, like 2 and half hour.

obs2: all the applications I monitor use this common parameters to start-up (except the heap size, which change from one app to other).

-Xmx1120M
-Xms512M
-XX:MaxPermSize=256m
-Djava.library.path=XXX
-Djava.security.auth.login.config=XXX
-Duser.timezone=XXX
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true
-Djava.rmi.server.hostname=xxxxxxxx.yyy.zz.com
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.util.logging.config.file=XXX
-Djava.endorsed.dirs=XXX
-Dcatalina.base=XXX
-Dcatalina.home=XXX
-Djava.io.tmpdir=XXX

Comment by _Daniels_ [ 18/Mar/14 06:36 PM ]

Video uploaded with this issue at:

http://youtu.be/RfdQDN93xEg

The graphic mess starts at 0:22s.





[VISUALVM-552] Update VisualVM to reflect metaspace changes Created: 27/Mar/13  Updated: 27/Jun/13  Resolved: 27/Mar/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3
Fix Version/s: 1.3.6

Type: Improvement Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

The permanent generation is being removed for JDK8. The performance counters for the permanent generation can therefore no longer exist. The metaspace has been added and performance counters for metaspace are therefore needed. VisualVM must be updated to reflect this change.
See http://bugs.sun.com/view_bug.do?bug_id=8004172 for additional details.



 Comments   
Comment by thurka [ 27/Mar/13 12:46 PM ]

Fixed in revision 3195.

Comment by thurka [ 27/Jun/13 06:32 AM ]

Support Metaspace MXBean http://bugs.sun.com/view_bug.do?bug_id=8013590 was added in revision 3236.





[VISUALVM-551] CLONE -Profiler Agent Warning: Failed to lookup cached class Created: 07/Mar/13  Updated: 07/Mar/13

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.0
Fix Version/s: 1.2.2

Type: Bug Priority: Critical
Reporter: schevuru Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 345
Tags:
Participants: schevuru and thurka

 Description   

In some cases profiler agent reports "Profiler Agent Warning: Failed to lookup cached class
<name_of_the_class>".
The problem can be reproduce with
apache-tomcat-5.5.27
Magnolia 4.2.1 EE

Steps to reproduce:
As for the Tomcat and Magnolia you can download it separately, or you
can download bundle containing both from
http://files.magnolia-cms.com/4.2.1/magnolia-enterprise-bundle-4.2.1-bundle-jdk15.tar.gz

and you can get the evaluation license from
http://registration.magnolia-cms.com/

Once you unzip the bundle, just startup tomcat using
apache-tomcat-5.5.27/bin/magnolia_control.sh

  • wait until tomcat is started (the message like "2009-12-07 17:07:17,683 INFO
    info.magnolia.module.ModuleManagerImpl: Starting module adminInterface" in the logs/catalina.out)
  • start VisualVM,
  • double click on Tomcat node,
  • open "Profiler" tab and
  • click on "CPU" button
  • observe logs/catalina.out ... you'll see bunch of messages like:
    Profiler Agent: JNI On Load Initializing...
    Profiler Agent: JNI OnLoad Initialized succesfully
    Profiler Agent: Waiting for connection on port 5140 (Protocol version:9)
    Profiler Agent: Established local connection with the tool
    Profiler Agent: 250 classes cached.
    ...
    Profiler Agent: Redefining 100 classes at idx 500, out of total 694
    Profiler Agent: Redefining 94 classes at idx 600, out of total 694
  • once profiler is connected and all classes are indexed, try to make use of Magnolia. E.g. open browser
    at http://localhost:8080/magnoliaAuthor/.magnolia/pages/adminCentral.html
  • fill in the login info (superuser/superuser) and hit the login button.
    Once you do the above you get bunch of "Profiler Agent Warning: Failed to lookup cached class
    org/apache/tomcat/util/http/MimeHeaderField" messages in the logs/catalina.out and those classes
    will not appear in the profiler.


 Comments   
Comment by schevuru [ 07/Mar/13 04:05 PM ]

I am trying to profile with VisualVM 1.3.5 and still see this issue for tomcat-6.0.36





[VISUALVM-550] SimpleXYChartDescriptor.setTooltipTimeFormat() request Created: 02/Mar/13  Updated: 02/Apr/13

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.5
Fix Version/s: None

Type: Improvement Priority: Minor
Reporter: jplichta Assignee: jsedlacek
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Any Java Environment


Tags:
Participants: jplichta and jsedlacek

 Description   

It would be useful to have more control over the time format shown in the tooltip box when hovering over points in the SimpleXYChart.

If one were to set their own tooltip time format string then it would be used instead of the format string returned in the call to TimeAxisUtils.getFormatString from the SimpleXYChartUtils.formatTime method.

Thanks,
Jeremy






[VISUALVM-549] Stored JMX connections are inadvertedly removed if connection (temporarily) refused. Created: 01/Mar/13  Updated: 11/Jun/13  Resolved: 11/Jun/13

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.5
Fix Version/s: None

Type: Bug Priority: Major
Reporter: mixil Assignee: jsedlacek
Resolution: Duplicate Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OSX 10.7.5


Tags: admin-gui
Participants: jsedlacek and mixil

 Description   

I have to set up SSH-Tunnels to access several servers via JMX.

It is convenient that VisualVM remembers my JMX connections (including password). But everytime I forget to set up the tunnel first, it gives an error about the JMX connection not accessible because of that and throws aways the complete jmxapplication from my settings. Now I have to make up the (complicated!) JMX-connection string yet again, and find out what the password was.

It should not do that. It may give an error, but it should not destruct my settings.



 Comments   
Comment by jsedlacek [ 11/Jun/13 09:05 AM ]

Duplicate of VISUALVM-415.





[VISUALVM-548] Snapshot text is missing Created: 26/Feb/13  Updated: 13/Jun/13  Resolved: 26/Feb/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.5
Fix Version/s: 1.3.6

Type: Bug Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

Take snapshot button for CPU and Memory profiling does not have 'Snapshot' text, just icon. This is regression introduced in 1.3.5.



 Comments   
Comment by thurka [ 26/Feb/13 01:50 PM ]

Fixed in revision 3190.





[VISUALVM-547] NPE at Start Fail to connect to any local JVM Created: 22/Feb/13  Updated: 25/Feb/13

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.5
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: jdsalingerjr Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 64-bit


Tags:
Participants: jdsalingerjr and thurka

 Description   

After downloading VisualVM 1.3.5 I copied the folder into C:\Program Files\visualvm. Whenever I launch visualvm.exe (even if I run as an administrator), VisualVM fails to connect to any running JVM. In the bottom right corner there is an error icon, and upon inspecting the error is listed as:

SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder$1
java.lang.NullPointerException
at com.sun.tools.visualvm.tools.jvmstat.JvmJvmstatModel.getFirstArgument(JvmJvmstatModel.java:261)

I am unable to use VisualVM at all and need to figure out why this is being blocked.
(attached is the complete logfile)

-JD



 Comments   
Comment by jdsalingerjr [ 22/Feb/13 08:28 PM ]

c:\users\921496.CORP\AppData\Roaming\VisualVM\1.3.5\var\log\messages.log:

-------------------------------------------------------------------------------
>Log Session: Friday, February 22, 2013 2:23:06 PM CST
>System Info:
Product Version = VisualVM 1.3.5
Operating System = Windows 7 version 6.1 running on x86
Java; VM; Vendor = 1.6.0_20; Java HotSpot(TM) Client VM 16.3-b01; Sun Microsystems Inc.
Runtime = Java(TM) SE Runtime Environment 1.6.0_20-b02
Java Home = C:\Program Files (x86)\Java\jdk1.6.0_20\jre
System Locale; Encoding = en_US (visualvm); Cp1252
Home Directory = C:\Users\921496.CORP
Current Directory = C:\Program Files\visualvm\bin
User Directory = C:\Users\921496.CORP\AppData\Roaming\VisualVM\1.3.5
Cache Directory = C:\Users\921496.CORP\AppData\Local\VisualVM\Cache\1.3.5
Installation = C:\Program Files\visualvm\visualvm
C:\Program Files\visualvm\profiler
C:\Program Files\visualvm\platform
Boot & Ext. Classpath = C:\Program Files (x86)\Java\jdk1.6.0_20\jre\lib\resources.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\jre\lib\rt.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\jre\lib\sunrsasign.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\jre\lib\jsse.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\jre\lib\jce.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\jre\lib\charsets.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\jre\classes;C:\Program Files (x86)\Java\jdk1.6.0_20\jre\lib\ext\dnsns.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\jre\lib\ext\localedata.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\jre\lib\ext\sunjce_provider.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\jre\lib\ext\sunmscapi.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\jre\lib\ext\sunpkcs11.jar
Application Classpath = C:\Program Files\visualvm\platform\lib\boot.jar;C:\Program Files\visualvm\platform\lib\org-openide-modules.jar;C:\Program Files\visualvm\platform\lib\org-openide-util-lookup.jar;C:\Program Files\visualvm\platform\lib\org-openide-util.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\lib\dt.jar;C:\Program Files (x86)\Java\jdk1.6.0_20\lib\tools.jar
Startup Classpath = C:\Program Files\visualvm\platform\core\core.jar;C:\Program Files\visualvm\platform\core\org-openide-filesystems.jar;C:\Program Files\visualvm\visualvm\core\com-sun-tools-visualvm-modules-startup.jar;C:\Program Files\visualvm\visualvm\core\locale\core_visualvm.jar
-------------------------------------------------------------------------------
INFO [org.netbeans.core.startup.NbEvents]: Turning on modules:
org.openide.util.lookup [8.15.2 20120926-d0f92ba97f49]
org.openide.util [8.25.1 20120926-d0f92ba97f49]
org.openide.modules [7.32.1 20120926-d0f92ba97f49]
org.openide.filesystems [7.62.1 20120926-d0f92ba97f49]
org.netbeans.api.annotations.common/1 [1.14.1 20120926-d0f92ba97f49]
org.openide.awt [7.46.1 20120926-d0f92ba97f49]
org.netbeans.api.progress/1 [1.28.1 20120926-d0f92ba97f49]
org.openide.dialogs [7.25.1 20120926-d0f92ba97f49]
org.openide.nodes [7.28.1 20120926-d0f92ba97f49]
org.openide.windows [6.55.2 20120926-d0f92ba97f49]
org.netbeans.modules.editor.mimelookup/1 [1.26.1 20120926-d0f92ba97f49]
org.openide.text [6.49.1 20120926-d0f92ba97f49]
org.netbeans.swing.tabcontrol [1.36.1 20120926-d0f92ba97f49]
org.netbeans.swing.outline [1.20.1 20120926-d0f92ba97f49]
org.openide.explorer [6.45.1 20120926-d0f92ba97f49]
org.openide.actions [6.26.1 20120926-d0f92ba97f49]
org.netbeans.modules.queries/1 [1.28.1 20120926-d0f92ba97f49]
org.openide.loaders [7.37.3 20120926-d0f92ba97f49]
org.openide.io [1.31.2 20120926-d0f92ba97f49]
org.netbeans.swing.plaf [1.25.1 20120926-d0f92ba97f49]
org.netbeans.spi.quicksearch [1.14.1 20120926-d0f92ba97f49]
org.netbeans.bootstrap/1 [2.52.2 20120926-d0f92ba97f49]
org.netbeans.core.startup/1 [1.40.1 20120926-d0f92ba97f49]
org.netbeans.modules.settings/1 [1.35.1 20120926-d0f92ba97f49]
org.netbeans.modules.sendopts/2 [2.22.1 20120926-d0f92ba97f49]
org.netbeans.modules.sampler [1.1.1 20120926-d0f92ba97f49]
org.netbeans.modules.progress.ui [1.20.1 20120926-d0f92ba97f49]
org.netbeans.modules.profiler.utilities/1 [1.22.1 20120926-d0f92ba97f49]
org.netbeans.lib.profiler/1 [1.19.2 20120926-d0f92ba97f49]
org.netbeans.lib.profiler.common/1 [1.19.1 20120926-d0f92ba97f49]
org.netbeans.modules.profiler.api/1 [1.6.1 20120926-d0f92ba97f49]
org.netbeans.lib.profiler.charts/1 [1.14.1 20120926-d0f92ba97f49]
org.netbeans.lib.profiler.ui/1 [1.19.1 20121009-773a7f1f34fd]
org.netbeans.modules.profiler.attach/2 [2.3.1 20120926-d0f92ba97f49]
org.netbeans.modules.profiler.selector.api/1 [1.20.1 20120926-d0f92ba97f49]
org.netbeans.modules.profiler.selector.ui/1 [1.17.1 20120926-d0f92ba97f49]
org.netbeans.modules.profiler/2 [2.4.1 20120926-d0f92ba97f49]
org.netbeans.modules.keyring [1.11.1 20120926-d0f92ba97f49]
org.netbeans.core/2 [3.33.1 20120926-d0f92ba97f49]
org.netbeans.modules.options.api/1 [1.26.1 20120926-d0f92ba97f49]
org.netbeans.modules.profiler.snaptracer/1 [1.8.1 20120926-d0f92ba97f49]
org.netbeans.modules.profiler.oql/2 [2.3.1 20120926-d0f92ba97f49]
org.netbeans.modules.profiler.heapwalker [1.3.1 20120926-d0f92ba97f49]
org.netbeans.modules.masterfs/2 [2.38.2 20120926-d0f92ba97f49]
org.netbeans.libs.jna/1 [1.21.1 20120926-d0f92ba97f49]
org.netbeans.modules.masterfs.windows [1.1.1 20120926-d0f92ba97f49]
org.netbeans.modules.keyring.impl [1.7.1 20120926-d0f92ba97f49]
org.netbeans.modules.editor.mimelookup.impl/1 [1.18.1 20120926-d0f92ba97f49]
org.netbeans.modules.autoupdate.services [1.33.1 20120926-d0f92ba97f49]
org.netbeans.modules.autoupdate.ui [1.27.2 20120926-d0f92ba97f49]
org.netbeans.core.windows/2 [2.49.3 20120926-d0f92ba97f49]
org.netbeans.core.ui/1 [1.31.1 20120926-d0f92ba97f49]
org.netbeans.core.nativeaccess/1 [1.16.1 20120926-d0f92ba97f49]
com.sun.tools.visualvm.uisupport/0 [1.1 121105]
com.sun.tools.visualvm.core/0 [1.4 121105]
com.sun.tools.visualvm.host/0 [1.0 121105]
com.sun.tools.visualvm.application/0 [1.6 121105]
com.sun.tools.visualvm.tools/0 [1.2 121105]
com.sun.tools.visualvm.coredump/0 [1.0 121105]
com.sun.tools.visualvm.threaddump/0 [1.0 121105]
com.sun.tools.visualvm.heapdump/0 [1.1 121105]
com.sun.tools.visualvm.profiling/0 [1.1 121105]
com.sun.tools.visualvm.sampler [2.1 121105]
com.sun.tools.visualvm.sa/0 [1.0.1 121127]
com.sun.tools.visualvm.profiler/0 [1.1 121105]
com.sun.tools.visualvm.modules.startup [1.0 121105]
com.sun.tools.visualvm.modules.appui [1.0 121105]
com.sun.tools.visualvm.jvmstat/0 [1.0 121105]
com.sun.tools.visualvm.jvm/0 [1.1 121105]
com.sun.tools.visualvm.jmx/0 [1.2 121105]
com.sun.tools.visualvm.charts/0 [1.1 121105]
com.sun.tools.visualvm.host.views/0 [1.0 121105]
com.sun.tools.visualvm.host.remote/0 [1.0 121105]
com.sun.tools.visualvm.attach/0 [1.1 121105]
com.sun.tools.visualvm.application.views/0 [1.0 121105]
WARNING [org.openide.filesystems.Ordering]: Not all children in Windows2/Modes/explorer/ marked with the position attribute: [ExplorerTopComponent.wstcref], but some are: [profiler_cp.wstcref]
SEVERE [org.openide.util.RequestProcessor]: Error in RequestProcessor com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder$1
java.lang.NullPointerException
at com.sun.tools.visualvm.tools.jvmstat.JvmJvmstatModel.getFirstArgument(JvmJvmstatModel.java:261)
at com.sun.tools.visualvm.tools.jvmstat.JvmJvmstatModel.getMainArgs(JvmJvmstatModel.java:211)
at com.sun.tools.visualvm.jvm.JVMImpl.initStaticData(JVMImpl.java:468)
at com.sun.tools.visualvm.jvm.JVMImpl.getMainClass(JVMImpl.java:138)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:148)
at com.sun.tools.visualvm.application.type.MainClassApplicationTypeFactory.createModelFor(MainClassApplicationTypeFactory.java:42)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.application.type.ApplicationTypeFactory.getApplicationTypeFor(ApplicationTypeFactory.java:74)
at com.sun.tools.visualvm.application.ApplicationDescriptor.<init>(ApplicationDescriptor.java:55)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:43)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:38)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptorFactory.getDescriptor(DataSourceDescriptorFactory.java:69)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDisplayableDataSources(ExplorerModelBuilder.java:152)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processIndependentAddedDataSources(ExplorerModelBuilder.java:116)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDataSources(ExplorerModelBuilder.java:105)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.access$200(ExplorerModelBuilder.java:59)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder$1.run(ExplorerModelBuilder.java:98)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1452)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2032)
Diagnostic information
Input arguments:
-client
-Xms24m
-Xmx256m
-XX:MaxPermSize=96m
-Dnetbeans.accept_license_class=com.sun.tools.visualvm.modules.startup.AcceptLicense
-Dsun.jvmstat.perdata.syncWaitMs=10000
-Dsun.java2d.noddraw=true
-Dsun.java2d.d3d=false
-Djdk.home=C:\Program
Files
(x86)\Java\jdk1.6.0_20
-Dnetbeans.home=C:\Program
Files\visualvm\platform
-Dnetbeans.user=C:\Users\921496.CORP\AppData\Roaming\VisualVM\1.3.5
-Dnetbeans.default_userdir_root=C:\Users\921496.CORP\AppData\Roaming\VisualVM
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=C:\Users\921496.CORP\AppData\Roaming\VisualVM\1.3.5\var\log\heapdump.hprof
-Dnetbeans.system_http_proxy=PAC
http://internet.proxy.fedex.com/
-Dsun.awt.keepWorkingSetOnMinimize=true
-Dnetbeans.dirs=C:\Program
Files\visualvm\visualvm;C:\Program
Files\visualvm\profiler
Compiler: HotSpot Client Compiler
Heap memory usage: initial 24.0MB maximum 247.5MB
Non heap memory usage: initial 34.2MB maximum 150.0MB
Garbage collector: Copy (Collections=13 Total time spent=0s)
Garbage collector: MarkSweepCompact (Collections=0 Total time spent=0s)
Classes: loaded=4468 total loaded=4468 unloaded 0
INFO [org.netbeans.core.ui.warmup.DiagnosticTask]: Total memory 4,294,967,295
INFO [null]: Total physical memory 4,294,967,295

Comment by jdsalingerjr [ 22/Feb/13 08:46 PM ]

I did notice it was connecting to a 32-bit JVM. When I switched it to a 64-bit JVM using the config file I still get the same error

Comment by jdsalingerjr [ 22/Feb/13 11:13 PM ]

Well I am still getting the error when I launch VisualVM. However, I was able to resolve the issue with not being able to connect to a JVM.

Navigate Tools -> Options -> Network, and set the Proxy configuration to either 'No Proxy' or 'Manual proxy settings'.

I can't understand how that would affect the ability to connect to a running JVM but it does. Everything (almost, still have the NPE) is now working great.

Comment by thurka [ 25/Feb/13 01:55 PM ]

This is interesting. Are you able to provide reproducible test case?

Comment by jdsalingerjr [ 25/Feb/13 02:04 PM ]

I will try it on some of our other workstations this morning.

Any specific details you're looking for?

Comment by thurka [ 25/Feb/13 02:23 PM ]

Currently I don't have an idea, why it does not work, so having the steps how to reproduce it, would be great.





[VISUALVM-546] Filtered out classes shown anyway in the profiler results Created: 22/Feb/13  Updated: 25/Feb/13

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: mauromol Assignee: thurka
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Using JVisualVM from JDK 1.7.0_15 (I don't know the corresponding version of VisualVM, maybe 1.3.4?)


Tags:
Participants: mauromol and thurka

 Description   

I tried to search for this problem in the existing issues, but I couldn't find it.

Although I set up filters before starting a profiling session, some classes that should not be profiled still appear in the results.

For example, if I set the following rule:

Profile new Runnables AND do not profile classes:
java., javax.,
sun., sunw., com.sun.*, com.cardinis.common.support.io.client.executor.PlainHttpURLConnectionHttpProvider$PlainHttpURLConnectionHttpRequest,
com.cardinis.common.support.io.client.executor.PlainHttpURLConnectionHttpProvider

I get the following methods in the hot sposts:

  • sun.net.www.http.KeepAliveCache.run()
  • javax.swing.RepaintManager$ProcessingRunnable.run()
  • com.cardinis.common.support.io.client.executor.PlainHttpURLConnectionHttpProvider$PlainHttpURLConnectionHttpRequest.doRequest(int)

Please note:
1) at least the method sun.net.www.http.KeepAliveCache.run() is included in the hot spots even if I change the filtering criteria to something like:
Profile new Runnables AND profile only classes: com.something.*
In other words, whatever I specify in the filtering criteria ("profile only" or "do not profile") in order to exclude the sun.net.** package, I always get that method in the hot spots!!

2) regarding the method com.cardinis.common.support.io.client.executor.PlainHttpURLConnectionHttpProvider$PlainHttpURLConnectionHttpRequest.doRequest(int), I suspect the problem is how I specify the inner class in the "do not profile classes" text area. I already tried to specify either:
com.cardinis.common.support.io.client.executor.PlainHttpURLConnectionHttpProvider$PlainHttpURLConnectionHttpRequest

  • or -
    com.cardinis.common.support.io.client.executor.PlainHttpURLConnectionHttpProvider.PlainHttpURLConnectionHttpRequest
    but the specified method is always included in the hot spots.


 Comments   
Comment by mauromol [ 22/Feb/13 10:14 AM ]

Sorry, I can't edit the description to fix the text formatting around the "- or -" alternatives for the syntaxes I tried to use to specify the inner class.

Moverover, JIRA has eaten some asterisks in the first block of "do not profile classes": it should be read in this way:
java.*, javax.*,
sun.*, sunw.*, com.sun.*, com.cardinis.common.support.io.client.executor.PlainHttpURLConnectionHttpProvider$PlainHttpURLConnectionHttpRequest, com.cardinis.common.support.io.client.executor.PlainHttpURLConnectionHttpProvider

Comment by thurka [ 25/Feb/13 01:13 PM ]

Do not forget to uncheck 'Profile new Runnables'. See its tooltip for details.

Comment by mauromol [ 25/Feb/13 01:19 PM ]

Yes, I read that tool tip, but I don't see any reason why new runnables shouldn't be subject to class filtering like all the other classes. Correct me if I'm wrong.

Comment by thurka [ 25/Feb/13 01:42 PM ]

'New runnables' are combined with 'Start profiling from classes'. It defines entry points for profiling (a.k.a root methods) and the class filtering is used for the code invoked from those root methods.

Comment by mauromol [ 25/Feb/13 02:06 PM ]

I see. Anyway, it's not intuitive. IMHO, it' ok for using them as root methods, but the profiling statistics of themselves, if they do not satisfy the class filtering criteria, should be filtered out in the profiling results. Unless there's another way to obtain the desired behaviour: in my real-word example, I do not want to see information about sun.net.www.http.KeepAliveCache.run() or javax.swing.RepaintManager$ProcessingRunnable.run(), they're polluting my profiling data. I could uncheck "Profile new Runnables", but in this way I would have to take extreme care to choose the correct root methods (and in a complex environment this might not be so easy).

Do you also have any suggestion about the issue I'm facing on the inner class filtering?





[VISUALVM-545] Loading profiler for OC4J fails with NullPointerException - easy fix Created: 30/Jan/13  Updated: 14/Jun/13  Resolved: 14/Jun/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.5
Fix Version/s: 1.3.6

Type: Bug Priority: Major
Reporter: cuteredstorm Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: 15 minutes
Time Spent: Not Specified
Original Estimate: 15 minutes
Environment:

Oracle OC4J and any other environment where agent is loaded by bootstrap class loader.


Tags:
Participants: cuteredstorm and thurka

 Description   

Class ProfilerActivate15 uses SystemClassLoader to access the jar it was loaded from. This use asumes that the agent (and thus ProfilerActivate15) was loaded by SystemClassLoader, which is not always the case. For instance, OC4J does not load the agent in SystemClassLoader. If visualvm is used to profile OC4J, loading of the agent fails with NullPointerException in ProfilerActivate15:78, since url=null. I recommend that the method ProfilerActivate15.activate be modified to support these cases.

Modifiy this code:
98 URL classUrl = ClassLoader.getSystemClassLoader().getResource("org/netbeans/lib/profiler/server/ProfilerActivate15.class");
99 File jar = getArchiveFile(classUrl);
to
98 URL classUrl = classLoader.getSystemClassLoader().getResource("org/netbeans/lib/profiler/server/ProfilerActivate15.class");
if (classUrl == null)
classUrl = Thread.currentThread().getContextClassLoader().getResource("org/netbeans/lib/profiler/server/ProfilerActivate15.class");
99 File jar = getArchiveFile(classUrl);



 Comments   
Comment by thurka [ 04/Feb/13 04:29 PM ]

Can you please provide steps how to reproduce it? Thanks.

Comment by cuteredstorm [ 05/Feb/13 05:52 AM ]

There are no steps other than:

  • Prepare/find an OC4J instance
  • start VisualVM (I only tried locally)
  • go to Profiler tab
  • click CPU or Memory
  • VisualVM fails to start profiler. Log shows "agent jar loaded but agent failed".

Reason for failure is described above.

Comment by thurka [ 05/Feb/13 08:43 AM ]

I am sorry, I don't know nothing about OC4J. Where do I get OC4J? Which version of OC4J should I use? How do I start it?

Comment by cuteredstorm [ 05/Feb/13 08:51 AM ]

OC4J is part of JDeveloper, although I used standalone Oracle Application Server. Version is 10.1.3.5, but I believe any version older should produce same results. 10.1.3.5 is also the latest OC4J version. All later versions of Oracle Application Server and JDeveloper use Weblogic instead of OC4J. All this software can be downloaded from oracle.com, ie http://www.oracle.com/technetwork/developer-tools/jdev/downloads/soft10135-098811.html

The change I suggested resolve a general problem when the server is not using SystemClassLoader to load the agent. If you look at the change, you will see, that it changes nothing when the original code works. But when it doesn't, it tries an alternative method. I actually believe that the alternative method is better in either case, but to minimize the impact, I suggest you use the above code so it only works, when "classUrl == null" as suggested.

Comment by thurka [ 05/Feb/13 09:15 AM ]

Thanks. I would like to find out, why ProfilerActivate15 is not loaded by SystemClassLoader. It looks strange to me. Once this is know, I can think about the fix. BTW: This bug needs to fixed filled and fixed in NetBeans, since the problem is in NetBeans code and not in VisualVM.

Comment by cuteredstorm [ 05/Feb/13 09:25 AM ]

Since I have the environment set-up, I can check things if you like, I just need to know what information you need. I can tell you already that ProfilerActivate15.class.getClassLoader() returns null, which indicates that it was loaded by the bootstrap class loader.

Comment by thurka [ 05/Feb/13 03:57 PM ]

In normal circumstances "boot class loader" is parent classloader of "system class loader" and therefore everything works fine. I don't know, why this is not true for OC4J.

Comment by cuteredstorm [ 11/Feb/13 02:55 PM ]

I have done some more research. ClassLoader.getSystemClassLoader() returns an oracle.classloader.PolicyClassLoader instance named oc4j:10.1.3. Although this is a child of bootstrap classloader, by J2EE standards (as I understand them), classes loaded by bootstrap are not always visible by child classloader. So this is indeed a bug in netbeans. Can you file it?

I used http://www.objectsource.com/j2eechapters/Ch21-ClassLoaders_and_J2EE.htm 21.1 and 21.3 for the research.

Comment by thurka [ 25/Feb/13 01:10 PM ]

system class loader has nothing to do with J2EE specification. It should delegate to bootstrap class loader.

Comment by thurka [ 14/Jun/13 11:57 AM ]

The problem is now tracked as NetBeans Profiler issue: https://netbeans.org/bugzilla/show_bug.cgi?id=231027

Comment by thurka [ 14/Jun/13 12:00 PM ]

Fixed in NetBeans Profiler. The fix was transplanted to profiler-release73 branch <http://hg.netbeans.org/releases/rev/2206ed2aaf9d> and will be available in the next VisualVM release.





[VISUALVM-544] CPU force GC etc... doesn't work Created: 30/Jan/13  Updated: 31/Jan/13

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.5
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: djschaff Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux environment, running SAP. Downloaded separate JDK 6 to use jvisualvm to monitor node.


Tags: CPU force GC thread monitor do not work on startup
Participants: djschaff and thurka

 Description   

Hi:

My name is David Schaffel. I am using jvisualvm to monitor an instance of my sap portal. I like the tool a lot, has alot of really nice features. However, it seems that some of the features and plugins don't fully work unless the JVM has been freshly started and the jvisualvm tool is running before that.

For instance, if SAP is running and portal is up, I can open jvisualvm and see memory, but not CPU. I can see visual GC, but I cannot force a GC. And I cannot see the threads either.

However, if I am running jvisualvm before I bring SAP up on the server, all of those features start working. Is this a bug, shouldn't jvisualvm be able to initialize these features whenever it is started, and not when the jvm is first starting up? Please advise, thanks, great tool!



 Comments   
Comment by thurka [ 31/Jan/13 10:58 AM ]

If you do not see CPU, it means that JMX connection to SAP portal does not work. Can you please try to use latest VisualVM 1.3.5, just to be sure that this was not fixed in the latest version. Thanks.

Comment by djschaff [ 31/Jan/13 01:23 PM ]

I am currently using version 1.3.5

Comment by thurka [ 31/Jan/13 02:48 PM ]

OK, can you please attach VisualVM messages.log. It is available in Help->About->Logfile





[VISUALVM-543] VisualVM Version 1.3.5 from JAVA 7 Update 10/11 not starting Created: 16/Jan/13  Updated: 01/Feb/13

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.5
Fix Version/s: None

Type: Bug Priority: Major
Reporter: karkre Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 64 Bit


Tags:
Participants: karkre and thurka

 Description   

VisualVM did not start, when i click on the symbol.

Ich have installed JAVA 7 Update 11.



 Comments   
Comment by karkre [ 16/Jan/13 08:17 AM ]

JAVA is also an 64 BIT JDK

Comment by karkre [ 21/Jan/13 08:06 AM ]

On JAVA 7 Update 7 VisualVM starts on Windows 64 without Errors.

Comment by thurka [ 31/Jan/13 10:49 AM ]

Are you running Java VisualVM, which is bundled with JDK 7 update 10 or do you try to run VisualVM 1.3.5?

Comment by karkre [ 31/Jan/13 11:29 AM ]

I used the version with delivers with JAVA.

Comment by thurka [ 31/Jan/13 11:57 AM ]

Just to be sure. Java VisualVM does not start If you execute jdk1.7.0_11\bin\jvisualvm.exe and it works fine if you execute jdk1.7.0_07\bin\jvisualvm.exe
Am I right?

Comment by karkre [ 31/Jan/13 12:04 PM ]

YES! I see nothing in Taskmanager or any GUI of ViusalVM.

How can i log this problem for you?

Comment by thurka [ 31/Jan/13 03:05 PM ]

This is strange, since both JDK 7u11 and JDK 7u7 contains the same version of Java VisualVM.
Can you please run jvisualvm.exe from command-line with the following argument:

C:\Users\tom>"c:\Program Files\Java\jdk1.7.0_11\bin\jvisualvm.exe" --trace c:\Windows\Temp\visualvm_log.txt

and attach c:\Windows\Temp\visualvm_log.txt file to this issue.

Comment by karkre [ 31/Jan/13 03:15 PM ]

Starting platform...

Module: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\nbexec.dll
Platform dir: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform
Parsing arguments:
--jdkhome
c:\Program Files\Java\jdk1.7.0_11
--branding
visualvm
--clusters
c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\visualvm;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\profiler
--userdir
C:\Users\karkre\AppData\Roaming/.visualvm/7u6
-J-client
-J-Xms24m
-J-Xmx256m
-J-Dsun.jvmstat.perdata.syncWaitMs=10000
-J-Dsun.java2d.noddraw=true
-J-Dsun.java2d.d3d=false
--trace
c:\visualvm_log.txt
JvmLauncher::initialize()
javaPathOrMinVersion: c:\Program Files\Java\jdk1.7.0_11
checkJava(c:\Program Files\Java\jdk1.7.0_11)
File "c:\Program Files\Java\jdk1.7.0_11\jre\bin\client\jvm.dll" does not exist
File "c:\Program Files\Java\jdk1.7.0_11\jre\bin\server\jvm.dll" exists
File "c:\Program Files\Java\jdk1.7.0_11\jre\bin\java.exe" exists
File "c:\Program Files\Java\jdk1.7.0_11\jre\bin\javaw.exe" exists
User dir: C:\Users\karkre\AppData\Roaming\.visualvm\7u6
JvmLauncher::getJavaPath()
File "C:\Users\karkre\AppData\Roaming\.visualvm\7u6\var\cache\splash.png" does not exist
File "C:\Users\karkre\AppData\Roaming\.visualvm\7u6\var\log\heapdump.hprof" does not exist
findHttpProxyFromEnv()
findProxiesFromRegistry()
getDwordFromRegistry()
keyName: Software\Microsoft\Windows\CurrentVersion\Internet settings
valueName: ProxyEnable
ProxyEnable: 1
getStringFromRegistry()
keyName: Software\Microsoft\Windows\CurrentVersion\Internet settings
valueName: ProxyServer
ProxyServer: proxy:3128
Proxy servers:
proxy: proxy:3128
socks proxy:
nonProxy:
getStringFromRegistry()
keyName: Software\Microsoft\Windows\CurrentVersion\Internet settings
valueName: ProxyOverride
ProxyOverride: "cgmoss.corp.comgroup.com;*portal.wgn;cgdecms1.comgroup.de;eisos.comgroup.de;cgdecms1.comgroup.de;cgdecms4.comgroup.de;*wgs.wuerth.com;cgrwdap1.corp.comgroup.com;*cons1.wurthnet.com;*cons2.wurthnet.com;*wuerth-egh.de;tfs.corp.comgroup.com;webmail.wuerthnet.com;autodiscover.comgroup.de;<local>
processAutoUpdateCL()...
File "C:\Users\karkre\AppData\Roaming\.visualvm\7u6\update\download\netbeans.dirs" does not exist
checkForNewUpdater() at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform
No new updater at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\update\new_updater\updater.jar
Checking for updates: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\update\download*.nbm
checkForNewUpdater() at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\visualvm
No new updater at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\visualvm\update\new_updater\updater.jar
Checking for updates: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\visualvm\update\download*.nbm
checkForNewUpdater() at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\profiler
No new updater at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\profiler\update\new_updater\updater.jar
Checking for updates: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\profiler\update\download*.nbm
checkForNewUpdater() at C:\Users\karkre\AppData\Roaming\.visualvm\7u6
No new updater at C:\Users\karkre\AppData\Roaming\.visualvm\7u6\update\new_updater\updater.jar
Checking for updates: C:\Users\karkre\AppData\Roaming\.visualvm\7u6\update\download*.nbm
Starting application...
constructClassPath()
addFilesToClassPath()
dir: C:\Users\karkre\AppData\Roaming\.visualvm\7u6
subdir: lib\patches
pattern: *.jar
Nothing found (C:\Users\karkre\AppData\Roaming\.visualvm\7u6\lib\patches*.jar)
addFilesToClassPath()
dir: C:\Users\karkre\AppData\Roaming\.visualvm\7u6
subdir: lib\patches
pattern: *.zip
Nothing found (C:\Users\karkre\AppData\Roaming\.visualvm\7u6\lib\patches*.zip)
addFilesToClassPath()
dir: C:\Users\karkre\AppData\Roaming\.visualvm\7u6
subdir: lib
pattern: *.jar
Nothing found (C:\Users\karkre\AppData\Roaming\.visualvm\7u6\lib*.jar)
addFilesToClassPath()
dir: C:\Users\karkre\AppData\Roaming\.visualvm\7u6
subdir: lib
pattern: *.zip
Nothing found (C:\Users\karkre\AppData\Roaming\.visualvm\7u6\lib*.zip)
addFilesToClassPath()
dir: C:\Users\karkre\AppData\Roaming\.visualvm\7u6
subdir: lib\locale
pattern: *.jar
Nothing found (C:\Users\karkre\AppData\Roaming\.visualvm\7u6\lib\locale*.jar)
addFilesToClassPath()
dir: C:\Users\karkre\AppData\Roaming\.visualvm\7u6
subdir: lib\locale
pattern: *.zip
Nothing found (C:\Users\karkre\AppData\Roaming\.visualvm\7u6\lib\locale*.zip)
addFilesToClassPath()
dir: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform
subdir: lib\patches
pattern: *.jar
Nothing found (c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\patches*.jar)
addFilesToClassPath()
dir: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform
subdir: lib\patches
pattern: *.zip
Nothing found (c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\patches*.zip)
addFilesToClassPath()
dir: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform
subdir: lib
pattern: *.jar
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\boot.jar
onlyIfExists: false
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-modules.jar
onlyIfExists: false
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-util-lookup.jar
onlyIfExists: false
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-util.jar
onlyIfExists: false
addFilesToClassPath()
dir: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform
subdir: lib
pattern: *.zip
Nothing found (c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib*.zip)
addFilesToClassPath()
dir: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform
subdir: lib\locale
pattern: *.jar
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\boot_ja.jar
onlyIfExists: false
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\boot_zh_CN.jar
onlyIfExists: false
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-modules_ja.jar
onlyIfExists: false
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-modules_zh_CN.jar
onlyIfExists: false
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util-lookup_ja.jar
onlyIfExists: false
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util-lookup_zh_CN.jar
onlyIfExists: false
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util_ja.jar
onlyIfExists: false
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util_zh_CN.jar
onlyIfExists: false
addFilesToClassPath()
dir: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform
subdir: lib\locale
pattern: *.zip
Nothing found (c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale*.zip)
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\dt.jar
onlyIfExists: true
File "c:\Program Files\Java\jdk1.7.0_11\lib\dt.jar" exists
addToClassPath()
path: c:\Program Files\Java\jdk1.7.0_11\lib\tools.jar
onlyIfExists: true
File "c:\Program Files\Java\jdk1.7.0_11\lib\tools.jar" exists
ClassPath: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\boot.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-modules.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-util-lookup.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-util.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\boot_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\boot_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-modules_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-modules_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util-lookup_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util-lookup_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\dt.jar;c:\Program Files\Java\jdk1.7.0_11\lib\tools.jar
JvmLauncher::start()
mainClassName: org/netbeans/Main
separateProcess: false
args:
--branding
visualvm
options:
-client
-Xms24m
-Xmx256m
-Dsun.jvmstat.perdata.syncWaitMs=10000
-Dsun.java2d.noddraw=true
-Dsun.java2d.d3d=false
-Djdk.home=c:\Program Files\Java\jdk1.7.0_11
-Dnetbeans.home=c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform
-Dnetbeans.user=C:\Users\karkre\AppData\Roaming\.visualvm\7u6
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=C:\Users\karkre\AppData\Roaming\.visualvm\7u6\var\log\heapdump.hprof
-Dnetbeans.system_http_proxy=proxy:3128
-Dnetbeans.system_http_non_proxy_hosts="cgmoss.corp.comgroup.com;*portal.wgn;cgdecms1.comgroup.de;eisos.comgroup.de;cgdecms1.comgroup.de;cgdecms4.comgroup.de;*wgs.wuerth.com;cgrwdap1.corp.comgroup.com;*cons1.wurthnet.com;*cons2.wurthnet.com;*wuerth-egh.de;tfs.corp.comgroup.com;webmail.wuerthnet.com;autodiscover.comgroup.de;<local>
-Dsun.awt.keepWorkingSetOnMinimize=true
-Dnetbeans.dirs=c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\visualvm;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\profiler
-Djava.class.path=c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\boot.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-modules.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-util-lookup.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-util.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\boot_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\boot_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-modules_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-modules_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util-lookup_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util-lookup_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\dt.jar;c:\Program Files\Java\jdk1.7.0_11\lib\tools.jar
Java DLL path: c:\Program Files\Java\jdk1.7.0_11\jre\bin\server\jvm.dll
PrepareDllPath: c:\Program Files\Java\jdk1.7.0_11\jre\bin
Cannot load c:\Program Files\Java\jdk1.7.0_11\jre\bin\server\jvm.dll. %1 ist keine zulässige Win32-Anwendung. (193)
Falling back to running Java in a separate process; DLL cannot be loaded (64-bit DLL?).
Command line:
"c:\Program Files\Java\jdk1.7.0_11\jre\bin\java.exe" "client" "-Xms24m" "-Xmx256m" "-Dsun.jvmstat.perdata.syncWaitMs=10000" "-Dsun.java2d.noddraw=true" "-Dsun.java2d.d3d=false" "-Djdk.home=c:\Program Files\Java\jdk1.7.0_11" "-Dnetbeans.home=c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform" "-Dnetbeans.user=C:\Users\karkre\AppData\Roaming\.visualvm\7u6" "-XX:+HeapDumpOnOutOfMemoryError" "-XX:HeapDumpPath=C:\Users\karkre\AppData\Roaming\.visualvm\7u6\var\log\heapdump.hprof" "-Dnetbeans.system_http_proxy=proxy:3128" "-Dnetbeans.system_http_non_proxy_hosts="cgmoss.corp.comgroup.com;*portal.wgn;cgdecms1.comgroup.de;eisos.comgroup.de;cgdecms1.comgroup.de;cgdecms4.comgroup.de;*wgs.wuerth.com;cgrwdap1.corp.comgroup.com;*cons1.wurthnet.com;*cons2.wurthnet.com;*wuerth-egh.de;tfs.corp.comgroup.com;webmail.wuerthnet.com;autodiscover.comgroup.de;<local>" "-Dsun.awt.keepWorkingSetOnMinimize=true" "-Dnetbeans.dirs=c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\visualvm;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\profiler" "-Djava.class.path=c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\boot.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-modules.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-util-lookup.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\org-openide-util.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\boot_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\boot_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-modules_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-modules_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util-lookup_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util-lookup_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util_ja.jar;c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\lib\locale\org-openide-util_zh_CN.jar;c:\Program Files\Java\jdk1.7.0_11\lib\dt.jar;c:\Program Files\Java\jdk1.7.0_11\lib\tools.jar" org/netbeans/Main "-branding" "visualvm"
processAutoUpdateCL()...
File "C:\Users\karkre\AppData\Roaming\.visualvm\7u6\update\download\netbeans.dirs" does not exist
checkForNewUpdater() at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform
No new updater at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\update\new_updater\updater.jar
Checking for updates: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\platform\update\download*.nbm
checkForNewUpdater() at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\visualvm
No new updater at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\visualvm\update\new_updater\updater.jar
Checking for updates: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\visualvm\update\download*.nbm
checkForNewUpdater() at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\profiler
No new updater at c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\profiler\update\new_updater\updater.jar
Checking for updates: c:\Program Files\Java\jdk1.7.0_11\lib\visualvm\profiler\update\download*.nbm
checkForNewUpdater() at C:\Users\karkre\AppData\Roaming\.visualvm\7u6
No new updater at C:\Users\karkre\AppData\Roaming\.visualvm\7u6\update\new_updater\updater.jar
Checking for updates: C:\Users\karkre\AppData\Roaming\.visualvm\7u6\update\download*.nbm
File "C:\Users\karkre\AppData\Roaming\.visualvm\7u6\var\restart" does not exist
onExit()
JVM in separate process, no need to restart

Comment by thurka [ 31/Jan/13 05:56 PM ]

Thanks for the log. The problem is caused by " (double-quote) in proxy settings in non-proxy hosts. I mean this:

"cgmoss.corp.comgroup.com;*portal.wgn;cgdecms1.comgroup.de;eisos.comgroup.de;cgdecms1.comgroup.de;cgdecms4.comgroup.de;*wgs.wuerth.com;cgrwdap1.corp.comgroup.com;*cons1.wurthnet.com;*cons2.wurthnet.com;*wuerth-egh.de;tfs.corp.comgroup.com;webmail.wuerthnet.com;autodiscover.comgroup.de;<local>

The fix is to remove " (double-quote) from non-proxy hosts settings.

Comment by karkre [ 01/Feb/13 07:55 AM ]

Now it works!

Can you please make check of quote character an show the user the problem, when this is very critical.

Thank you!





[VISUALVM-542] Visual VM does not seem to work with Websphere jdk Created: 24/Dec/12  Updated: 31/Jan/13  Resolved: 31/Jan/13

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.5
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: prao81 Assignee: thurka
Resolution: Works as designed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows XP


Tags:
Participants: prao81 and thurka

 Description   

Installed standalone Visual VM 1.3.5
The default jdk in the system is a websphere jdk version 1.6.0

Visual VM does not even start , fails duirng the calibration stage.
But if oracle jdk is installed from the oracle site , then the calibration works and a websphere application can be profiled once below properties are set

-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=3333 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false

Why doesnt the visual vm work with websphere jdk ?



 Comments   
Comment by thurka [ 31/Jan/13 10:45 AM ]

VisualVM is developed to run on Sun/Oracle JDK, however it can be used to monitor other vendors JDKs (like IBM).





[VISUALVM-541] MBean graph Created: 20/Dec/12  Updated: 20/Dec/12

Status: Open
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3.5
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: tcanvn Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS: All


Tags:
Participants: tcanvn and thurka

 Description   

Graphs/Data of mbeans in MBean plugin currently disappear after the application that contains mbeans terminated.
It is more reasonable/useful if we can review the graphs/data after the application stops.
I tried to find the log or cache of mbean data but I couldn't find them.






[VISUALVM-540] DisplayName property for JMX connection when opening from openjmx Created: 17/Dec/12  Updated: 31/Jan/13  Resolved: 31/Jan/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.5
Fix Version/s: 1.3.4

Type: Improvement Priority: Major
Reporter: ganeshkantu Assignee: thurka
Resolution: Works as designed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 32/64-bit, JDK7u10


Tags: openjmx command-line
Participants: ganeshkantu and thurka

 Description   

The --openjmx commandLine option take only hostname:port as an input right now. This results in VisualVM displaying hostname:port (pid:xxxx) in the GUI. There should be an option to pass a displayName to openjmx so this could be used to create the JMX connection and the GUI picks this to display instead.



 Comments   
Comment by thurka [ 31/Jan/13 10:41 AM ]

You can start your application with -Dvisualvm.display.name="Your_name" and your application will be named "Your_name" in VisualVM. See this and this feature requests for details. Note that you have to use VisualVM 1.3.4+ or Java VisualVM from JDK 7 Update 6 or newer.





[VISUALVM-539] Support headless CPU/memory snapshot of finite duration java apps Created: 06/Dec/12  Updated: 06/Dec/12

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: fommil Assignee: thurka
Resolution: Unresolved Votes: 3
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: fommil and thurka

 Description   

... preferably with easy use from Maven.

This would be an incredibly useful way to be able to automatically obtain snapshots in development environments.

Even being able to automatically register a JVM instance AND start CPU/memory snapshot recording from the command line / Maven would be very useful.






[VISUALVM-538] hostname vs localhost with 2 machines on the net Created: 01/Dec/12  Updated: 31/Jan/13

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.5
Fix Version/s: None

Type: Bug Priority: Major
Reporter: oshyshko Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Mac OS X 10.7 / Oracle JDK 1.7 / Bundled with Mac OS X JDK 1.6


Tags: ip hostname localhost local visualvm mac java7
Participants: oshyshko and thurka

 Description   

I have 2 freshly installed MacBooks.
They have addresses 192.168.1.2 and 192.168.1.3 in my Wi-Fi network.
Both of them are turned on.

I use the second laptop (with 192.168.1.3)
I launch a local Java program that I want to profile (under JVM 1.7).
I launch a local VisualVM after that (under same JVM 1.7).

VisualVM attaches to program JVM, bur fails to show CPU graph.
Instead of CPU I graph it says "Not supported for this JVM".

When open VisualVM log I can see:
=============================================
INFO [com.sun.tools.visualvm.jmx.impl.JmxModelImpl]: connect(6984)
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
at java.net.Socket.connect(Socket.java:579)
at java.net.Socket.connect(Socket.java:528)
at java.net.Socket.<init>(Socket.java:425)
at java.net.Socket.<init>(Socket.java:208)
at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:40)
at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:146)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:613)
Caused: java.rmi.ConnectException: Connection refused to host: 192.168.1.2; nested exception is:
java.net.ConnectException: Connection refused
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:619)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:128)
at javax.management.remote.rmi.RMIServerImpl_Stub.newClient(Unknown Source)
at javax.management.remote.rmi.RMIConnector.getConnection(RMIConnector.java:2370)
at javax.management.remote.rmi.RMIConnector.connect(RMIConnector.java:296)
at com.sun.tools.visualvm.jmx.impl.JmxModelImpl$ProxyClient.tryConnect(JmxModelImpl.java:476)
=============================================

Clearly, a laptop on which I am running the program + Visual VM, both locally, which has IP 192.168.1.3 tries to connect to its neighbour with IP 192.168.1.2 .

If I turn off Wi-Fi on laptop with IP 192.168.1.3, and re-run the program + JVM...
...suddenly it works (I can see CPU graph)

If I turn on Wi-Fi on back on laptop with IP 192.168.1.3, then the problem is back (no CPU graph, I see it's attempting to connect to neighbour 192.168.1.2).

Now, if I run a Java program on first laptop with IP 192.168.1.2, I can see the CPU grap when on Visual VM.

Observation:

  • telemetry and memory profiling works with "localhost" when attaching to local JVM
  • CPU profiling / sampling doesn't work when attaching to local JVM (it uses "hostname" to resolve local host)

Why is it happening:

When Mac OS X is installed, the hostname is set to default (regardless of System Preferences > Sharing > Computer Name):

$ hostname
macbook

So "ping `hostmame`" will actually (quite often) ping neighbors on Wi-Fi.
Sometimes it will resolve just fine to its own (external) IP.

Conclusion:
Apparently, different parts of VisualVM (CPU vs Memory and telemetry) use different ways to resolve "local host".

Fix:
I believe it is preferred to skip host resolution for local host (use loopback IP instead).

Workaround:
If you ran into a similar problem, try changing your "host name".
Here is how to change host name on Mac OS X

$ sudo scutil --set HostName NEW_HOSTNAME

Then reboot.



 Comments   
Comment by thurka [ 31/Jan/13 10:16 AM ]

VisualVM uses different technologies (some of them are using TCP/IP some are not). This is the reason, why some data are always available. For local application monitoring, VisualVM does no host resolution. The problem seems to be in JDK. Can you try the same scenario with JDK 6?

Comment by oshyshko [ 31/Jan/13 11:00 AM ]

Unfortunately I don't have the setup to check it with JDK6 (it was a long time ago).

You are saying:
> For local application monitoring, VisualVM does no host resolution.

I could be wrong, but I have an observation that tells the opposite.

By some means its is affected by host name clash.
It does host resolution for local applications, otherwise it would not connect to external IP like 192.168.1.3 (instead of using loopback address 127.0.0.1).

It is probably done implicitly by resolving "localhost" IP from VisualVM code, but then it goes wrong deeper in JDK code and could be a JDK bug as you say.

However it doesn't mean that it could not be (or should not be) fixed in VisualVM code.
Why not just use loopback addresses like 127.0.0.1 instead of "localhost"? (I am not sure that this will work, just guessing)

Comment by thurka [ 31/Jan/13 12:40 PM ]

If you still have those two MacBooks running Mac OS X 10.8.2, you can test it with JDK 6.

For local connection VisualVM uses PID to identify the monitoring process. The rest is done by JDK, so I still believe that the problem is in JDK and not in VisualVM.





[VISUALVM-537] JVisualVM is unable to connect to a service using the "--openpid [PID]" commandline arg. Created: 30/Nov/12  Updated: 10/Dec/12

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.2
Fix Version/s: None

Type: Bug Priority: Major
Reporter: chriss.dev Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Win7


File Attachments: Text File messages.log    
Tags:
Participants: chriss.dev and thurka

 Description   

I have an application that is running as a win-service (using Apache-Procrun). I want to monitor that application with JVisualVM. I've used the commandline argument --openpid <PID> without success, ironically the old JConsole managed to connect to that application.

I also checked all issues with the %TMP%\hsperfdata_username-Directory that are described in the JVisualVM-Trouble Shooting Guide. Its all well.

How can i get the JVisualVM to monitor my app?

Please also answer to the corresponding stackoverflow question : http://stackoverflow.com/questions/13625812/jvisualvm-is-unable-to-connect-to-process-using-the-openpid-argument



 Comments   
Comment by thurka [ 30/Nov/12 02:24 PM ]

See the following page <https://blogs.oracle.com/nbprofiler/entry/monitoring_java_processes_running_as>. It will show you how you can monitor your application.

Comment by chriss.dev [ 30/Nov/12 04:33 PM ]

Ohh this a lot of work to do, why is the old jconsole able to connect and JvisualVM not? Its feel like a bug? At a failed startup the JVVM should give a hint what to do, like presenting a link to the blog you posted.

This should be fixed.

Comment by thurka [ 30/Nov/12 04:53 PM ]

It should work the same way as jconsole. Can you attach Java VisualVM log file? Do you see your application when you run Java VisualVM (without any parameter)?
VisualVM cannot give you link to the blog, since there could a lot of other different cases, not just the one with monitoring windows service app.

Comment by chriss.dev [ 04/Dec/12 09:00 AM ]

Can you attach Java VisualVM log file?

Here is the requested Log-File: messages.log

Do you see your application when you run Java VisualVM without any parameter)?

No, there is nothing!

Comment by thurka [ 08/Dec/12 11:41 AM ]

I was able to reproduce it, but jconsole only works this way on Windows XP and it is probably a side-effect of Attach API bug and not a jconsole feature. jconsole itself does not display windows service app, you need to specify PID directly. I think it is more convenient to start your windows service app with enabled JMX service and use JMX connection on a specific port. This way you don't need to look up process PID.

Comment by chriss.dev [ 10/Dec/12 12:20 PM ]

Thanks using a JMX connection works! For the record here one can find how to setup a JMX connection-> Connecting to JMX Agents Explicitly





[VISUALVM-536] Browse by Object hierarchy Created: 28/Nov/12  Updated: 30/Nov/12  Resolved: 30/Nov/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: fommil Assignee: thurka
Resolution: Works as designed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: fommil and thurka

 Description   

I was really impressed by this tool - the live sampling in particular is very useful.

However, I was bemused to discover that there is no way to view the object hierarchy in either CPU or memory profiling/sampling mode. This was a feature in Netbeans and allowed one to easily discover bottlenecks in a program.

For example, I recently profiled an app and found a memory bottleneck in LinkedHashMap. Where these objects were being stored was anybody's guess - although it did help me to begin an investigation. Similar situations are obvious for CPU profiling - a common routine is the bottleneck, but in which context is it the cause?

Please support object hierarchy based analysis of both CPU and memory.



 Comments   
Comment by thurka [ 30/Nov/12 02:33 PM ]

I am not sure what do you mean by 'view the object hierarchy', but I guess that if you take 'Snapshot' of live data, you will get what are you looking for. Am I right?

Comment by fommil [ 30/Nov/12 02:38 PM ]

Goodness me! That is what I was after. This best feature is completely hidden away!

Comment by thurka [ 30/Nov/12 02:50 PM ]

Ok, closing.





[VISUALVM-535] Please add 1.3.5 as potential version in the bug tracker Created: 21/Nov/12  Updated: 11/Jun/13  Resolved: 11/Jun/13

Status: Resolved
Project: VisualVM
Component/s: www
Affects Version/s: None
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: sylvestre Assignee: Unassigned
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: jsedlacek and sylvestre

 Description   

For now, the max version is 1.3.4



 Comments   
Comment by jsedlacek [ 11/Jun/13 10:55 AM ]

1.3.5 already available as Released Version, closing.





[VISUALVM-534] netbeans-profiler-visualvm_releaseXYZ.tar.gz is not present for 1.3.5 Created: 21/Nov/12  Updated: 07/Oct/13  Resolved: 07/Oct/13

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.4
Fix Version/s: 1.3.5

Type: Improvement Priority: Major
Reporter: sylvestre Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: sylvestre and thurka

 Description   

netbeans-profiler-visualvm_releaseXYZ.tar.gz is not present for 1.3.5
It is available with version 1.3.4:
netbeans-profiler-visualvm_release711.tar.gz

thanks



 Comments   
Comment by thurka [ 07/Oct/13 06:52 AM ]

It is available here: <https://java.net/projects/visualvm/downloads/directory/release135>





[VISUALVM-533] VisualVM blocks Eclipse Juno Created: 21/Nov/12  Updated: 30/Nov/12  Resolved: 26/Nov/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.5
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: philho Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 Pro
Java 1.7.0_5 or _9, 64-bit
Eclipse Juno (4.2)


Tags: eclipse juno freeze
Participants: philho and thurka

 Description   

Selected version 1.3.4 in the Affects Version/s list, because 1.3.5 isn't listed yet...

When I run VisualVM 1.3.5 (standalone) on Windows 7 Pro, Eclipse Juno (4.2, 64bit, run with Java 1.7.0_5 or _9) becomes frozen: I cannot bring it to front from the task bar, although I can see it in the small preview. I can iconify windows to see the window, but it doesn't react to clicks, etc. As if a glass pane was in front of it. Windows doesn't report it as non responsive. A simple close window command from the task bar is ineffective, I have to kill the process from the task manager.

Closing VisualVM doesn't solve the issue...

If I start VisualVM first, Eclipse remains stuck on the splash screen.



 Comments   
Comment by philho [ 21/Nov/12 10:31 AM ]

Same problem with Eclipse Indigo (3.7) on similar environment.
Eclipse is seen as "Local application", with a generic icon.
If I run the JVisualVM of Java 1.7.0_09, it shows Eclipse by its name, with its icon, and the problem doesn't happen.

Comment by thurka [ 23/Nov/12 10:01 AM ]

Can you please tell me on which JDK (32bit or 64bit) do you run VisualVM 1.3.5 ? It looks like JVisualVM is running 64bit JDK, while VisualVM 1.3.5 is running 32bit JDK.

Comment by thurka [ 23/Nov/12 04:57 PM ]

We can confirm that this is happening when you run VisualVM on different architecture (32bit versus 64bit) than monitored application. This is WIndows only issue.

Comment by philho [ 24/Nov/12 06:21 PM ]

Ah, since the binary is a simple exe, I had no second thoughts about this...
I am not in front of the computer where I reported this, but I know that the installed JRE (in the system) is Java 7, 32bit edition, because we have to run our software with this version from Java Web start.
JAVA_HOME might point somewhere else (a JDK), but I don't know if you use this environment variable.

As reported, Eclipse does run on a 64bit JVM.

Comment by thurka [ 26/Nov/12 01:30 PM ]

Fixed in revision 3176.

bugfix #533, on Windows, try to attach only to process with he the same architecture (32bit/64bit)

Comment by philho [ 27/Nov/12 06:18 AM ]

You mean VisualVM attaches itself to all Java processes it finds as soon as it starts?
Because the freezing happens when I run it, without even taking an action in it.

It is great if you found a fix.

How do we choose on which VM VisualVM will run? On Windows, it is a simple .exe file, I see no .ini file like Eclipse has (allowing to specify the Java to use). I don't know if it uses the default Java runtime put at C:\Windows\system32\java.exe by the last Java installer, or the one specified by JAVA_HOME (not really, actually, according to my test) or something else.

I mean, I might want to examine 32- or 64-bit Java programs, so I need to run VisualVM with the same VM than the one they use (I always have several JDK on my system...), so I need a mean (command line option?) to specify it.

Comment by thurka [ 27/Nov/12 08:13 AM ]

Try to run
visualvm.exe --help
from commandline to get list of commandline options.

Comment by thurka [ 30/Nov/12 08:03 AM ]

The fix is also available on 1.3.5 plugin center.





[VISUALVM-532] VisualVM closes the JVM abnormally Created: 20/Nov/12  Updated: 23/Nov/12

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: vidhyadharantechdays Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

windows 2008 server


File Attachments: File attachment[1].cgi_id=128027     File attachment[1].cgi_id=128028     File attachment[1].cgi_id=128029    
Tags:
Participants: thurka and vidhyadharantechdays

 Description   

I try to profile with visualVM via JMX, The JVM closes automatically.
Please find the attached

Duplicate Reference :
http://netbeans.org/bugzilla/show_bug.cgi?id=222356






[VISUALVM-531] java.lang.OutOfMemoryError: PermGen space Created: 05/Nov/12  Updated: 05/Nov/12

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: Stephen_Fernandes Assignee: Unassigned
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 Professional 64 bit


Tags:
Participants: Stephen_Fernandes

 Description   

Getting the below error while profiling the application.The JVM parameters are :
-Xms512M
-Xmx1024M
-XX:MaxPermSize=512M

However the sampling of application works fine.
The problem is only when the visual vm tries to profile the classes and it goes out of memory.

java.lang.OutOfMemoryError: PermGen space
at java.lang.String.intern(Native Method)
at org.netbeans.lib.profiler.utils.StringUtils.utf8ToString(StringUtils.java:394)
at org.netbeans.lib.profiler.classfile.ClassFileParser.utf8AtCPIndex(ClassFileParser.java:596)
at org.netbeans.lib.profiler.classfile.ClassFileParser.readMethods(ClassFileParser.java:451)
at org.netbeans.lib.profiler.classfile.ClassFileParser.parseClassFile(ClassFileParser.java:118)
at org.netbeans.lib.profiler.classfile.DynamicClassInfo.<init>(DynamicClassInfo.java:105)
at org.netbeans.lib.profiler.classfile.ClassPath.getClassInfoForClass(ClassPath.java:237)
at org.netbeans.lib.profiler.classfile.ClassRepository.tryLoadRealClass(ClassRepository.java:729)
at org.netbeans.lib.profiler.classfile.ClassRepository.lookupClass(ClassRepository.java:705)
at org.netbeans.lib.profiler.classfile.ClassRepository.lookupClass(ClassRepository.java:470)
at org.netbeans.lib.profiler.instrumentation.ClassManager.javaClassForName(ClassManager.java:198)
at org.netbeans.lib.profiler.instrumentation.RecursiveMethodInstrumentor1.getMethodsToInstrumentUponClassLoad(RecursiveMethodInstrumentor1.java:193)
at org.netbeans.lib.profiler.instrumentation.Instrumentor.createFollowUpInstrumentMethodGroupResponseForCallGraph(Instrumentor.java:363)
at org.netbeans.lib.profiler.instrumentation.Instrumentor.createFollowUpInstrumentMethodGroupResponse(Instrumentor.java:248)
at org.netbeans.lib.profiler.ProfilerClient.instrumentMethodGroupFollowUp(ProfilerClient.java:1822)
at org.netbeans.lib.profiler.ProfilerClient.access$300(ProfilerClient.java:87)






[VISUALVM-530] Random deadlock when starting VisualVM Created: 26/Oct/12  Updated: 06/Nov/12  Resolved: 06/Nov/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.4
Fix Version/s: 1.3.5

Type: Bug Priority: Critical
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

File Attachments: Text File threaddump.txt    
Tags:
Participants: jsedlacek and thurka

 Description   

VisualVM randomly/rarely hangs showing the splash screen and has to be killed.



 Comments   
Comment by jsedlacek [ 26/Oct/12 06:51 PM ]

Fixed in revision 3154.

Comment by thurka [ 06/Nov/12 08:50 PM ]

reopen - need to change Fix Version

Comment by thurka [ 06/Nov/12 08:53 PM ]

Fixed in 1.3.5





[VISUALVM-529] Deadlock detector throws NoSuchMethodException on JDK 1.5 Created: 26/Oct/12  Updated: 06/Nov/12  Resolved: 26/Oct/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.3
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

File Attachments: Text File messages.log    
Tags:
Participants: thurka

 Description   

The following exception is thrown when opening application:
java.lang.NoSuchMethodException: Operation findDeadlockedThreads does not exist.

The application must run on JDK 5 and JMX must be enabled.
See attached messages.log for full exception.



 Comments   
Comment by thurka [ 26/Oct/12 09:09 PM ]

Fixed in revision 3155.





[VISUALVM-528] SysTray plugin throwing AWTException on VisualVM startup on Ubuntu 12.04 Created: 26/Oct/12  Updated: 06/Nov/12  Resolved: 06/Nov/12

Status: Resolved
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3.4
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: jsedlacek and thurka

 Description   

Likely caused by Unity which doesn't seem to allow creating tray icons even though SystemTray.isSupported() returns true.



 Comments   
Comment by jsedlacek [ 26/Oct/12 01:18 PM ]

Fixed in revision 3149.

Comment by thurka [ 06/Nov/12 08:50 PM ]

reopen - need to change Fix Version

Comment by thurka [ 06/Nov/12 08:54 PM ]

Fixed in 1.3.5





[VISUALVM-527] NPE when restoring saved core dumps Created: 24/Oct/12  Updated: 06/Nov/12  Resolved: 06/Nov/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.4
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: jsedlacek and thurka

 Description   

Steps:

1/ Add a core dump to VisualVM
2/ Create a thread dump and/or heap dump from the core dump
3/ Restart VisualVM

A dialog is shown that some core dumps cannot be restored and NPEs are logged into logfile.



 Comments   
Comment by jsedlacek [ 24/Oct/12 02:11 PM ]

Fixed in 3145.

Comment by thurka [ 06/Nov/12 08:46 PM ]

reopen - need to change Fix Version

Comment by thurka [ 06/Nov/12 08:54 PM ]

Fixed in 1.3.5





[VISUALVM-526] Update visualvm launchers Created: 20/Oct/12  Updated: 06/Nov/12  Resolved: 25/Oct/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3
Fix Version/s: 1.3.5

Type: Task Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

The visualvm launchers are very old and was not updated since VisualVM 1.x . It would be nice to update them to match NetBeans 7.2.1 launchers.



 Comments   
Comment by thurka [ 25/Oct/12 09:18 AM ]

Fixed in trunk.
revision 3141 : issue #526, windows launcher updated to NB 7.2
revision 3142 : issue #526, unix launcher updated to NB 7.2
revision 3143 : issue #526, visualvm.conf updated to NB 7.2





[VISUALVM-525] CSV Export colums incorrect and values shouldn't have a unit Created: 18/Oct/12  Updated: 06/Nov/12  Resolved: 22/Oct/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: jtheuer Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Version:
1.7.0_07 (Build 1342-120605); platform 20120605-unknown-revn
System:
Linux (3.2.0-32-generic) , amd64 64bit
Java:
1.7.0_07; Java HotSpot(TM) 64-Bit Server VM (23.3-b01, mixed mode)
Vendor:
Oracle Corporation, http://java.oracle.com/
Environment:
UTF-8; en_US (visualvm)
Userdir:
/home/jan/.visualvm/7u6
Clusters:
/usr/lib/jvm/java-7-oracle/lib/visualvm/platform /usr/lib/jvm/java-7-oracle/lib/visualvm/visualvm /usr/lib/jvm/java-7-oracle/lib/visualvm/profiler


Tags: csv export
Participants: jtheuer and thurka

 Description   

The csv export export column headers don't match the data (there is a column for percent bar but no data). Additionally, it'd be much easier to work with the data if the unit "ms" would be removed from the export.

Cheers,

Jan



 Comments   
Comment by thurka [ 20/Oct/12 05:40 AM ]

Can you please provide steps how to reproduce this issue? Can you attach the incorrect CSV file? Thanks.

Comment by jtheuer [ 22/Oct/12 01:24 PM ]

1.) Sample an Application (CPU)
2.) Create Snapshot
3.) Open "Hot Spot" tab
4.) Save as csv file.

Result:

"Hot Spots - Method","Self time [%]","Self time","Self time (CPU)","Invocations"
"org.springframework.jdbc.core.JdbcTemplate.query()","19.4049","860683.616 ms","19"

There are 5 columns in row 0 and 4 columns in row 1

Comment by thurka [ 22/Oct/12 01:37 PM ]

Thanks for the steps.

Comment by thurka [ 22/Oct/12 01:38 PM ]

This is tracked as http://netbeans.org/bugzilla/show_bug.cgi?id=208530 and already fixed in dev. builds.





[VISUALVM-524] Heap Dump and GC are greyed out - JDK 1.7 Created: 17/Oct/12  Updated: 20/Oct/12  Resolved: 20/Oct/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: None

Type: Bug Priority: Major
Reporter: adamp312 Assignee: Unassigned
Resolution: Invalid Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

windows 7 64 bit


Tags:
Participants: adamp312

 Description   

I am having severe lag issues with a trading application that we use..the heap dump and GC buttons are greyed out. I need this functionality to resolve the issue with our vendor who provides the software.

please let me know as soon as possible what I can do to resolve the issue



 Comments   
Comment by adamp312 [ 17/Oct/12 04:20 PM ]

please close the ticket, our software vendors developers fixed the issue. Sorry I could not post the resolution





[VISUALVM-523] The eclipse plugin launcher fails to open a JUnit4 test Created: 17/Oct/12  Updated: 17/Oct/12

Status: Open
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3.4
Fix Version/s: None

Type: Bug Priority: Major
Reporter: khal100 Assignee: Unassigned
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS: Windows XP (5.1) Service Pack 3
Architecture: x86 32bit
Processors: 2

Version: Helios Service Release 2
Build id: 20110218-0911


Tags: eclipse_plugin junit4
Participants: khal100

 Description   

The Eclipse launcher for VisualVM 1.3.4 in eclipse 3.6 (Version: Helios Service Release 2
Build id: 20110218-0911) does not lauch the Junit4 test (application). I have followed the instructions to use Junit (keep junit running flag and launching the VisualVm Launcher) and tried various options but every time VisualVM does launch but the application is not attached. A warning dialogue box appears with the message "Cannot open requested application".






[VISUALVM-522] Memory profiling breaks JConsole Created: 10/Oct/12  Updated: 10/Oct/12

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.4
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: jsedlacek Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 64bit, JDK 7u7 64bit


File Attachments: File threaddump-1349872293625.tdump    
Tags:
Participants: jsedlacek and thurka

 Description   

Started jconsole.exe, started VisualVM 1.3.4, switched to Profiler tab and clicked the Memory button. JConsole hangs, thread dump from its JVM attached.






[VISUALVM-521] NPE in memory profiling Created: 08/Oct/12  Updated: 11/Oct/12  Resolved: 09/Oct/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: 1.3.4

Type: Bug Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

NPE is thrown when context menu is invoked in memory profiling.
Steps:
1) start memory profiling (default settings)
2) wait for data
3) invoke context menu on some class
4) NPE is thrown, see below:
java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1043)
at java.awt.Container.add(Container.java:363)
at javax.swing.JPopupMenu.add(JPopupMenu.java:264)
at org.netbeans.lib.profiler.ui.memory.LiveLivenessResultsPanel.getPopupMenu(LiveLivenessResultsPanel.java:404)
at org.netbeans.lib.profiler.ui.memory.MemoryResultsPanel$5.mouseClicked(MemoryResultsPanel.java:256)
at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:253)
at java.awt.Component.processMouseEvent(Component.java:6385)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3275)
at org.netbeans.lib.profiler.ui.components.JExtendedTable.processMouseEvent(JExtendedTable.java:284)
at java.awt.Component.processEvent(Component.java:6147)
at java.awt.Container.processEvent(Container.java:2083)
at java.awt.Component.dispatchEventImpl(Component.java:4744)
at java.awt.Container.dispatchEventImpl(Container.java:2141)
at java.awt.Component.dispatchEvent(Component.java:4572)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4619)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4289)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4210)
at java.awt.Container.dispatchEventImpl(Container.java:2127)
at java.awt.Window.dispatchEventImpl(Window.java:2489)
at java.awt.Component.dispatchEvent(Component.java:4572)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:704)
at java.awt.EventQueue.access$400(EventQueue.java:82)
at java.awt.EventQueue$2.run(EventQueue.java:663)
at java.awt.EventQueue$2.run(EventQueue.java:661)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:677)
at java.awt.EventQueue$3.run(EventQueue.java:675)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:674)
[catch] 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)



 Comments   
Comment by thurka [ 08/Oct/12 07:20 PM ]

This is regression in VisualVM 1.3.4

Comment by thurka [ 08/Oct/12 07:47 PM ]

Fixed by http://netbeans.org/bugzilla/show_bug.cgi?id=219723

Comment by thurka [ 09/Oct/12 02:01 PM ]

Fixed in profiler binaries and back-ported to 1.3.4 and 7u6.





[VISUALVM-520] Extend KillApplication action to also use kill -9 Created: 04/Oct/12  Updated: 06/Nov/12  Resolved: 04/Oct/12

Status: Resolved
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3
Fix Version/s: 1.3.5

Type: Improvement Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

KillApplication action from KillApplication plugin uses simple 'kill' command to politely kill selected java application. However in some cases the application does not respond to simple 'kill' command. It would be nice to be able to use kill -9 to kill those hanged java applications.



 Comments   
Comment by thurka [ 04/Oct/12 11:04 AM ]

Done in revision 3111.
The application is first killed with 'kill' command. If it is not killed after 5 seconds, it is killed with 'kill -9'. Progress was added to show the user that the kill action is running.





[VISUALVM-519] Sample action incorrectly enabled Created: 03/Oct/12  Updated: 06/Nov/12  Resolved: 03/Oct/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.2
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: jsedlacek

 Description   

Sample action is always enabled, causes various exceptions to be thrown when invoked for an unsupported application (for example jps reports '-- main class information unavailable'). Also affects simply opening the application (initializing Sampler subtab UI).



 Comments   
Comment by jsedlacek [ 03/Oct/12 01:26 PM ]

Fixed in revision 3109.





[VISUALVM-518] MBeans: Improve error message when invoke operation failed Created: 02/Oct/12  Updated: 06/Nov/12  Resolved: 02/Oct/12

Status: Resolved
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3.4
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

Invoke operation in MBeans tab can throw runtime exception at remote site. If this this custom exception, which class is not part of JDK, VisualVM displays cryptical error message. See this post at stackoverflow for more details <http://stackoverflow.com/questions/10243528/avoid-classcastexception-in-jmx-call-via-jvisualvm-due-to-custom-exception-class>



 Comments   
Comment by thurka [ 02/Oct/12 09:21 AM ]

Error message improved.
Fixed in revision 3108.





[VISUALVM-517] Open .npss files in timeline Created: 27/Sep/12  Updated: 06/Nov/12  Resolved: 08/Oct/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.4
Fix Version/s: 1.3.5

Type: Improvement Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

Currently both npss and nps files are handles similarly and opens CPU snapshot window. NetBeans can open npss file with timeline, which displays more information. It would be nice to reuse NetBeans code in VisualVM and add the functionality for npss files.



 Comments   
Comment by thurka [ 08/Oct/12 12:36 PM ]

Done in revisions 3099, 3100, 3102 and 3105.





[VISUALVM-516] VisualVM does not recognize itself Created: 27/Sep/12  Updated: 06/Nov/12  Resolved: 27/Sep/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows only problem


Tags:
Participants: thurka

 Description   

VisualVM does not recognize itself when executed from IDE or from ant script. It is recognized as NetBeans platform application.



 Comments   
Comment by thurka [ 27/Sep/12 10:58 AM ]

Fixed in revision 3095.





[VISUALVM-515] Memory Sampling Not available from Mac OS client to Linux server Created: 26/Sep/12  Updated: 26/Sep/12  Resolved: 26/Sep/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: None

Type: Bug Priority: Major
Reporter: frankgrimes97 Assignee: Unassigned
Resolution: Works as designed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS X 10.8.2 client:
ava version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10-428-11M3811)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01-428, mixed mode)

Gentoo server:
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)


Tags:
Participants: frankgrimes97 and jsedlacek

 Description   

I've written a custom javaagent with a premain hook as outlined here: https://blogs.oracle.com/jmxetc/entry/jmx_connecting_through_firewalls_using

Instead of using RMI I am starting a JMXMP connector as outlined in this post: http://blog.markfeeney.com/2010/10/jmx-through-ssh-tunnel.html

It's all working except that the Sample Memory button is disabled.
It says "Memory Sampling Not available. Cannot connect to target application. Make sure the application is running on a supported JDK 6 or JDK 7."

When running through the same JMXMP agent from an OS X client to a Java process on OS X it all works as expected.



 Comments   
Comment by frankgrimes97 [ 26/Sep/12 02:42 PM ]

Note that I also tried with 1.7.0_07 and it's also exhibiting the same problem.

OS X 10.8.2 client:

java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

Gentoo server:

java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)

Comment by jsedlacek [ 26/Sep/12 04:18 PM ]

Actually this works as designed - memory sampling is only available for locally running processes. Because of the tunneling VisualVM thinks it's a local process, otherwise it would display "Not available. Remote applications are not supported." But still you're monitoring a remote process for which the memory sampling isn't supported.





[VISUALVM-514] Add support for obfuscated applications Created: 06/Sep/12  Updated: 06/Sep/12

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.4
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: nicoulaj Assignee: Unassigned
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags: obfuscation proguard
Participants: nicoulaj

 Description   

It would be nice if VisualVM had support for obfuscated applications, ie showing the real package/class/method/field names if user provides the obfuscation "map" file. Yourkit supports this feature. ProGuard has an easily embeddable API for deobfuscating.

This could be implemented as a generic support for something like "display item transformer", so plugins can register transformers on package/class/method/field names, and support for specific obfuscation tool is provided as a separate plugin.






[VISUALVM-513] Unidentified developer when run on OS X Mountain Lion Created: 07/Aug/12  Updated: 08/Nov/12  Resolved: 08/Nov/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: 1.3.5

Type: Bug Priority: Minor
Reporter: rparada Assignee: thurka
Resolution: Fixed Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS X 10.8 (Mountain Lion)


Tags: osx mountain-lion
Participants: rparada and thurka

 Description   

When run on OS X 10.8 (Mountain Lion) an error comes up from the operating system saying the the application is from an unidentified developer. The workaround is to go to System Preferences and allow running applications from any developer.

It would be nice if Oracle apps used an identified developer ID.



 Comments   
Comment by thurka [ 08/Nov/12 11:41 AM ]

VisualVM 1.3.5 will be signed.





[VISUALVM-512] Cannot open a snapshot Created: 30/Jul/12  Updated: 06/Nov/12  Resolved: 27/Sep/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: dghaderi Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Mac OSX 10.6.8


File Attachments: File failed.apps     File ok.apps    
Tags: snapshot load displayable data
Participants: dghaderi and jsedlacek

 Description   

Hi,
I monitored 4 remote JVM for more than 2 hours.
When the tests finished i Take a snapshot of each JVM and then I saved them on the filesystem.
There were 2 Tomcat with Liferay and 2 Tomcat with CAS.

Now, I have to write a report about the test and i cannot load the snapshots from the 2 Liferay JVMs only.
It works well with CAS JVMs...

The message displayed when I try to load the snapshot is : "No known displayable data found in the snapshot"

I can't understand why only theses JVMs failed.
Did the problem occured when the apps file was written on the filesystem or when visualvm try to read them ?

I attached 2 apps files :

  • ok.apps is the CAS JVM snapshot I can load without any trouble
  • failed.apps is the Liferay JVM snapshot i cannot load

I hope i can fix it or i will have to do the tests at client's office again and i will have to justify it :-/



 Comments   
Comment by jsedlacek [ 27/Sep/12 01:07 PM ]

Caused by a system property env.HISTTIMEFORMAT containing ESC control character which unfortunately is an invalid XML character breaking the XML parser.

Will fix for the next VisualVM release to expand invalid XML characters. As a workaround for existing affected .apps snapshots (being actually just ZIP archives) remove/replace all invalid XML characters (& # 2 7 ; in this case) in application_snapshot.properties file.

Comment by jsedlacek [ 27/Sep/12 01:11 PM ]

Fixed in revision 3097.





[VISUALVM-511] estimated real CPU time gives impossible values Created: 28/Jun/12  Updated: 28/Jun/12

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: w.pasman Assignee: Unassigned
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

osx 10.6.8 on 2.66GHz Intel Core i7.
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03-424-10M3720)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03-424, mixed mode)


File Attachments: PNG File wrongcalltree.png    
Tags:
Participants: w.pasman

 Description   

Profile (with the Sampler in default settings) the attached program on a eg 4-core CPU. The program tries to run 8 threads in parallel, each thread busy-waiting for exactly 10 seconds.

On a 4-core CPU this should result in an even distribution of the available 4*10s over the 8 processes.

The ThreadMXBean output from the program confirms this, with each process getting around 4s of real CPU time.

But the VisualVM gives a totally different picture, saying that all 8 processes got a 10seconds estimated real CPU time for a total of 80seconds. Obviously this is impossible with only 10 seconds runtime on a 4-core processor.

The problem also shows on Win7-32bit.

{{{
import java.lang.management.ManagementFactory;
import java.lang.management.ThreadMXBean;
import java.util.Scanner;

/**

  • simple test for profiler. Runs 8 threads all for 10 seconds
  • @author W.Pasman
  • */
    public class test2 {
    public static void main(String[] args) {
    System.out.println("press enter to start");
    Scanner sc = new Scanner(System.in);
    sc.nextLine();

for (int n = 0; n < 8; n++) {
Thread t = new Thread() {
@Override
public void run() { test2.sleep("child ", 10000); }

};
t.start();
}
test2.sleep("main", 10000);
System.out.println("press enter to stop");
sc.nextLine();

}

public static void sleep(String name, long t) { System.out.println(name + " is sleeping " + t); long start = System.currentTimeMillis(); while (System.currentTimeMillis() - start < t) ; ThreadMXBean bean = ManagementFactory.getThreadMXBean(); System.out.println("this thread ran " + bean.getThreadCpuTime(Thread.currentThread().getId()) / 1000000000. + "s."); }
}
}}}

Attached is an image with the incorrect calltree CPU times.



 Comments   
Comment by w.pasman [ 28/Jun/12 10:00 AM ]

I checked the code (trunk version on svn)

I see this in ThreadsCPU.java:

{{{
public ThreadsCPUInfo getThreadsCPUInfo() throws MBeanException, ReflectionException, IOException, InstanceNotFoundException {
long[] ids = threadBean.getAllThreadIds();
ThreadInfo[] tids = threadBean.getThreadInfo(ids);
Object[] args = new Object[] {ids};
String[] sigs = new String[] {"[J"}; // NOI18N
long[] tinfo = (long[])connection.invoke(THREAD_NAME, "getThreadCpuTime", args, sigs); // NOI18N
long time = System.currentTimeMillis();

return new ThreadsCPUInfo(time,tids,tinfo);
}
}}}

Now I'm not used to the connection.invoke but it seems to me that getThreadCpuTime takes only 1 long, not an array of longs as what I understand from the code. See the ThreadMXBean interface definition.





[VISUALVM-510] snapshot save don't use filename Created: 11/Jun/12  Updated: 06/Nov/12  Resolved: 26/Sep/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.3
Fix Version/s: 1.3.5

Type: Bug Priority: Major
Reporter: leventefarkas Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

rhel-6.2


File Attachments: PNG File Screenshot.png    
Tags:
Participants: jsedlacek, leventefarkas and thurka

 Description   

when i try to export a given snapshot it's always save the output file as the process name rather then the name i give it in the save as dialog.



 Comments   
Comment by thurka [ 14/Jun/12 02:12 AM ]

Can you, please, provide simple steps how to reproduce it? It works for me.

Comment by leventefarkas [ 14/Jun/12 08:04 AM ]

as you can see in the attachment i try to save a snapshot as xxx, but on the disk it always save as null.nps.

anyway why the process call null i don't know.

Comment by thurka [ 14/Jun/12 08:06 AM ]

I can see the attachment, but I am still missing the steps. Can you provide them? Thanks.

Comment by jsedlacek [ 26/Sep/12 12:30 PM ]

Fixed on NetBeans side, tracked by http://netbeans.org/bugzilla/show_bug.cgi?id=207962.





[VISUALVM-509] visualvm jconsole plugin not work in java7update4 Created: 31/May/12  Updated: 28/Sep/12  Resolved: 26/Sep/12

Status: Resolved
Project: VisualVM
Component/s: docs, plugins
Affects Version/s: 1.3.3
Fix Version/s: None

Type: Bug Priority: Trivial
Reporter: remotejavasky Assignee: jsedlacek
Resolution: Cannot Reproduce Votes: 0
Remaining Estimate: 1 day
Time Spent: Not Specified
Original Estimate: 1 day
Environment:

windows xp jdk7update4


File Attachments: Text File logfile.txt    
Tags: jconsole plugin
Participants: Bukmopu, jsedlacek and remotejavasky

 Description   

http://visualvm.java.net/jconsole_plugin_wrapper_tab.html
follow this documentation, I install jconsole plugin for jvisualvm(in jdk7u4) and choose jTop.jar from jdk7u4 demo.
It doesn't work!



 Comments   
Comment by jsedlacek [ 26/Sep/12 03:49 PM ]

Works fine for me using Windows 7 and JDK 7u7 (both 32bit and 64bit).

If you are still experiencing the problems, please reopen the bugreport and attach VisualVM log file (Help | About | Logfile).

Comment by Bukmopu [ 28/Sep/12 09:02 AM ]

Hi. I have the same probleme as <b>remotejavasky</b> following the same tutorial.
JVisualVM(in jdk7u7 build 120605) and jTop.jar from jdk7u6 demo were used.
Environment : Windows XP jdk7update7
In attached file is logfile.txt from JVisualVM





[VISUALVM-508] Local Java application cannot be monitored Created: 29/May/12  Updated: 14/Jun/12  Resolved: 14/Jun/12

Status: Closed
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.3
Fix Version/s: 1.3.4

Type: Bug Priority: Major
Reporter: passogiau Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7, JDK 1.7.0_03, VisualVM 1.3.4


File Attachments: PNG File Capture.PNG    
Tags:
Participants: passogiau and thurka

 Description   

Upon the start-up I get the "Local Java application cannot be monitored dialogue". As the troubleshooting guide notes, my user ID contains capital letters but, the performance data directory has the correct name,

C:\Users\StromA\AppData\Local\Temp\hsperfdata_StromA.

Is there anything else I could check? TIA

-a



 Comments   
Comment by thurka [ 14/Jun/12 02:14 AM ]

You can try this:
1) quit all java applications
2) delete C:\Users\StromA\AppData\Local\Temp\hsperfdata_StromA directory

Comment by passogiau [ 14/Jun/12 12:26 PM ]

It worked, thank you.

Comment by thurka [ 14/Jun/12 01:38 PM ]

OK, closing.





[VISUALVM-507] Cannot see local Java applications if NetBeans 7.1.2 is running on Mac OS X Created: 19/May/12  Updated: 06/Nov/12  Resolved: 27/Sep/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: 1.3.5

Type: Bug Priority: Critical
Reporter: fabriziogiudici Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: fabriziogiudici, jsedlacek and thurka

 Description   

The problem is not deterministic, but it happens very often. I'm running NetBeans 7.1.2 on Mac OS X Lion and Oracle JDK 7u4; plus I'm running a NetBeans Platform 7.1.2 application that is running under OpenJDK 7u4. More often than not VisualVM 1.3.4 is not able to see local Java processes. I see an exception:

java.lang.NullPointerException
at com.sun.tools.visualvm.application.type.NetBeansApplicationType.getVersionFromSysProps(NetBeansApplicationType.java:132)
at com.sun.tools.visualvm.application.type.NetBeansApplicationType.getVersion(NetBeansApplicationType.java:98)
at com.sun.tools.visualvm.application.type.NetBeansApplicationType.getName(NetBeansApplicationType.java:77)
at com.sun.tools.visualvm.application.ApplicationDescriptor.resolveApplicationName(ApplicationDescriptor.java:136)
at com.sun.tools.visualvm.application.ApplicationDescriptor.<init>(ApplicationDescriptor.java:74)
at com.sun.tools.visualvm.application.ApplicationDescriptor.<init>(ApplicationDescriptor.java:55)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:43)
at com.sun.tools.visualvm.application.ApplicationDescriptorProvider.createModelFor(ApplicationDescriptorProvider.java:38)
at com.sun.tools.visualvm.core.model.ModelFactory.getModel(ModelFactory.java:111)
at com.sun.tools.visualvm.core.datasource.descriptor.DataSourceDescriptorFactory.getDescriptor(DataSourceDescriptorFactory.java:69)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDisplayableDataSources(ExplorerModelBuilder.java:152)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processIndependentAddedDataSources(ExplorerModelBuilder.java:116)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.processAddedDataSources(ExplorerModelBuilder.java:105)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder.access$200(ExplorerModelBuilder.java:59)
at com.sun.tools.visualvm.core.explorer.ExplorerModelBuilder$1.run(ExplorerModelBuilder.java:98)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1411)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1991)

(please note that 1.3.4 has been released, but it appears listed in unreleased versions)



 Comments   
Comment by thurka [ 21/May/12 07:57 AM ]

Can please attach whole messages.log? Are you able to reproduce without OpenJDK 7u4?

Comment by jsedlacek [ 26/Sep/12 12:02 PM ]

Can happen for any OS, not only Mac OS X.

Comment by thurka [ 27/Sep/12 07:52 AM ]

Fixed in revision 3094.





[VISUALVM-506] Histogram view of heap dump data Created: 11/Apr/12  Updated: 14/Jun/12

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: tln Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka and tln

 Description   

I would really welcome a histogram function for array data found in heap dumps.

Frequent example question that can't be answered easily with what's already offered in VisualVM and which should show what I'm up to:
"From the 123879 character arrays in my heap dump, ... how many are size 8192 characters, and how much memory do they consume together?"

A diagram view would be perfect but not immediately necessary.

Also, ... I would really welcome a similar histogram() function in the OQL console. I somehow emulated it using map(), sort(), and filter(), but the result is really unwieldy:

select	filter(
		map(
			sort(
				map(
					heap.objects('[C'),
					"{size: sizeof(it)}"
				),
				'lhs.size<rhs.size'
			),
			function (it, index, array, result)
			{
				if (index==length(array)-1)
				{
					var lastSize=-1;
					var cumulatedSize=0;
					var cumulatedSizeGlobal=0;
	
					for (i=0; i<index; i++)
					{
						var curElement=array[i];
						var curSize=curElement.size;

						cumulatedSizeGlobal+=curSize;
	
						result[i]={keep_in_filter: false};
	
						if (curSize!=lastSize)
						{
							if (i>0)
							{
								result[i-1]={keep_in_filter: true, cumulated: cumulatedSize, cumulatedGlobal: cumulatedSizeGlobal, size: lastSize};
							}
							lastSize=curSize;
							cumulatedSize=0;
						}
	
						cumulatedSize+=curSize;
					}
	
					return {keep_in_filter: true, cumulated: cumulatedSize, cumulatedGlobal: cumulatedSizeGlobal, size: lastSize};
				}
			}
		),
		"it.keep_in_filter"
	)

The signature of the histogram() function I have in mind would be something like:

histogram(array/enumeration, name_of_field_to_group_by, name_of_field_to_cumulate)

Please note: A more generic (and thus even more welcome) approach would be to have something like "group by" in SQL. With its help a histogram and many other useful things could easily be created. And also it would be more intuitive to those familiar with SQL.



 Comments   
Comment by thurka [ 14/Jun/12 01:59 AM ]

Your problem "From the 123879 character arrays in my heap dump, ... how many are size 8192 characters, and how much memory do they consume together?" cannot be easily solved with OQL, but you can sort the character arrays instances in instance view. Does it help?





Recognize Eclipse application (VISUALVM-499)

[VISUALVM-505] Name of Eclipse applications is shown as "null" Created: 10/Apr/12  Updated: 06/Nov/12  Resolved: 19/Jun/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: None
Fix Version/s: 1.3.5

Type: Sub-task Priority: Minor
Reporter: bebbo Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 x64


File Attachments: File application-1339664857050.apps     File application-1339664860200.apps     File application-1339692331289.apps     PNG File visualvmeclipse.png    
Tags:
Participants: bebbo and thurka

 Description   

The name of Eclipse applications is shown as "null" instead of a valid name like "Eclipse" for Eclipse processes.



 Comments   
Comment by thurka [ 14/Jun/12 02:00 AM ]

Can you please provide steps how to reproduce it? Which Eclipse application has "null" name?

Comment by bebbo [ 14/Jun/12 06:05 AM ]

To reproduce:

1. Start Eclipse
2. Start VisualVM

or

1. Start VisualVM
2. Start Eclipse

eclipse.ini
-vm
c:/Program Files/Java/jdk1.7.0_05/bin/javaw.exe
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms40m
-Xmx2048m

Sometimes Eclipse also stops working if VisualVM is started.

Comment by thurka [ 14/Jun/12 07:22 AM ]

This works for me. Which version of Eclipse do you use? Are you able to monitor Eclipse if it has "null" name? Can you send me Application snapshot of Eclipse application and snapshot of VisualVM itself?

Comment by bebbo [ 14/Jun/12 09:17 AM ]

This happens with

  • Version: 3.7.1, Build id: M20110909-1335, Windows 64 Bit
  • Version: 4.2.0, Build id: I20120127-1145, Windows 64 Bit
Comment by bebbo [ 14/Jun/12 04:47 PM ]

Also happens with

  • Version: 3.7.2, Build id: M20120208-0800
Comment by thurka [ 15/Jun/12 02:08 PM ]

The problem seems to be caused by running Java VisualVM on 32bit JDK (C:\Program Files (x86)\Java\jdk1.7.0_05) while Eclipse is running on 64bit JDK (C:\Program Files\Java\jre7). Please run VisualVM on 64bit JDK or vice versa.

Comment by thurka [ 19/Jun/12 11:21 AM ]

FIxed in revision 3078.





[VISUALVM-504] No Applications show up in the applications list after VisualVM starts Created: 05/Apr/12  Updated: 26/Sep/12  Resolved: 26/Sep/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.1.1
Fix Version/s: None

Type: Bug Priority: Blocker
Reporter: fdlawlor Assignee: jsedlacek
Resolution: Invalid Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

MyEclipse 10, Windows 7, JDK 1.6.0_30


Tags:
Participants: fdlawlor and jsedlacek

 Description   

After starting VVM from MyEclipse (right mouse on VVM demo app, profile) VVM starts but there is no tab for the app and no apps are listed in the application menu.

I also noted that when I run the jps command from the command line that it lists several pids, but the text on all of them is "process information unavailable" (except for Jps itself). Perhaps this is related.



 Comments   
Comment by jsedlacek [ 26/Sep/12 03:56 PM ]

This is a jps/JDK problem, cannot be fixed on VisualVM side. Also other tools like JConsole will be affected.

Please check the Troubleshooting Guide http://visualvm.java.net/troubleshooting.html#jpswin for some tips on how fix the jps.

Comment by fdlawlor [ 26/Sep/12 04:08 PM ]

I can understand that his is a jps/JDK problem, but the help link doesn't exactly address the case and the links to the Sun forums are now all broken (thanks Oracle).

I've tried the "fixes" discussed and while jps is now happy, VisualVM still shows ho local processes.





[VISUALVM-503] VisualVM thread timetable don't show threads Created: 02/Apr/12  Updated: 31/Jul/12

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Critical
Reporter: rgonzalezsiguero Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7, Windows 2008R2


Tags:
Participants: rgonzalezsiguero and thurka

 Description   

Product Version = NetBeans IDE 7.1 (Build 201112071828)
Operating System = Windows 7 version 6.1 running on amd64
Java; VM; Vendor = 1.7.0_02
Runtime = Java HotSpot(TM) 64-Bit Server VM 22.0-b10

I hava a java application that uses threads and i would like to monitor it with
visualvm. I could connect it to visualvm and i see every tab correctly but not
the threads tab.

On it, i can't see any threads working but i can see the number of them
running.

I have also the JConsole plugin "Top threads" and there i also cannot see any
thread.

The Java version is 1.7.2 and the application uses daemon threads.

I've debugged the app and when it starts everything goes fine and i can see
thread timetable. When the first thread starts the timetable hangs and i can't
see anything else.

This is the code to create and start the threads

for (i = 0; i < 10; i++)

{ attenderThreads.add(new Attender(i)); }

for (i = 0; i < attenderThreads.size(); i++)

{ ((Attender) attenderThreads.elementAt(i)).start(); }

And this is the class Attender than extends Thread

public Attender(int _ithread)

{ setDaemon(true); ithread = _ithread; threadSuspended = true; locked = false; super.setName ("Attender "+ _ithread); }

Finally, the application works fine but i need to see the threads because
sometimes the app hangs and i don't know where it's happening.

The app is Java Console and i can make a Thread dump and i see all the threads.



 Comments   
Comment by rgonzalezsiguero [ 02/Apr/12 10:18 AM ]

The setDaemon (true) is mandatory. I removed just to try but the problem is the same.

I compiled with Java 6 and the problem persists.

I forgot to mention that the run method have a call to Object.wait() method and it's the time when the timetable hangs.

Comment by thurka [ 14/Jun/12 02:06 AM ]

I am a little bit confused - why this:

Product Version = NetBeans IDE 7.1 (Build 201112071828)
Operating System = Windows 7 version 6.1 running on amd64
Java; VM; Vendor = 1.7.0_02
Runtime = Java HotSpot(TM) 64-Bit Server VM 22.0-b10

is at the top of your description? What this has to do with NetBeans?
Can you attach your application so that we can test it?

Comment by rgonzalezsiguero [ 31/Jul/12 07:36 AM ]

This is what appears on About of my jvisualvm. I don't know why netbeans appears on it because i'm using JDK 7 jvisualvm. You'll find the piece of code on the description. I cannot send the whole application.

Version:

1.7.0_02 (Build 1320-110325); platform 110131-9c8b3bfb3a1e

System:

Windows 7 (6.1) Service Pack 1, amd64 64bit

Java:

1.7.0_02; Java HotSpot(TM) 64-Bit Server VM (22.0-b10, mixed mode)

Vendor:

Oracle Corporation, http://java.oracle.com/

Environment:

Cp1252; es_ES (visualvm)

Clusters:

C:\Program Files\Java\jdk1.7.0_02\lib\visualvm\platform
C:\Program Files\Java\jdk1.7.0_02\lib\visualvm\visualvm
C:\Program Files\Java\jdk1.7.0_02\lib\visualvm\profiler

Visit http://visualvm.java.net for more information. Built on NetBeans Platform.





[VISUALVM-502] Profiler engine warning: Failed to lookup cached class Created: 23/Mar/12  Updated: 14/Jun/12

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: None

Type: Bug Priority: Major
Reporter: spidertom Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Tomcat 7, Windows 7, java 1.6.0_31


Tags:
Participants: spidertom and thurka

 Description   

I just recently upgraded to 1.6.0_31 and whenever i try to profile my app in tomcat, i get a bunch of these messages

Profiler engine warning: Failed to lookup cached class "insert class here"

in the nd not much ends up being profiled making it quite useless



 Comments   
Comment by spidertom [ 23/Mar/12 04:03 PM ]

I'm not sure what other kind of information would be helpful, but i started tomcat via eclipse if perhaps that might be a problem





[VISUALVM-501] Ability to create multiple instances of VisualVM Created: 23/Mar/12  Updated: 14/Jun/12  Resolved: 14/Jun/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.4
Fix Version/s: 1.3.4

Type: Improvement Priority: Minor
Reporter: hstoerr Assignee: thurka
Resolution: Works as designed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7


Tags:
Participants: hstoerr and thurka

 Description   

It seems not possible to create multiple instances of VisualVM: if you start the application a second time, the first instance is shown instead of opening a second instance. This is sometimes really annoying. For example, if you perform a time consuming analysis on a large heap dump, you can't do another analysis at the same time. In a multicore machine visual vm uses only one core for this, so it would easily be possible to work with multiple instances.



 Comments   
Comment by thurka [ 14/Jun/12 01:43 AM ]

It is possible to run multiple instances of VisualVM. Just use --userdir commandline argument. Run
visualvm --help
for more details about VisualVM options.





[VISUALVM-500] Display Memory Spaces (Eden, Survivor, OldGen) remotly Created: 15/Mar/12  Updated: 14/Jun/12  Resolved: 14/Jun/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.3
Fix Version/s: 1.3.4

Type: Improvement Priority: Major
Reporter: moghrabi Assignee: thurka
Resolution: Works as designed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Remote Access via JMX


Tags:
Participants: moghrabi and thurka

 Description   

I am used to JConsole and try use now JVisualVM.

I connect on my remote servers via a JMX connection. With JConsole, I was able to see each space of the Heap Memory. This is really helpful for me to know if the OldGen is full.

With JVisualVM, I don't find this feature. I even downloaded the VisualGC plug-in unfortunately that provides this feature but only locally.

Is is possible to add the capability to see the heap spaces remotely with JVisualVM ?

Regards



 Comments   
Comment by thurka [ 14/Jun/12 01:53 AM ]

It is possible to use VisualGC plugin for remote application. You just need to run 'jstatd' daemon on remote host.
See http://visualvm.java.net/applications_remote.html and http://docs.oracle.com/javase/6/docs/technotes/tools/share/jstatd.html for more details.





[VISUALVM-499] Recognize Eclipse application Created: 15/Mar/12  Updated: 11/Apr/12  Resolved: 15/Mar/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.0
Fix Version/s: 1.3.4

Type: Improvement Priority: Minor
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Σ Remaining Estimate: Not Specified Remaining Estimate: Not Specified
Σ Time Spent: Not Specified Time Spent: Not Specified
Σ Original Estimate: Not Specified Original Estimate: Not Specified

File Attachments: PNG File vmnull.png    
Sub-Tasks:
Key
Summary
Type
Status
Assignee
VISUALVM-505 Name of Eclipse applications is shown... Sub-task Resolved thurka  
Tags:
Participants: bebbo and thurka

 Description   

Define special ApplicationType for Eclipse.



 Comments   
Comment by thurka [ 15/Mar/12 04:46 PM ]

Fixed in revision 3053.

Comment by bebbo [ 10/Apr/12 06:52 AM ]

Recognizing Eclipse applications seems not work correctly unless "null" is the expected name for Eclipse...

Comment by thurka [ 11/Apr/12 02:21 PM ]

Please file a new issue for it and provide steps how to reproduce it. Thanks.





[VISUALVM-498] Recognize application based on IntelliJ Platform Created: 14/Mar/12  Updated: 15/Mar/12  Resolved: 15/Mar/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.0
Fix Version/s: 1.3.4

Type: Improvement Priority: Minor
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

Define special ApplicationType for various applications based on IntelliJ Platform. <http://www.jetbrains.org/pages/viewpage.action?pageId=983889>



 Comments   
Comment by thurka [ 15/Mar/12 02:33 PM ]

Done in revision 3052.





[VISUALVM-497] JMX Connection tab not available for applications added using '--openjmx' Created: 13/Mar/12  Updated: 15/Mar/12  Resolved: 15/Mar/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3
Fix Version/s: 1.3.4

Type: Bug Priority: Major
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: jsedlacek

 Description   

Applications added by a JVM argument '--openjmx' don't have the JMX Connection properties tab, but the General properties tab says "See the JMX Connection tab for details."



 Comments   
Comment by jsedlacek [ 13/Mar/12 05:43 PM ]

Fixed in revision 3050.





[VISUALVM-496] Applications added by JMX connection don't display application type/custom name Created: 13/Mar/12  Updated: 17/Dec/12  Resolved: 15/Mar/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.0
Fix Version/s: 1.3.4

Type: Bug Priority: Major
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: ganeshkantu and jsedlacek

 Description   

When no display name is defined for a JMX connection application, it should display the same name as would be displayed by a jvmstat application. Currently it always displays connection_string or username@connection_string.



 Comments   
Comment by jsedlacek [ 13/Mar/12 02:53 PM ]

Fixed in revision 3048.

Comment by ganeshkantu [ 17/Dec/12 09:01 PM ]

How do you name a JMX connection? I didn't find any property in jmxremote which lets me specify this name. My JMX connections still end up displayed as hostname:port (pid:xxxx).





[VISUALVM-495] Change the <Unknown Application> string Created: 13/Mar/12  Updated: 15/Mar/12  Resolved: 15/Mar/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.0
Fix Version/s: 1.3.4

Type: Improvement Priority: Major
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: jsedlacek

 Description   

Currently <Unknown Application> is displayed for applications with unknown main class and type. This might look like an error for some users. Using generic names like 'Local Application' and 'Remote Application' seems to be more relevant.



 Comments   
Comment by jsedlacek [ 13/Mar/12 10:07 AM ]

Implemented in revision 3047.





[VISUALVM-494] Sampler settings UI disabled when application terminates Created: 09/Mar/12  Updated: 15/Mar/12  Resolved: 15/Mar/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3
Fix Version/s: 1.3.4

Type: Bug Priority: Major
Reporter: jsedlacek Assignee: jsedlacek
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: jsedlacek

 Description   

Settings section of the Sampler becomes disabled after the application terminates. Profiler settings are enabled. This should be consistent, settings should be always enabled when not profiling.



 Comments   
Comment by jsedlacek [ 09/Mar/12 02:55 PM ]

Fixed in revision 3041.





[VISUALVM-493] command line option to read attributes or invoke operations Created: 09/Mar/12  Updated: 09/Mar/12

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.3
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: weberjn Assignee: Unassigned
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: weberjn

 Description   

There should be command line options to read attributes or invoke operations non interactively, so one could use VisualVM in a batch.

e.g.

visualvm --service service:jmx:rmi:///jndi/rmi://server:12345/jmxrmi --object "java.lang:type=Memory" -attribute HeapMemoryUsage






[VISUALVM-492] Copy Tree Path and data to Clipboard Created: 09/Mar/12  Updated: 09/Mar/12

Status: Open
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3.2
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: weberjn Assignee: Unassigned
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: weberjn

 Description   

Tree entries in MBeans plugin should get a context menu entry: copy path to clipboard.
e.g. the clipboard would contain: java.lang:type=Memory

Same for the Attributes and Metadata table cells.

This would be useful for documentation purposes.






[VISUALVM-491] The VisualGC plugin UI display an increct value in Eden Space's title bar Created: 09/Mar/12  Updated: 26/Sep/12  Resolved: 26/Sep/12

Status: Resolved
Project: VisualVM
Component/s: plugins
Affects Version/s: 1.3.3
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: pprun Assignee: jsedlacek
Resolution: Won't Fix Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

all


File Attachments: PNG File visualGC.png    
Tags: ui
Participants: jsedlacek and pprun

 Description   

On the home page of Visualgc (http://java.sun.com/performance/jvmstat/visualgc.html), there's statement:
"The title bar displays the name of the space and its maximum and current capacity in parenthesis followed by the current utilization of the space."

However, the actual value is the total size of young generation (eden + 2 survivor space).



 Comments   
Comment by jsedlacek [ 26/Sep/12 04:00 PM ]

VisualVM only provides wrapper for the Visual GC tool. Needs to be fixed in Visual GC which is unrelated to VisualVM.





[VISUALVM-490] Add support JDK 8 Created: 08/Mar/12  Updated: 11/Apr/13  Resolved: 08/Mar/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3
Fix Version/s: 1.3.4

Type: Improvement Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: rickardoberg and thurka

 Description   

Add initial support JDK 8. Make sure VisualVM runs on JDK 8 and it is able to monitor/profile applications running on JDK 8.



 Comments   
Comment by thurka [ 08/Mar/12 12:40 PM ]

Fixed in revision 3038

Comment by rickardoberg [ 08/Apr/13 04:23 AM ]

I'm using VisualVM 1.3.5, with this Java 8 build both for VisualVM and my application:
openjdk version "1.8.0-ea"
OpenJDK Runtime Environment (build 1.8.0-ea-lambda-nightly-h3728-20130318-b82-b00)
OpenJDK 64-Bit Server VM (build 25.0-b21, mixed mode)

When connecting to the application the Monitor tab shows "CPU - not supported for this JVM", and none of Sampler, Profiler or MBeans tabs work. What does "Fixed" mean in this issue? Does it just mean "able to connect" and these other things are still todo?

Comment by thurka [ 11/Apr/13 01:50 PM ]

No, the things you mentioned should work fine with 1.3.5.





[VISUALVM-489] VisualVM CPU profiling does not properly make use of profiling root classes Created: 08/Feb/12  Updated: 08/Oct/12  Resolved: 08/Oct/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: jlcttss Assignee: thurka
Resolution: Incomplete Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

VisualVM bundled with JDK 1.6.0_24 on win7 64bit. The VM connected to is also version 1.6.0_24


Tags: root
Participants: jlcttss, jsedlacek and thurka

 Description   

The VisualVM "Start Profiling from Classes" textbox allows the user to define so called root classes/packages. The docs state that "Profiling will start when code in these classes are invoked".

This functionality only works intermittently.

I have a test case where an outer class x.y.z.Foo invokes another class x.y.z.Bar. I am only interested in the behavior of methods of Bar.

I can successfully profile my application by specifying the root package x.y.z.**. Specifying x.y.z.Foo also works. Either approach do provide the info that I need from Bar, but obviously cluttered with profiling information unrelated to Bar. When i attempt narrowing down the result by specifying x.y.z.Bar as root class, the result is that VisualVM simply fails to profile - the application runs to completion without VisualVM collecting any data whatsoever.

The behavior is consistent, the x.y.z.Foo is not being blocked by any of package spaces specified in the "do not profile" textbox, the only explanation I can see is that this is a regression in VisualVM.



 Comments   
Comment by jsedlacek [ 08/Oct/12 12:39 PM ]

We're not able to reproduce the bug just based on your description. Could you please attach your project or a test case and provide exact settings which demonstrate the problem? Thanks!





[VISUALVM-488] Starting memory profiler produces error message "Agent JAR loaded but agent failed to initialize". Created: 07/Feb/12  Updated: 20/Feb/12

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.3
Fix Version/s: None

Type: Bug Priority: Major
Reporter: ennerr Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

os.arch=x86
os.name=SunOS
os.version=5.10
oracle.j2ee.container.name=Oracle Containers for J2EE 10g (10.1.3.4.0)
oracle.j2ee.container.version=10.1.3.4.0
java.runtime.version=1.6.0_22-b04


Tags:
Participants: ennerr and thurka

 Description   

Starting memory profiler produces error message "Agent JAR loaded but agent failed to initialize". Other than Profiler, everything seems to work just fine.

visualvm console log:

Profiler.attachToApp: ***************************************************
profiling settings --------------------------------
isPreset: true
name: Analyze Memory
profilingType: 2
overrideGlobalSettings: false
workingDir:
jvmArgs:
javaPlatform: <project>
threadsMonitoringEnabled: false
threadsSamplingEnabled: true
useProfilingPoints: true
excludeWaitTime: true
cpuProfilingType: 0
instrScheme: 1
threadCPUTimerOn: false
instrumentGetterSetterMethods: false
instrumentEmptyMethods: false
instrumentMethodInvoke: true
instrumentSpawnedThreads: false
nProfiledThreadsLimit: 32
sortResultsByThreadCPUTime: false
samplingInterval: 10
instrumentationRootMethods: []
codeFragmentSelection: null
codeRegionCPUResBufSize: 1000
runGCOnGetResultsInMemoryProfiling: true
allocTrackEvery: 10
allocStackTraceLimit: -1
selectedInstrFilter:
profileUnderlyingFramework: false

attach settings -----------------------------------
target type =
server type =
remote =false
direct =false
dynamic JDK16 =true
pid =20433
host =
host os =Solaris (x86), 32bit JVM
transient port =-1

instrumentation filter ----------------------------
Filter type: Inclusive
Filter value:

Profiler.attachToApp: ***************************************************
com.sun.tools.attach.AgentInitializationException: Agent JAR loaded but agent failed to initialize
at sun.tools.attach.HotSpotVirtualMachine.loadAgent(HotSpotVirtualMachine.java:103)
at org.netbeans.modules.profiler.NetBeansProfiler$2.loadAgentIntoTargetJVM(NetBeansProfiler.java:904)
at org.netbeans.modules.profiler.NetBeansProfiler$2.doInBackground(NetBeansProfiler.java:857)
at org.netbeans.lib.profiler.ui.SwingWorker$2.run(SwingWorker.java:122)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1424)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1968)






[VISUALVM-487] I want the tracing function for certain application (by type) can be started automatically! Created: 21/Jan/12  Updated: 20/Feb/12

Status: Open
Project: VisualVM
Component/s: code, plugins
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major
Reporter: cnkmym Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: 1 week
Time Spent: Not Specified
Original Estimate: 1 week
Environment:

Windows XP, JDK1.6


Tags: Tracer-Framework
Participants: cnkmym and thurka

 Description   

In my project, multiple Java application will be started automatically. I want to profile and monitor them by VisualVM. However, click each Application node to start monitoring function by hand is time-consuming since the project will be launched repeatedly. What make things worse is that some application would be terminated due to exceptions like Memory Overflow before I click its node.

So I wonder if it is possible to support auto-start-monitoring function for certain types of applications? Give users some GUI to define the application type list (e.g. by registering the main class). And then VisualVM will automatically open the monitor overview or tracer plugin to gather the data as soon as it has been found.

In fact, I already made my own VisualVM plugin to solve this problem. But I have to make some change to the "Tracer-Framework" plugin to support new methods to fetch the TracerView Object.

I do not think this solution is beautiful. So I wonder if VisualVM project could provide official solution to my requirement?






[VISUALVM-486] ML build does not preserve execute permission Created: 12/Jan/12  Updated: 15/Mar/12  Resolved: 12/Jan/12

Status: Resolved
Project: VisualVM
Component/s: None
Affects Version/s: 1.1.1
Fix Version/s: 1.3.4

Type: Bug Priority: Major
Reporter: thurka Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Tags:
Participants: thurka

 Description   

ML build does not preserve execute permission. There are some files, which has execute permission in English build of VisualVM. Corresponding ML build does not contain any file with execute permission.



 Comments   
Comment by thurka [ 12/Jan/12 05:18 PM ]

Fixed in revision 3030.





[VISUALVM-485] can't compile plugin for visualVM Created: 06/Jan/12  Updated: 17/Jun/12

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: 1.3.3
Fix Version/s: None

Type: Bug Priority: Trivial
Reporter: sebastien_descamps Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

windows xp, netbeans 7.0.1, visualvm 1.3.3


File Attachments: Zip Archive HelloVisualVM.zip    
Tags: developement plugin tutorial
Participants: lary.klein, sebastien_descamps and thurka

 Description   

I want to develop a plugin for visualVM, I follow the tutorial http://visualvm.java.net/api-quickstart.html for hello worl plugin.
The project compile in Netbeans but when I want to make build and clean, I have this message :

build-init:
Created dir: D:\workspace_netbean\HelloVisualVM\build\public-package-jars
Scanning for modules in D:\Programs\visualvm_133\platform
Scanning for modules in D:\Programs\visualvm_133\profiler
D:\Programs\NetBeans 7.0.1\harness\build.xml:174: No dependent module com.sun.tools.visualvm.application



 Comments   
Comment by sebastien_descamps [ 06/Jan/12 01:00 PM ]

this is the project

Comment by lary.klein [ 15/Jun/12 05:15 PM ]

I am having the same issue. Is there any progress on this issue yet?

Comment by thurka [ 17/Jun/12 05:51 AM ]

You also need to add dependency on "VisualVM-Application" module. Do this by right-clicking the project node, choosing "Properties", and then setting the dependency in the "Libraries" tab.





[VISUALVM-484] JRE recieves SIGSEGV on launch of visualvm Created: 18/Dec/11  Updated: 20/Feb/12

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: darkdimius Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Gentoo linux, stable tree, oracle-jdk 7u1


File Attachments: Text File hs_err_pid30394.log    
Tags:
Participants: darkdimius and thurka

 Description   

On launching of both VisualVM downloaded from site(1.3.3) and packaged with oracle-jdk7 I immediately receive
#

  1. A fatal error has been detected by the Java Runtime Environment:
    #
  2. SIGSEGV (0xb) at pc=0x0000003b9c282326, pid=30394, tid=140144192292608
    #
  3. JRE version: 7.0_01-b08
  4. Java VM: Java HotSpot(TM) 64-Bit Server VM (21.1-b02 mixed mode linux-amd64 compressed oops)
  5. Problematic frame:
  6. C [libGL.so.1+0x82326] XQueryExtension+0x82326
    #
  7. Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
    #
  8. An error report file with more information is saved as:
  9. /home/dark_gentoo/Desktop/visualvm_133/hs_err_pid30394.log
    #
  10. If you would like to submit a bug report, please visit:
  11. http://bugreport.sun.com/bugreport/crash.jsp
    #
    [thread 140144109164288 also had an error]

This does NOT happen if I start visualVm pakaged with jdk6u23

libgl.so is one provided by Nvidia in their 290.10 drivers.

All other java applications(including Eclipse4.1, vuse, jconsole) are functioning with no observable problems.



 Comments   
Comment by darkdimius [ 18/Dec/11 04:35 PM ]

Same happens with latest jdk7u2
#

  1. A fatal error has been detected by the Java Runtime Environment:
    #
  2. SIGSEGV (0xb) at pc=0x0000003b9c282326, pid=31234, tid=140562758719232
    #
  3. JRE version: 7.0_02-b13
  4. Java VM: Java HotSpot(TM) 64-Bit Server VM (22.0-b10 mixed mode linux-amd64 compressed oops)
  5. Problematic frame:
  6. C [libGL.so.1+0x82326] XQueryExtension+0x82326
    #
  7. Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
    #
  8. An error report file with more information is saved as:
  9. /home/dark_gentoo/hs_err_pid31234.log
    #
  10. If you would like to submit a bug report, please visit:
  11. http://bugreport.sun.com/bugreport/crash.jsp
    #
    [thread 140562740569856 also had an error]
Comment by darkdimius [ 08/Jan/12 08:54 PM ]

After some experiments i've found that insetting environment variable GNOME_DESKTOP_SESSION_ID stops this issue from occurring.
Here you can see all environment variables on my machine: http://pastebin.com/qRSGEQ6q





[VISUALVM-483] Some inner classes are being profiled even when they shouldn't Created: 17/Dec/11  Updated: 27/Sep/12  Resolved: 27/Sep/12

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.3
Fix Version/s: None

Type: Bug Priority: Major
Reporter: eduardmanas Assignee: jsedlacek
Resolution: Works as designed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows Vista/XP
JDK 1.6.0_22


File Attachments: Java Source File VisualVM.java     PNG File VisualVMBug.png    
Tags:
Participants: eduardmanas and jsedlacek

 Description   

Some inner classes are always being profiled even when the profiler has been configured to only instrument classes from a specific package.

The attached Java example and VisualVM screenshot demonstrate this. VisualVM is a very simple program that calculates fibonacci numbers. The VisualVM profiler has been configure to start profiling from "com.actimem.test.*", and to Profile only classes for "com.actimem."

In the "Hot Spots - Method" area, I would expect to only see com.actimem.test.VisualVM.fib.
I am however also incorrectly seeing the following inner classes:

  • sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run()
  • java.util.concurrent.ThreadPoolExecutot$Worker.run()
  • com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run()

Steps to reproduce this issue:
1. Start "com.actimem.test.VisualVM"
2. Start VisualVM and connect to the com.actimem.test.VisualVM process
3. On the Profiler tab, in Settings, set to Start profiling from classes "com.actimem.test.*" and to Profile only classes for "com.actimem."
4. Start CPU profiling
5. Start JConsole and connect to the com.actimem.test.VisualVM process#

Note: step 5 is not necessary, but it will trigger the defect immediately. I have noticed that even when you don't plug in JConsole, after a while (1-2 minutes), the same threads also come up.



 Comments   
Comment by jsedlacek [ 27/Sep/12 01:32 PM ]

Actually this works correctly. Please uncheck the 'Profile new Runnables' option to get just the expected results.





[VISUALVM-482] "Connection Refused" bug happens again for Windows 7 (64-bit) Created: 03/Dec/11  Updated: 20/Feb/12

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.3
Fix Version/s: None

Type: Bug Priority: Major
Reporter: cnkmym Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 7 (version 6.1), 64bit
Jdk1.7 (64-bit version)


File Attachments: Text File logfile.txt    
Tags:
Participants: cnkmym and thurka

 Description   

When start VisualVM1.3.3 from Windows 7 (64bit),
it took too long time to scan local running JAVA applications.
I have to wait nearly 1 minute before VisualVM find any application other than itself.

Then I investigated the log, in which I found "Connection Time out" cased by "Connection Refused".

I saw similar bug is reported as VisualVM-74, and the problem should already been fixed.
But unfortunately it appeared again.



 Comments   
Comment by cnkmym [ 03/Dec/11 08:12 AM ]

Then I change my jdk from 1.7 downto 1.6 (6u27), but the problem is still there.

I change computer to 32-bit version, then no problem is found.

Comment by cnkmym [ 03/Dec/11 08:42 AM ]

Sorry, i already found the problem.
It lies in my personal firewall installed in computer.

I use ESET Smart Security, which automatically blocks all UDP connection of windows svchost.

Since inside visualVM, it will try to use SSL pattern to assist discovering local application,
this action is blocked . The log from ESET shows "SSDP(UDP Request) is blocked".

The solutions are:
1, disable your firewall
(OR)
2, change block strategy, enable SSDP by java.





[VISUALVM-481] If users' JDK is not Sun JDK (>=6u25), the Sampling for CPU is disabled automatically in VisualVM 1.3.3 Created: 29/Nov/11  Updated: 14/Dec/11  Resolved: 13/Dec/11

Status: Resolved
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.3
Fix Version/s: 1.3.3

Type: Bug Priority: Major
Reporter: cnkmym Assignee: thurka
Resolution: Fixed Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

JDK 6 u24


Tags: cpu/memory
Participants: cnkmym and thurka

 Description   

In JDK6u (22), there is no com.sun.management.ThreadMxBean in rt.jar,
so of course it does not support "long[] getThreadCpuTime(long[] longs)".

Therefore, when we launch visualVM, it will throw out "NoSuchMethodException" from line 584, where "tcpu.getThreadsCPUInfo();".

The bug lies in the fact that the try-catch structure here is so strong that normal logics (when tcpu==null) are also stopped.

So I suggest to changing the code from as follows:
*************************************************
tcpu = new ThreadsCPU(ti.getThreadMXBean(), JmxModelFactory.getJmxModelFor(application).getMBeanServerConnection());
try { tcpu.getThreadsCPUInfo(); } catch (Exception ex) {
tcpu = null;

//@Author: cnkmym
//@Date 2011-11-29
//@Reason: old_version of JDK does not support new method used in thie line, so all CPU_Sampling function is diabled.
//the following line is disabled.
//throw new RuntimeException(ex);
if (!ex.getClass().isAssignableFrom(NoSuchMethodException.class)) { throw new RuntimeException(ex); }
}
***************************************************************

So that when users' environment does not support newest JDK, at least same function as VisualVM1.3.2 are still available.



 Comments   
Comment by thurka [ 13/Dec/11 08:54 AM ]

In rt.jar, there is sun.management.HotspotThreadMBean, which is registered as ThreadMxBean. HotspotThreadMBean supports
getThreadCpuTime(long ) but not getThreadCpuTime(long[] ). getThreadCpuTime(long[] ) is used by VisualVM and therefore you see NoSuchMethodException in Sampler tab.

Comment by thurka [ 13/Dec/11 08:58 AM ]

Fixed in trunk. Revision 3022.

Comment by thurka [ 14/Dec/11 01:35 PM ]

Fix was merged to release133_fixes branch and updated sampler plugin (2.0.1) is available via plugin manager in VisualVM.





[VISUALVM-480] Automatically Capturing heap dump,thread dump and application snapshot Created: 24/Nov/11  Updated: 29/Nov/11

Status: Open
Project: VisualVM
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major
Reporter: jerrysamphilip Assignee: thurka
Resolution: Unresolved Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows environment, Application is running on Apache Tomcat server and is built in Java


Tags:
Participants: jerrysamphilip and thurka

 Description   

Hi,

Our application has major memory leak issue and crashes during a 12 hour test. We tried analyzing the trend through VisualVM and it has been very helpful. The tool is amazing with the kind of detail its provides us.

The tool does capture the flow and size of JVM from start of instance and this can be used but the problem occurs when the memory issue crashes the tool and thus the data captured by the tool is lost.

We wanted to request a feature whereby the heap dump, thread dump and application snapshot can be automatically be captured and stored at a predefined location after every say 2 hours etc.

We tried using vbs for automation but the tool does not have much of keyboard shortcuts that vbs can use to capture the date.

Any help to get this automation done will be highly appreciated.

Regards,
Jerry






[VISUALVM-479] MBean plugin missing attribute values Created: 23/Nov/11  Updated: 29/Nov/11  Resolved: 29/Nov/11

Status: Resolved
Project: VisualVM
Component/s: plugins
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major
Reporter: mdeggersjava Assignee: thurka
Resolution: Cannot Reproduce Votes: 0
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Fedora 15, 2.6.41.1-1.fc15.i686, jre/jdk 1.6.0_29, Gnome 3.0.1-2, Tomcat 6.0.32


File Attachments: PNG File jconsole-tc.png     PNG File visualvm-tc.png     PNG File VisualVMscr.png    
Tags:
Participants: mdeggersjava and thurka

 Description   

Browsing MBean attributes made available by Apache Tomcat 6.0.32 generates different information when comparing visualvm 1.3.3 with jconsole. In particular, the following MBeans shows no attributes in visualvm, but all the attributes in jconsole.

class name: org.apache.tomcat.util.modeler.BaseModelMBean
ObjectName: Catalina:type=Engine

See the attached screen shots.

This occurs regardless of connection type (jstatd or localhost:9004 - the configured JMX port).



 Comments   
Comment by thurka [ 29/Nov/11 04:16 PM ]

I am sorry, I am unable to reproduce it. See attached screenshot.





[VISUALVM-478] spikey and sometimes scattered graph Created: 21/Nov/11  Updated: 10/Apr/12

Status: Open
Project: VisualVM
Component/s: code
Affects Version/s: 1.3.2, 1.3.3
Fix Version/s: None

Type: Bug Priority: Major
Reporter: bebbo Assignee: jsedlacek
Resolution: Unresolved Votes: 1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

any


File Attachments: GIF File graph.gif     GIF File graph1.gif     GIF File graph2.gif     Java Source File XYPainter.java    
Tags: graph
Participants: bebbo and jsedlacek

 Description   

Once there are more data values than pixels the graphs are very spikey.
Also sometimes the graph is completely broken.

Find attached some code changes which provide a way steadier graph.

The broken graph results from bogus handling of the clipping rect. That bug is inside the Netbeans code.



 Comments   
Comment by bebbo [ 21/Nov/11 10:46 AM ]

More improved version - max details and stable graph

Comment by jsedlacek [ 29/Nov/11 01:45 PM ]

Thanks for your fix! Actually the current code works as designed, it's a low-quality painter with extremely low overhead which paints in almost constant time no matter how many items are to be displayed.

Your change implements a better-quality painter which is more sensitive to items count in terms of performance. We're thinking of providing more painters to give the user a choice between performance and display quality, you code might be a basis for the other painters.

BTW your changes are hard to read, there's a lot of whitespace and formatting changes in the file which are unrelated to the algorithm modifications. A simple diff without reformatting would be easier to understand.

Comment by bebbo [ 01/Dec/11 03:05 PM ]

I am not sure if it works as intented.

Have a look at the screenshots taken in intervals of few seconds.

1. graph vs graph1: The shape shifts with each tick. Graphs appear or vanish.
2. graph vs graph2: Sometimes the display is screwed up - paint occurs with bogus offset.

Comment by bebbo [ 06/Dec/11 07:33 PM ]

The cause for broken graphs

The broken graphs results from wrong calculation of deltas in TransformableCanvasComponent.setDataBounds(...) which is invoked when the data starts shifting.

Since the values for dx (and dy?) are totaly bogus, I provide a patch which omitts the shifting since dx and dy are set to 0.

diff -r d7d9af603a28 lib.profiler.charts/src/org/netbeans/lib/profiler/charts/canvas/TransformableCanvasComponent.java
--- a/lib.profiler.charts/src/org/netbeans/lib/profiler/charts/canvas/TransformableCanvasComponent.java	Fri Nov 18 04:06:47 2011 +0100
+++ b/lib.profiler.charts/src/org/netbeans/lib/profiler/charts/canvas/TransformableCanvasComponent.java	Tue Dec 06 20:18:44 2011 +0100
@@ -430,9 +430,12 @@
             dataBoundsChanged(dataOffsetX, dataOffsetY, dataWidth, dataHeight,
                               oldDataOffsetX, oldDataOffsetY, oldDataWidth, oldDataHeight);
 
-            dx = dxx + (oldContentsOffsetX - contentsOffsetX) - (offsetX - oldOffsetX);
-            dy = dyy + (oldContentsOffsetY - contentsOffsetY) - (offsetY - oldOffsetY);
+//            dx = dxx + (oldContentsOffsetX - contentsOffsetX) - (offsetX - oldOffsetX);
+//            dy = dyy + (oldContentsOffsetY - contentsOffsetY) - (offsetY - oldOffsetY);
 
+            // shifting does not work correctly - set it to zero
+            dx = dy = 0;
+            
             oldScaleX = scaleX;
             oldScaleY = scaleY;

XYPainter.java

There is only a rewrite of one function. Here is again the code for that rewritten function. (Using a diff-ignore-white-space or reformat with your own formatter would show it too).

private static int[][] createPoints(XYItem item, Rectangle dirtyArea, SynchronousXYChartContext context, int type,
            int maxValueOffset) {

        // even if this looks like a getter - it updates the context and is needed for mouse over info!
        context.getVisibleBounds(dirtyArea);
        
        int valuesCount = item.getValuesCount();
        double itemValueFactor = type == TYPE_RELATIVE ? getItemValueFactor(context, maxValueOffset,
                item.getBounds().height) : 0;
        int maxValueIndex = 0;
        int extrema = Integer.MIN_VALUE;
        for (int x = 0; x < valuesCount; ++x) {
            int v = Utils.checkedInt(Math.ceil(getYValue(item, x, type, context, itemValueFactor)));
            if (v > extrema) {
                extrema = v;
                maxValueIndex = x;
            }
        }

        // more values than visible? use the visible width
        int visibleCount = valuesCount;
        if (visibleCount > context.getViewWidth())
            visibleCount = (int) context.getViewWidth();
        // use only integers to scale the diagram
        int valsPerPixel = valuesCount / visibleCount;
        if (valuesCount > visibleCount * valsPerPixel) {
            ++valsPerPixel;
            visibleCount = valuesCount / valsPerPixel;
        }

        // + 2 for the polygon - copy this later to match the clip
        int[] xPoints = new int[visibleCount + 2];
        int[] yPoints = new int[visibleCount + 2];

        // calculate an offset to get a stable graph.
        int offset = 0;
        if (valsPerPixel > 1) {
            offset = (-maxValueIndex % valsPerPixel);
        }

        // start from max at median to the right and in 2nd pass to the left
        int median = (maxValueIndex + offset) / valsPerPixel;
        for (int pass = 0, add = 1; pass < 2; ++pass) {
            int lastExt = Integer.MAX_VALUE;
            boolean isMax = true;
            int lastMean = extrema;
            for (int index = median; index >= 0 && index < visibleCount; index += add) {
                int dataIndex = index * valsPerPixel;
                xPoints[index] = Utils.checkedInt(Math.ceil(context.getViewX(item.getXValue(dataIndex))));
                dataIndex -= offset;
                // get the min, max and sum for the values per pixel.
                int min = Integer.MAX_VALUE;
                int max = Integer.MIN_VALUE;
                long sum = 0;
                for (int delta = 0; delta < valsPerPixel; ++delta) {
                    int effectiveIndex = dataIndex + delta;
                    // skip index out of bounds
                    if (effectiveIndex < 0 || effectiveIndex >= valuesCount)
                        continue;
                    int v = Utils
                            .checkedInt(Math.ceil(getYValue(item, effectiveIndex, type, context, itemValueFactor)));
                    if (v < min)
                        min = v;
                    if (v > max)
                        max = v;
                    sum += v;
                }
                if (sum == 0)
                    min = max = lastMean + 0;

                if (isMax) {
                    // the last was a maximum
                    if (max - lastExt > lastExt - min) {
                        // maximum difference wins - patch previous pixel with mean value 
                        yPoints[index - add] = lastMean;
                        yPoints[index] = max;
                        lastExt = max;
                    } else {
                        // first maximum - use it.
                        yPoints[index] = min;
                        lastExt = min;
                        isMax = false;
                    }
                } else {
                    // last was a minimum
                    if (max - lastExt < lastExt - min) {
                        // minimum difference wins - patch the previous pixel with mean value
                        yPoints[index - add] = lastMean;
                        yPoints[index] = min;
                        lastExt = min;
                    } else {
                        // first minimum - use it
                        yPoints[index] = max;
                        lastEx