I'm trying to profile a local JBoss 7 server using the visualvm tool packaged in the jdk6. I can connect the visualvm to the local jboss server. But if I start the CPU profiling in the profiler tab of visualvm, the JBoss server dump a lot of error message like the following.
Why?
11:22:38,220 INFO [stdout] (*** Profiler Agent Communication Thread) Profiler Agent: Waiting for connection on port 5140 (Protocol version: 9) 11:22:38,320 INFO [stdout] (*** Profiler Agent Special Execution Thread 5) Profiler Agent: Established local connection with the tool 11:22:49,516 ERROR [stderr] (server-timer1) Exception in thread "server-timer1" java.lang.ClassCircularityError: org/netbeans/lib/profiler/server/ProfilerRuntimeCPUFullInstr 11:22:49,520 ERROR [stderr] (server-timer1) at org.jboss.sun.net.httpserver.ServerImpl$ServerTimerTask1.run(ServerImpl.java:895) 11:22:49,524 ERROR [stderr] (server-timer1) at java.util.TimerThread.mainLoop(Timer.java:512) 11:22:49,526 ERROR [stderr] (server-timer1) at java.util.TimerThread.run(Timer.java:462) 11:22:49,528 ERROR [stderr] (RMI TCP Connection(idle)) Exception in thread "RMI TCP Connection(idle)" java.lang.ClassCircularityError: org/netbeans/lib/profiler/server/ProfilerRuntimeCPUFullInstr 11:22:49,532 ERROR [stderr] (RMI TCP Connection(idle)) Exception in thread "RMI TCP Connection(idle)" at org.jboss.logmanager.Logger.isLoggable(Logger.java:153) 11:22:49,535 ERROR [stderr] (RMI TCP Connection(idle)) at sun.rmi.runtime.Log$LoggerLog.isLoggable(Log.java:206) 11:22:49,538 ERROR [stderr] (RMI TCP Connection(idle)) at sun.rmi.runtime.Log$LoggerLog.log(Log.java:210) 11:22:49,539 ERROR [stderr] (RMI TCP Connection(idle)) Exception in thread "RMI TCP Connection(idle)" at sun.rmi.transport.tcp.TCPConnection.close(TCPConnection.java:201) 11:22:49,542 ERROR [stderr] (RMI TCP Connection(idle)) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:564) 11:22:49,545 ERROR [stderr] (RMI TCP Connection(idle)) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) 11:22:49,547 ERROR [stderr] (RMI TCP Connection(idle)) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) 11:22:49,549 ERROR [stderr] (RMI TCP Connection(idle)) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 11:22:49,552 ERROR [stderr] (RMI TCP Connection(idle)) Exception in thread "RMI TCP Connection(idle)" at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 11:22:49,556 ERROR [stderr] (RMI TCP Connection(idle)) at java.lang.Thread.run(Thread.java:619) 11:22:49,560 ERROR [stderr] (RMI TCP Connection(idle)) Exception in thread "RMI TCP Connection(idle)" java.lang.ClassCircularityError: org/netbeans/lib/profiler/server/ProfilerRuntimeCPUFullInstr 11:22:49,563 ERROR [stderr] (RMI TCP Connection(idle)) Exception in thread "RMI TCP Connection(idle)" Exception in thread "RMI TCP Connection(idle)" at org.jboss.logmanager.Logger.isLoggable(Logger.java:153) 11:22:49,567 ERROR [stderr] (RMI TCP Connection(idle)) Exception in thread "RMI TCP Connection(idle)" at sun.rmi.runtime.Log$LoggerLog.isLoggable(Log.java:206) 11:22:49,569 ERROR [stderr] (RMI TCP Connection(idle)) at sun.rmi.runtime.Log$LoggerLog.log(Log.java:210) 11:22:49,572 ERROR [stderr] (RMI TCP Connection(idle)) Exception in thread "RMI TCP Connection(idle)" Exception in thread "RMI TCP Connection(idle)" Exception in thread "RMI TCP Connection(idle)" at sun.rmi.transport.tcp.TCPConnection.close(TCPConnection.java:201) 11:22:49,577 ERROR [stderr] (RMI TCP Connection(idle)) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:564) 11:22:49,581 ERROR [stderr] (RMI TCP Connection(idle)) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) 11:22:49,584 ERROR [stderr] (RMI TCP Connection(idle)) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) 11:22:49,588 ERROR [stderr] (RMI TCP Connection(idle)) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 11:22:49,592 ERROR [stderr] (RMI TCP Connection(idle)) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 11:22:49,595 ERROR [stderr] (RMI TCP Connection(idle)) at java.lang.Thread.run(Thread.java:619) 11:22:49,597 ERROR [stderr] (RMI TCP Connection(idle)) java.lang.ClassCircularityError: org/netbeans/lib/profiler/server/ProfilerRuntimeCPUFullInstr
Add the following line to your %JBOSS_HOME%/bin/standalone.conf.bat
just before line ":JAVA_OPTS_SET"
set "JAVA_OPTS=%JAVA_OPTS% -Xshare:off -Djboss.modules.system.pkgs=org.netbeans.lib.profiler.server -Dorg.osgi.framework.bootdelegation=org.netbeans.lib.profiler.server,org.netbeans.lib.profiler.server.*"
Or add the mentioned java options in any other efficient way.