[jira] [Updated] (GROOVY-7535) Groovy category throwing MissingMethodException and MissingPropertyException when using multiple threads
[ https://issues.apache.org/jira/browse/GROOVY-7535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jochen Kemnade updated GROOVY-7535: --- Attachment: locking.png > Groovy category throwing MissingMethodException and MissingPropertyException > when using multiple threads > > > Key: GROOVY-7535 > URL: https://issues.apache.org/jira/browse/GROOVY-7535 > Project: Groovy > Issue Type: Bug >Affects Versions: 2.3.11, 2.4.4 > Environment: I have been able to reproduce this issue on a Cent O/S > version 6.4 with Java 64 Bit JDK 1.8 and groovy 2.4.4. >Reporter: James Oswald >Assignee: Pascal Schumacher > Fix For: 2.4.6 > > Attachments: > 0001-GROOVY-7535-fix-race-condition-between-the-modificat.patch, > CategoryTest.groovy, exceptionForCategoryTest.txt, > exceptionForTimeCategoryTest.txt, locking.png, Test.groovy, > TimeCategoryTest.groovy > > > When using groovy use block, we randomly get > groovy.lang.MissingPropertyException when trying to access a property off a > category. (Attached is an example) > {quote} > index 76 > Exception in thread "Thread-77" groovy.lang.MissingPropertyException: No such > property: millisecond for class: java.lang.Integer > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:51) > at > org.codehaus.groovy.runtime.callsite.PojoMetaClassGetPropertySite.callGetProperty(PojoMetaClassGetPropertySite.java:43) > at > TimeCategoryTest$__spock_initializeFields_closure1$_closure4$_closure5.doCall(TimeCategoryTest.groovy:23) > at > TimeCategoryTest$__spock_initializeFields_closure1$_closure4$_closure5.doCall(TimeCategoryTest.groovy) > at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292) > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016) > at groovy.lang.Closure.call(Closure.java:423) > at groovy.lang.Closure.call(Closure.java:417) > at > org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:109) > at > org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.access$400(GroovyCategorySupport.java:65) > at > org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:249) > at > org.codehaus.groovy.runtime.DefaultGroovyMethods.use(DefaultGroovyMethods.java:403) > {quote} > or groovy.lang.MissingMethodException when trying to access a method from a > category. > {quote} > index 82 > Exception in thread "Thread-207" groovy.lang.MissingMethodException: No > signature of method: java.lang.String.test() is applicable for argument > types: (java.lang.String) values: [ bar] > Possible solutions: next(), toSet(), getAt(java.lang.String), wait(). trim(), > toList() > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:56) > at > org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122) > at > CategoryTest$__spock_initializeFields_closure1$_closure5.doCall(CategoryTest.groovy:24) > at > CategoryTest$__spock_initializeFields_closure1$_closure5.doCall(CategoryTest.groovy) > at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292) > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016) > at groovy.lang.Closure.call(Closure.java:423) > at groovy.lang.Closure.call(Closure.java:417) > at >
[jira] [Updated] (GROOVY-7535) Groovy category throwing MissingMethodException and MissingPropertyException when using multiple threads
[ https://issues.apache.org/jira/browse/GROOVY-7535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jochen Kemnade updated GROOVY-7535: --- Attachment: 0001-GROOVY-7535-fix-race-condition-between-the-modificat.patch > Groovy category throwing MissingMethodException and MissingPropertyException > when using multiple threads > > > Key: GROOVY-7535 > URL: https://issues.apache.org/jira/browse/GROOVY-7535 > Project: Groovy > Issue Type: Bug >Affects Versions: 2.3.11, 2.4.4 > Environment: I have been able to reproduce this issue on a Cent O/S > version 6.4 with Java 64 Bit JDK 1.8 and groovy 2.4.4. >Reporter: James Oswald >Assignee: Pascal Schumacher > Fix For: 2.4.6 > > Attachments: > 0001-GROOVY-7535-fix-race-condition-between-the-modificat.patch, > CategoryTest.groovy, exceptionForCategoryTest.txt, > exceptionForTimeCategoryTest.txt, Test.groovy, TimeCategoryTest.groovy > > > When using groovy use block, we randomly get > groovy.lang.MissingPropertyException when trying to access a property off a > category. (Attached is an example) > {quote} > index 76 > Exception in thread "Thread-77" groovy.lang.MissingPropertyException: No such > property: millisecond for class: java.lang.Integer > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:51) > at > org.codehaus.groovy.runtime.callsite.PojoMetaClassGetPropertySite.callGetProperty(PojoMetaClassGetPropertySite.java:43) > at > TimeCategoryTest$__spock_initializeFields_closure1$_closure4$_closure5.doCall(TimeCategoryTest.groovy:23) > at > TimeCategoryTest$__spock_initializeFields_closure1$_closure4$_closure5.doCall(TimeCategoryTest.groovy) > at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292) > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016) > at groovy.lang.Closure.call(Closure.java:423) > at groovy.lang.Closure.call(Closure.java:417) > at > org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:109) > at > org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.access$400(GroovyCategorySupport.java:65) > at > org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:249) > at > org.codehaus.groovy.runtime.DefaultGroovyMethods.use(DefaultGroovyMethods.java:403) > {quote} > or groovy.lang.MissingMethodException when trying to access a method from a > category. > {quote} > index 82 > Exception in thread "Thread-207" groovy.lang.MissingMethodException: No > signature of method: java.lang.String.test() is applicable for argument > types: (java.lang.String) values: [ bar] > Possible solutions: next(), toSet(), getAt(java.lang.String), wait(). trim(), > toList() > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:56) > at > org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122) > at > CategoryTest$__spock_initializeFields_closure1$_closure5.doCall(CategoryTest.groovy:24) > at > CategoryTest$__spock_initializeFields_closure1$_closure5.doCall(CategoryTest.groovy) > at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292) > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016) > at groovy.lang.Closure.call(Closure.java:423) > at groovy.lang.Closure.call(Closure.java:417) > at >
[jira] [Updated] (GROOVY-7535) Groovy category throwing MissingMethodException and MissingPropertyException when using multiple threads
[ https://issues.apache.org/jira/browse/GROOVY-7535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jochen Kemnade updated GROOVY-7535: --- Attachment: (was: 0001-GROOVY-7535-another-thread-might-have-incremented-at.patch) > Groovy category throwing MissingMethodException and MissingPropertyException > when using multiple threads > > > Key: GROOVY-7535 > URL: https://issues.apache.org/jira/browse/GROOVY-7535 > Project: Groovy > Issue Type: Bug >Affects Versions: 2.3.11, 2.4.4 > Environment: I have been able to reproduce this issue on a Cent O/S > version 6.4 with Java 64 Bit JDK 1.8 and groovy 2.4.4. >Reporter: James Oswald >Assignee: Pascal Schumacher > Fix For: 2.4.6 > > Attachments: CategoryTest.groovy, exceptionForCategoryTest.txt, > exceptionForTimeCategoryTest.txt, Test.groovy, TimeCategoryTest.groovy > > > When using groovy use block, we randomly get > groovy.lang.MissingPropertyException when trying to access a property off a > category. (Attached is an example) > {quote} > index 76 > Exception in thread "Thread-77" groovy.lang.MissingPropertyException: No such > property: millisecond for class: java.lang.Integer > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:51) > at > org.codehaus.groovy.runtime.callsite.PojoMetaClassGetPropertySite.callGetProperty(PojoMetaClassGetPropertySite.java:43) > at > TimeCategoryTest$__spock_initializeFields_closure1$_closure4$_closure5.doCall(TimeCategoryTest.groovy:23) > at > TimeCategoryTest$__spock_initializeFields_closure1$_closure4$_closure5.doCall(TimeCategoryTest.groovy) > at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292) > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016) > at groovy.lang.Closure.call(Closure.java:423) > at groovy.lang.Closure.call(Closure.java:417) > at > org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:109) > at > org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.access$400(GroovyCategorySupport.java:65) > at > org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:249) > at > org.codehaus.groovy.runtime.DefaultGroovyMethods.use(DefaultGroovyMethods.java:403) > {quote} > or groovy.lang.MissingMethodException when trying to access a method from a > category. > {quote} > index 82 > Exception in thread "Thread-207" groovy.lang.MissingMethodException: No > signature of method: java.lang.String.test() is applicable for argument > types: (java.lang.String) values: [ bar] > Possible solutions: next(), toSet(), getAt(java.lang.String), wait(). trim(), > toList() > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:56) > at > org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122) > at > CategoryTest$__spock_initializeFields_closure1$_closure5.doCall(CategoryTest.groovy:24) > at > CategoryTest$__spock_initializeFields_closure1$_closure5.doCall(CategoryTest.groovy) > at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292) > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016) > at groovy.lang.Closure.call(Closure.java:423) > at groovy.lang.Closure.call(Closure.java:417) > at >
[jira] [Updated] (GROOVY-7535) Groovy category throwing MissingMethodException and MissingPropertyException when using multiple threads
[ https://issues.apache.org/jira/browse/GROOVY-7535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jochen Kemnade updated GROOVY-7535: --- Attachment: 0001-GROOVY-7535-another-thread-might-have-incremented-at.patch Patch attached, I'm currently testing it. > Groovy category throwing MissingMethodException and MissingPropertyException > when using multiple threads > > > Key: GROOVY-7535 > URL: https://issues.apache.org/jira/browse/GROOVY-7535 > Project: Groovy > Issue Type: Bug >Affects Versions: 2.3.11, 2.4.4 > Environment: I have been able to reproduce this issue on a Cent O/S > version 6.4 with Java 64 Bit JDK 1.8 and groovy 2.4.4. >Reporter: James Oswald >Assignee: Pascal Schumacher > Fix For: 2.4.6 > > Attachments: > 0001-GROOVY-7535-another-thread-might-have-incremented-at.patch, > CategoryTest.groovy, exceptionForCategoryTest.txt, > exceptionForTimeCategoryTest.txt, Test.groovy, TimeCategoryTest.groovy > > > When using groovy use block, we randomly get > groovy.lang.MissingPropertyException when trying to access a property off a > category. (Attached is an example) > {quote} > index 76 > Exception in thread "Thread-77" groovy.lang.MissingPropertyException: No such > property: millisecond for class: java.lang.Integer > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:51) > at > org.codehaus.groovy.runtime.callsite.PojoMetaClassGetPropertySite.callGetProperty(PojoMetaClassGetPropertySite.java:43) > at > TimeCategoryTest$__spock_initializeFields_closure1$_closure4$_closure5.doCall(TimeCategoryTest.groovy:23) > at > TimeCategoryTest$__spock_initializeFields_closure1$_closure4$_closure5.doCall(TimeCategoryTest.groovy) > at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292) > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016) > at groovy.lang.Closure.call(Closure.java:423) > at groovy.lang.Closure.call(Closure.java:417) > at > org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:109) > at > org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.access$400(GroovyCategorySupport.java:65) > at > org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:249) > at > org.codehaus.groovy.runtime.DefaultGroovyMethods.use(DefaultGroovyMethods.java:403) > {quote} > or groovy.lang.MissingMethodException when trying to access a method from a > category. > {quote} > index 82 > Exception in thread "Thread-207" groovy.lang.MissingMethodException: No > signature of method: java.lang.String.test() is applicable for argument > types: (java.lang.String) values: [ bar] > Possible solutions: next(), toSet(), getAt(java.lang.String), wait(). trim(), > toList() > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:56) > at > org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:46) > at > org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:122) > at > CategoryTest$__spock_initializeFields_closure1$_closure5.doCall(CategoryTest.groovy:24) > at > CategoryTest$__spock_initializeFields_closure1$_closure5.doCall(CategoryTest.groovy) > at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90) > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324) > at > org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:292) > at > groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016) > at groovy.lang.Closure.call(Closure.java:423) > at groovy.lang.Closure.call(Closure.java:417) > at >