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

Jochen Kemnade updated GROOVY-8115:
-----------------------------------
    Affects Version/s:     (was: 2.4.9)
                       2.5.0-beta-1
                       2.4.12

> Reported start time for timed-out executions is sometimes wrong
> ---------------------------------------------------------------
>
>                 Key: GROOVY-8115
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8115
>             Project: Groovy
>          Issue Type: Bug
>    Affects Versions: 2.5.0-beta-1, 2.4.12
>            Reporter: Jochen Kemnade
>
> Sorry for the somewhat fuzzy report, i haven't been able to find out what 
> exactly causes the error.
> Consider the following script:
> {code:java}
> def c = new GroovyClassLoader().parseClass('''
>     import groovy.transform.TimedInterrupt
>     import groovy.util.NodeBuilder
>     @TimedInterrupt(checkOnMethodStart = false, value = 1L)
>     class MyClass {
>       def myMethod() {
>         def b = new NodeBuilder()
>         b.foo {
>           while(true){
>           }
>         }
>       }
>       def getProperty(String name){ null }
>     }
> ''')
>     
> c.newInstance().myMethod()
> {code}
> If I run it, the execution is correctly aborted after a second. The error 
> message states: 
> {{Execution timed out after 1 units. Start time: null}}.
> If I don't override {{getProperty}}, the error message is {{Execution timed 
> out after 1 units. Start time: Thu Mar 09 14:35:55 CET 2017}}.
> Something is wrong with the access to the start time field in 
> {{TimedInterruptibleASTTransformation.createInterruptStatement}} 
> (https://github.com/apache/groovy/blob/GROOVY_2_4_9/src/main/org/codehaus/groovy/transform/TimedInterruptibleASTTransformation.groovy#L191).
> Taking a wild guess, I assume that it has something to do with the different 
> property resolution inside builder closures.
> I would have expected the transformation to use {{fieldX(startTimeField)}} 
> rather than {{propX(varX("this"), basename + '$startTime')}}, but when I 
> tried that, it just broke horribly.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to