[jboss-jira] [JBoss JIRA] (JASSIST-148) StackOverflowError when using $sig and $class in call to static method

Shigeru Chiba (JIRA) jira-events at lists.jboss.org
Sat Jan 14 12:40:19 EST 2012


    [ https://issues.jboss.org/browse/JASSIST-148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659410#comment-12659410 ] 

Shigeru Chiba commented on JASSIST-148:
---------------------------------------

Agent seems to try to transform javassist.* and cause an infinite regression.
Agent.transform() should not transform the bytecode if the class name is java.* or javassist.*.
                
> StackOverflowError when using $sig and $class in call to static method
> ----------------------------------------------------------------------
>
>                 Key: JASSIST-148
>                 URL: https://issues.jboss.org/browse/JASSIST-148
>             Project: Javassist
>          Issue Type: Bug
>    Affects Versions: 3.15.0-GA
>         Environment: Runtime Enviroment:
>  Java SE 6 Update 30 (64 bit)
> also reproduced with:
>  Java SE 7 Update 2 (64 bit)
> Compiler:
>  Eclipse Indigo (Version: 3.7.1, Build id: M20110909-1335).
> Operating System
>  Windows 7 Professional (64 bit)
> CPU:
>  Intel Core i7 860 (2,8 GHz)
>            Reporter: Wanja Gayk
>            Assignee: Shigeru Chiba
>
> Using $sig or $class as method parameter in "insertBefore"-expressions throws a StackOverflowError if the target is a static method.
> Calling nonstatic methods works like expected.
> Stack/Log-Traces:
> When using $sig:
> instrumenting class: de/plush/brix/instrumentation/Main (995 bytes)
> instrumenting class: javassist/runtime/Desc (3280 bytes)
> Exception in thread "main" java.lang.StackOverflowError
>  at javassist.runtime.Desc.getParams(Desc.java)
>  at javassist.runtime.Desc.getParams(Desc.java)
>  at javassist.runtime.Desc.getParams(Desc.java)
> [...]
> When using $class:
> instrumenting class: de/plush/brix/instrumentation/Main (995 bytes)
> instrumenting class: javassist/runtime/Desc (3280 bytes)
> Exception in thread "main" java.lang.StackOverflowError
>  at javassist.runtime.Desc.getClazz(Desc.java)
>  at javassist.runtime.Desc.getClazz(Desc.java)
> [...]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list