Details
-
Bug
-
Status: Resolved (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
RedHat Enterprise Linux 6.1
JDK 1.8.0_65
Jenkins 1.625 LTS
Description
I'm encountering an issue where monitoring stops working. Seeing this javamelody exception:
WARNING net.bull.javamelody.JavaLogger#warn: exception while collecting data: java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
at java.nio.Buffer.position(Buffer.java:244)
at net.bull.javamelody.RrdNioBackend.read(RrdNioBackend.java:147)
at org.jrobin.core.RrdBackend.readInt(RrdBackend.java:224)
at org.jrobin.core.RrdPrimitive.readInt(RrdPrimitive.java:63)
at org.jrobin.core.RrdInt.get(RrdInt.java:55)
at org.jrobin.core.Archive.<init>(Archive.java:69)
at org.jrobin.core.RrdDb.<init>(RrdDb.java:244)
at org.jrobin.core.RrdDb.<init>(RrdDb.java:203)
at org.jrobin.core.RrdDb.<init>(RrdDb.java:266)
at org.jrobin.core.RrdDbPool.requestRrdDb(RrdDbPool.java:103)
at net.bull.javamelody.JRobin.addValue(JRobin.java:334)
at net.bull.javamelody.Collector.collectJRobinValues(Collector.java:491)
at net.bull.javamelody.Collector.collectJavaInformations(Collector.java:382)
at net.bull.javamelody.Collector.collect(Collector.java:320)
at net.bull.javamelody.Collector.collectWithoutErrors(Collector.java:306)
at net.bull.javamelody.Collector.collectLocalContextWithoutErrors(Collector.java:295)
at net.bull.javamelody.FilterContext$CollectTimerTask.run(FilterContext.java:56)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Attachments
Issue Links
- links to
Hi dtranter
Please specify the plugin version.
It seems like a missing bounds check in https://github.com/javamelody/javamelody/blob/master/javamelody-core/src/main/java/net/bull/javamelody/RrdNioBackend.java#L146-L149 . The underlying buffer management code is http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/nio/Buffer.java#235 , so there's only one way to get this exception.