[ 
https://issues.apache.org/jira/browse/GROOVY-7941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Paul King resolved GROOVY-7941.
-------------------------------
       Resolution: Fixed
         Assignee: Paul King
    Fix Version/s: 2.5.0-beta-1

> MissingMethodException should limit argument types in getMessage()
> ------------------------------------------------------------------
>
>                 Key: GROOVY-7941
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7941
>             Project: Groovy
>          Issue Type: Improvement
>          Components: groovy-jdk
>    Affects Versions: 2.4.7
>         Environment: All Environments
>            Reporter: Vlad Shtibin
>            Assignee: Paul King
>            Priority: Trivial
>             Fix For: 2.5.0-beta-1
>
>         Attachments: add_missing_method_limit.patch
>
>
> The getMessage() method in MissingMethodException uses 
> InvokerHelper.toTypeString(Object[] arguments) to generate the types of each 
> argument. When this exception occurs with a large parameter list this can 
> create a very large String. The format method which is used 2 lines later to 
> print the values uses a 40 character limit, I'd like to propose to use 
> similar logic for the types as well.
> Here is a trivial code snippet from groovysh - this log message can grow 
> unbounded:
> {code}
> groovy:000> missing(*("Test".getBytes()))
> ERROR groovy.lang.MissingMethodException:
> No signature of method: groovysh_evaluate.missing() is applicable for 
> argument types: (java.lang.Byte, java.lang.Byte, java.lang.Byte, 
> java.lang.Byte) values: [84, 101, 115, 116]
> Possible solutions: toString(), toString()
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to