[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-distro-pkg-dev
Subject: [Bug 3237] New: JvmStatDataExtractor might throw monitor exception on retrieving certain info of a J
From: bugzilla-daemon () icedtea ! classpath ! org
Date: 2016-11-23 16:32:11
Message-ID: bug-3237-30 () http ! icedtea ! classpath ! org/bugzilla/
[Download RAW message or body]
--1479918736.2aFE87a0.10292
Date: Wed, 23 Nov 2016 16:32:16 +0000
MIME-Version: 1.0
Content-Type: text/plain
http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3237
Bug ID: 3237
Summary: JvmStatDataExtractor might throw monitor exception on
retrieving certain info of a JVM
Product: Thermostat
Version: hg
Hardware: x86_64
OS: Linux
Status: NEW
Severity: enhancement
Priority: P5
Component: agent
Assignee: unassigned@icedtea.classpath.org
Reporter: sgehwolf@redhat.com
CC: thermostat@icedtea.classpath.org
I'm seeing an issue where the JVM does not get detected by thermostat due to an
exception being thrown before the actual vm-info record gets created:
Nov 23, 2016 3:15:35 PM
com.redhat.thermostat.backend.system.JvmStatHostListener vmStatusChanged
WARNING: error getting info for new vm 1
sun.jvmstat.monitor.MonitorException: Could not synchronize with target
at
sun.jvmstat.perfdata.monitor.v2_0.PerfDataBuffer.synchWithTarget(PerfDataBuffer.java:277)
at
sun.jvmstat.perfdata.monitor.v2_0.PerfDataBuffer.buildMonitorMap(PerfDataBuffer.java:131)
at
sun.jvmstat.perfdata.monitor.PerfDataBufferImpl.findByName(PerfDataBufferImpl.java:241)
at
sun.jvmstat.perfdata.monitor.AbstractPerfDataBuffer.findByName(AbstractPerfDataBuffer.java:100)
at
sun.jvmstat.perfdata.monitor.AbstractMonitoredVm.findByName(AbstractMonitoredVm.java:85)
at
com.redhat.thermostat.backend.system.JvmStatDataExtractor.getJavaVersion(JvmStatDataExtractor.java:78)
at
com.redhat.thermostat.backend.system.JvmStatHostListener.createVmInfo(JvmStatHostListener.java:161)
at
com.redhat.thermostat.backend.system.JvmStatHostListener.sendNewVM(JvmStatHostListener.java:135)
at
com.redhat.thermostat.backend.system.JvmStatHostListener.vmStatusChanged(JvmStatHostListener.java:103)
at
sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.fireVmStatusChangedEvents(MonitoredHostProvider.java:177)
at
sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.access$300(MonitoredHostProvider.java:41)
at
sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider$NotifierTask.run(MonitoredHostProvider.java:218)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
The JVM itself (the pid) is there, but figuring out the Java Version for that
JVM process fails. This looks a lot like these JDK bugs:
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6637230
http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6602355
I'll try to create a simple reproducer for this. Either way, it should not fail
to create the vm-info record. Instead, it should fill in some
place-holder-value like "X unavailable" and once it does become available it
should update it.
Running jps on this system returns:
1 -- main class information unavailable
and once that JVM properly settles it changes to:
1 Bootstrap
--
You are receiving this mail because:
You are the assignee for the bug.
--1479918736.2aFE87a0.10292
Date: Wed, 23 Nov 2016 16:32:16 +0000
MIME-Version: 1.0
Content-Type: text/html
<html>
<head>
<base href="http://icedtea.classpath.org/bugzilla/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - JvmStatDataExtractor might throw monitor exception on retrieving \
certain info of a JVM" \
href="http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=3237">3237</a> </td>
</tr>
<tr>
<th>Summary</th>
<td>JvmStatDataExtractor might throw monitor exception on retrieving \
certain info of a JVM </td>
</tr>
<tr>
<th>Product</th>
<td>Thermostat
</td>
</tr>
<tr>
<th>Version</th>
<td>hg
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86_64
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P5
</td>
</tr>
<tr>
<th>Component</th>
<td>agent
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassigned@icedtea.classpath.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>sgehwolf@redhat.com
</td>
</tr>
<tr>
<th>CC</th>
<td>thermostat@icedtea.classpath.org
</td>
</tr></table>
<p>
<div>
<pre>I'm seeing an issue where the JVM does not get detected by thermostat \
due to an exception being thrown before the actual vm-info record gets created:
Nov 23, 2016 3:15:35 PM
com.redhat.thermostat.backend.system.JvmStatHostListener vmStatusChanged
WARNING: error getting info for new vm 1
sun.jvmstat.monitor.MonitorException: Could not synchronize with target
at
sun.jvmstat.perfdata.monitor.v2_0.PerfDataBuffer.synchWithTarget(PerfDataBuffer.java:277)
at
sun.jvmstat.perfdata.monitor.v2_0.PerfDataBuffer.buildMonitorMap(PerfDataBuffer.java:131)
at
sun.jvmstat.perfdata.monitor.PerfDataBufferImpl.findByName(PerfDataBufferImpl.java:241)
at
sun.jvmstat.perfdata.monitor.AbstractPerfDataBuffer.findByName(AbstractPerfDataBuffer.java:100)
at
sun.jvmstat.perfdata.monitor.AbstractMonitoredVm.findByName(AbstractMonitoredVm.java:85)
at
com.redhat.thermostat.backend.system.JvmStatDataExtractor.getJavaVersion(JvmStatDataExtractor.java:78)
at
com.redhat.thermostat.backend.system.JvmStatHostListener.createVmInfo(JvmStatHostListener.java:161)
at
com.redhat.thermostat.backend.system.JvmStatHostListener.sendNewVM(JvmStatHostListener.java:135)
at
com.redhat.thermostat.backend.system.JvmStatHostListener.vmStatusChanged(JvmStatHostListener.java:103)
at
sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.fireVmStatusChangedEvents(MonitoredHostProvider.java:177)
at
sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider.access$300(MonitoredHostProvider.java:41)
at
sun.jvmstat.perfdata.monitor.protocol.local.MonitoredHostProvider$NotifierTask.run(MonitoredHostProvider.java:218)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
The JVM itself (the pid) is there, but figuring out the Java Version for that
JVM process fails. This looks a lot like these JDK bugs:
<a href="http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6637230">http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6637230</a>
<a href="http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6602355">http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6602355</a>
I'll try to create a simple reproducer for this. Either way, it should not fail
to create the vm-info record. Instead, it should fill in some
place-holder-value like "X unavailable" and once it does become available \
it should update it.
Running jps on this system returns:
1 -- main class information unavailable
and once that JVM properly settles it changes to:
1 Bootstrap</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>
--1479918736.2aFE87a0.10292--
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic