This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 65614 - Deadlock in instrumented JVM occurred when the profiler was incorrectly profiling its own timing code
Summary: Deadlock in instrumented JVM occurred when the profiler was incorrectly profi...
Status: CLOSED FIXED
Alias: None
Product: profiler
Classification: Unclassified
Component: Base (show other bugs)
Version: 5.x
Hardware: All Windows XP
: P2 blocker (vote)
Assignee: iformanek
URL:
Keywords:
: 65803 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-10-02 08:17 UTC by jchristi
Modified: 2007-02-20 18:08 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jchristi 2005-10-02 08:17:17 UTC
One thread is running ProfilerRuntimeCPU.copyLocalBuffer, the other is in
ProfilerInterface$1.handleEventBufferDump

Found one Java-level deadlock:
=============================
"RSMScheduler_Worker-14":
  waiting to lock monitor 0x00b8b97c (object 0x035a0000, a [B),
  which is held by "RSMScheduler_Worker-5"
"RSMScheduler_Worker-5":
  waiting to lock monitor 0x00b8badc (object 0x036cd190, a java.lang.Object),
  which is held by "RSMScheduler_Worker-14"

Java stack information for the threads listed above:
===================================================
"RSMScheduler_Worker-14":
        at
com.sun.tools.profiler.server.ProfilerRuntimeCPU.copyLocalBuffer(ProfilerRuntimeCPU.java:234)
        - waiting to lock <0x035a0000> (a [B)
        at
com.sun.tools.profiler.server.ProfilerRuntimeCPU.writeTimeStampedEvent(ProfilerRuntimeCPU.java:155)
        at
com.sun.tools.profiler.server.ProfilerRuntimeCPUFullInstr.methodExit(ProfilerRuntimeCPUFullInstr.java:123)
        at
sun.management.VMManagementImpl.isOtherThreadCpuTimeSupported(VMManagementImpl.java:64)
        at sun.management.ThreadImpl.isThreadCpuTimeSupported(ThreadImpl.java:67)
        at sun.management.ThreadImpl.isThreadCpuTimeEnabled(ThreadImpl.java:75)
        at sun.management.ThreadImpl.getCurrentThreadUserTime(ThreadImpl.java:230)
        at
com.sun.tools.profiler.server.system.Timers.getThreadCPUTimeInNanos(Timers.java:42)
        at
com.sun.tools.profiler.server.ProfilerRuntimeCPU.suspendCurrentThreadTimer(ProfilerRuntimeCPU.java:399)
        at
com.sun.tools.profiler.server.ProfilerInterface.classLoadHook(ProfilerInterface.java:669)
        - locked <0x036cd190> (a java.lang.Object)
        at org.jboss.invocation.Invocation.getType(Invocation.java:245)
        at
org.jboss.invocation.MarshalledInvocation.<init>(MarshalledInvocation.java:342)
        at
org.jboss.invocation.jrmp.interfaces.JRMPInvokerProxy.invoke(JRMPInvokerProxy.java:126)
        at
org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:98)
        at
org.jboss.jmx.connector.invoker.client.InvokerAdaptorClientInterceptor.invoke(InvokerAdaptorClientInterceptor.java:58)
        at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:55)
        at
org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:55)
        at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:85)
        at $Proxy47.queryNames(Unknown Source)
        at
com.bmc.patrol.patsdk.lib.jmx.JBossJmxClient.queryMBeanNames(JBossJmxClient.java:164)
        at
com.bmc.patrol.patsdk.solutions.jmx.JmxDiscoveryParamlet.doExecute(JmxDiscoveryParamlet.java:228)
        at
com.bmc.patrol.patsdk.paramlet.container.simple.SimpleParamletContainer.executeParamletBatchedJobs(SimpleParamletContainer.java:440)
        at
com.bmc.patrol.patsdk.paramlet.container.simple.SimpleParamletContainer.executeJobs(SimpleParamletContainer.java:400)
        at
com.bmc.patrol.patsdk.services.CollectionJob.executeJobs(CollectionJob.java:832)
        at
com.bmc.patrol.patsdk.services.CollectionJob.getJobOutput(CollectionJob.java:337)
        at
com.bmc.patrol.patsdk.services.CollectionJob.execute(CollectionJob.java:141)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:192)
        at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:517)
        
"RSMScheduler_Worker-5":
        at
com.sun.tools.profiler.server.ProfilerInterface$1.handleEventBufferDump(ProfilerInterface.java:94)
        - waiting to lock <0x036cd190> (a java.lang.Object)
        at
com.sun.tools.profiler.server.ProfilerRuntimeCPU.copyLocalBuffer(ProfilerRuntimeCPU.java:253)
        - locked <0x035a0000> (a [B)
        at
com.sun.tools.profiler.server.ProfilerRuntimeCPU.writeTimeStampedEvent(ProfilerRuntimeCPU.java:155)
        at
com.sun.tools.profiler.server.ProfilerRuntimeCPUFullInstr.methodExit(ProfilerRuntimeCPUFullInstr.java:123)
        at
EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.get(ConcurrentReaderHashMap.java:455)
        at
org.jboss.mx.loading.UnifiedLoaderRepository3.getCachedClass(UnifiedLoaderRepository3.java:175)
        at
org.jboss.mx.loading.HeirarchicalLoaderRepository3.getCachedClass(HeirarchicalLoaderRepository3.java:303)
        at
org.jboss.mx.loading.UnifiedClassLoader3.loadClass(UnifiedClassLoader3.java:124)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at
com.bmc.patrol.patsdk.lib.jmx.ReverseDelegatingClassloader.loadClass(ReverseDelegatingClassloader.java:230)
        - locked <0x04d36908> (a
com.bmc.patrol.patsdk.lib.jmx.ReverseDelegatingClassloader)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        - locked <0x04d36908> (a
com.bmc.patrol.patsdk.lib.jmx.ReverseDelegatingClassloader)
        at
org.jboss.proxy.SecurityInterceptor$1.getPrincipal(SecurityInterceptor.java:72)
        at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:44)
        at
org.jboss.proxy.ClientMethodInterceptor.invoke(ClientMethodInterceptor.java:55)
        at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:85)
        at $Proxy51.queryNames(Unknown Source)
        at
com.bmc.patrol.patsdk.lib.jmx.JBossJmxClient.queryMBeanNames(JBossJmxClient.java:166)
        at
com.bmc.patrol.patsdk.solutions.jmx.JmxDiscoveryParamlet.doExecute(JmxDiscoveryParamlet.java:228)
        at
com.bmc.patrol.patsdk.paramlet.container.simple.SimpleParamletContainer.executeParamletBatchedJobs(SimpleParamletContainer.java:440)
        at
com.bmc.patrol.patsdk.paramlet.container.simple.SimpleParamletContainer.executeJobs(SimpleParamletContainer.java:400)
        at
com.bmc.patrol.patsdk.services.CollectionJob.executeJobs(CollectionJob.java:832)
        at
com.bmc.patrol.patsdk.services.CollectionJob.getJobOutput(CollectionJob.java:337)
        at
com.bmc.patrol.patsdk.services.CollectionJob.execute(CollectionJob.java:141)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:192)
        at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:517)
Comment 1 iformanek 2005-10-10 16:00:12 UTC
*** Issue 65803 has been marked as a duplicate of this issue. ***
Comment 2 iformanek 2005-10-19 14:18:59 UTC
Fixed in M10
Comment 3 iformanek 2005-10-20 17:14:36 UTC
Not yet.
Comment 4 iformanek 2005-10-20 17:35:33 UTC
Fixed hopefully properly.
Comment 5 ehucka 2006-10-09 12:09:48 UTC
Verification of old issues.
Comment 6 Alexander Kouznetsov 2007-02-20 10:14:28 UTC
Closing old issues
Comment 7 Alexander Kouznetsov 2007-02-20 18:08:17 UTC
Reverting to original Target Milestone value changed by mistake. Sorry for
inconvenience.