You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Christian Posta (JIRA)" <ji...@apache.org> on 2013/02/01 01:01:12 UTC

[jira] [Created] (AMQ-4289) activemq-perf-maven-plugin is unusable because of bug in ReflectionUtil helper class

Christian Posta created AMQ-4289:
------------------------------------

             Summary: activemq-perf-maven-plugin is unusable because of bug in ReflectionUtil helper class
                 Key: AMQ-4289
                 URL: https://issues.apache.org/jira/browse/AMQ-4289
             Project: ActiveMQ
          Issue Type: Bug
          Components: Performance Test
    Affects Versions: 5.8.0
            Reporter: Christian Posta
            Assignee: Christian Posta


End up getting stack overflow for recursive call in ReflectionUtil.retrieveClassProperties()... if there is a getter that returns itself, it will not check that the "targetObject" which it's inspecting is the same as what an identity getter would return. For example, RedeliveryPolicy has a method:

getValue() {
return this;
}

which causes this stack trace:

java.lang.StackOverflowError
	at java.io.FileOutputStream.writeBytes(Native Method)
	at java.io.FileOutputStream.write(FileOutputStream.java:282)
	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
	at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
	at java.io.PrintStream.flush(PrintStream.java:288)
	at com.intellij.rt.execution.junit.segments.SegmentedOutputStream.flush(SegmentedOutputStream.java:48)
	at com.intellij.rt.execution.junit.segments.SegmentedOutputStream.write(SegmentedOutputStream.java:44)
	at java.io.OutputStream.write(OutputStream.java:99)
	at java.io.PrintStream.write(PrintStream.java:430)
	at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
	at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
	at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85)
	at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168)
	at java.io.PrintStream.write(PrintStream.java:477)
	at java.io.PrintStream.print(PrintStream.java:619)
	at java.io.PrintStream.println(PrintStream.java:773)
	at java.lang.Throwable.printStackTrace(Throwable.java:461)
	at java.lang.Throwable.printStackTrace(Throwable.java:451)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:229)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUtil.java:218)
	at org.apache.activemq.tool.properties.ReflectionUtil.retrieveClassProperties(ReflectionUt

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira