You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Eric Milles (Jira)" <ji...@apache.org> on 2024/03/09 12:48:00 UTC

[jira] [Updated] (GROOVY-11270) Don't truncate argument types in MissingMethodException

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

Eric Milles updated GROOVY-11270:
---------------------------------
    Fix Version/s: 5.0.0-alpha-7
                   4.0.20

> Don't truncate argument types in MissingMethodException
> -------------------------------------------------------
>
>                 Key: GROOVY-11270
>                 URL: https://issues.apache.org/jira/browse/GROOVY-11270
>             Project: Groovy
>          Issue Type: Improvement
>          Components: groovy-runtime
>    Affects Versions: 4.0.17
>            Reporter: Christopher Smith
>            Assignee: Eric Milles
>            Priority: Major
>             Fix For: 5.0.0-alpha-7, 4.0.20
>
>
> The {{MissingMethodException#getMessage():63}} builder truncates the string indicating the types of the supplied (mismatching) arguments at 60 characters, which may not be enough to contain a single FQCN. I have spent a good deal of time debugging an error in which heap pollution and updated enforcement of type checking causes a {{List}} that is erroneously passed to a closure expecting a {{Set}} used to work (only basic collection methods are called) but now fails.
> The error message truncates the type of the runtime arguments, which would have instantly revealed the problem ({{List}} instead of {{Set}}). I don't see a good reason why this important information should be truncated, at least at anything short of a very high limit (4k or so). I request replacement of the 60-character limit with -1 or at least 4096.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)