[ 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)