ddwivedy | 5 Apr 17:39 2011
Picon

[groovy-dev] Groovy code to write a updated thing to an existing file

Hi Friends,

I am new to groovy.I have an requirement to read some particular content
from some file in certain location and update(write back) the particular
word in each file with some updated thing.

I did some basic coding by which I am able to update the code with new
content and able to display it in console but problem is I am not able to
write it back or in other word I can say not able to replace the word with
updated word which I am generating in code.

Please help me on this...

Here-with attaching the code i wrote..

package Tools
import java.io.File;
import java.lang.*;

class TabIndexDetermine {
	static void main(def args){
				def i=0
				//Getting the MXML Files present in the required location
				List files = new File("C:/My
Configuration/Test").listFiles().findAll{it.name =~/.*.mxml$/}
				def fileNumber= files.size()
				def a=0
				println "Number of Files:->" +fileNumber
				def stringRed=0
				
(Continue reading)

Merlyn Albery-Speyer | 5 Apr 18:43 2011
Picon

Re: [groovy-dev] Groovy code to write a updated thing to an existing file

Hi ddwivedy,

You're on the groovy dev mailing list. You should be posting to the
groovy user mailing list. You should be able to get good mileage out
of something like:

File file = new File(...)
String text = file.text
// ....
file.write( text )

Cheers,
Merlyn

On Tue, Apr 5, 2011 at 8:39 AM, ddwivedy <en.debashisdwivedy <at> gmail.com> wrote:
> Hi Friends,
>
> I am new to groovy.I have an requirement to read some particular content
> from some file in certain location and update(write back) the particular
> word in each file with some updated thing.
>
> I did some basic coding by which I am able to update the code with new
> content and able to display it in console but problem is I am not able to
> write it back or in other word I can say not able to replace the word with
> updated word which I am generating in code.
>
> Please help me on this...
>
> Here-with attaching the code i wrote..
>
(Continue reading)

David Durham | 5 Apr 23:24 2011
Picon

Re: [groovy-dev] Re: adding paging to the Sql class

> Thanks.  I verified the code and tests in this patch appear to work correctly:
>
>   http://jira.codehaus.org/browse/GROOVY-4622
>
> What I did was add 'offset' and 'maxRows' arguments to eachRow and
> rows methods, and added corresponding, though simplistic, tests to
> SqlCompleteTest.  I have not added additional documentation.  Please
> let me know if this patch looks acceptable, needs changing or other.

Hi all,

I have another patch.  This one includes:

1. Javadoc comments for all methods and an addition to the class level javadoc
2. added paging to the eachRow and rows methods that take a gstring arg

Should I just reopen this ticket or create a new one.

Thanks,
Dave

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email

Jochen Theodorou | 5 Apr 23:59 2011
Picon

Re: [groovy-dev] Re: adding paging to the Sql class

Am 05.04.2011 23:24, schrieb David Durham:
[...]
> I have another patch.  This one includes:
>
> 1. Javadoc comments for all methods and an addition to the class level javadoc
> 2. added paging to the eachRow and rows methods that take a gstring arg
>
> Should I just reopen this ticket or create a new one.

a new one... even better would be two actually... one for the javadoc 
stuff and one for the paging.

bye blackdrag

--

-- 
Jochen "blackdrag" Theodorou
The Groovy Project Tech Lead
http://blackdragsview.blogspot.com/
For Groovy programming sources visit http://groovy.codehaus.org

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email

debashis dwivedy | 6 Apr 13:46 2011
Picon

[groovy-dev] Fwd: Groovy code to write a updated thing to an existing file

Hi Dev Members,
 
Please help me on resolving the code issue,mentioned in the trailing mail.
 
Hi Merlyn,
 
Thanks for the information.
 
Thanks
Debashis Dwivedy

---------- Forwarded message ----------
From: Merlyn Albery-Speyer [via Groovy] <ml-node+4284485-1868462365-196151-hR7aq8U8IYVl57MIdRCFDg@public.gmane.org>
Date: Tue, Apr 5, 2011 at 10:13 PM
Subject: Re: Groovy code to write a updated thing to an existing file
To: ddwivedy <en.debashisdwivedy-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>


Hi ddwivedy,

You're on the groovy dev mailing list. You should be posting to the
groovy user mailing list. You should be able to get good mileage out
of something like:

File file = new File(...)
String text = file.text
// ....
file.write( text )

Cheers,
Merlyn

On Tue, Apr 5, 2011 at 8:39 AM, ddwivedy <[hidden email]> wrote:

> Hi Friends,
>
> I am new to groovy.I have an requirement to read some particular content
> from some file in certain location and update(write back) the particular
> word in each file with some updated thing.
>
> I did some basic coding by which I am able to update the code with new
> content and able to display it in console but problem is I am not able to
> write it back or in other word I can say not able to replace the word with
> updated word which I am generating in code.
>
> Please help me on this...
>
> Here-with attaching the code i wrote..
>
> package Tools
> import java.io.File;
> import java.lang.*;
>
> class TabIndexDetermine {
>        static void main(def args){
>                                def i=0
>                                //Getting the MXML Files present in the required location
>                                List files = new File("C:/My
> Configuration/Test").listFiles().findAll{it.name =~/.*.mxml$/}
>                                def fileNumber= files.size()
>                                def a=0
>                                println "Number of Files:->" +fileNumber
>                                def stringRed=0
>
>                                def n=1
>                                def finalValue=null
>                                //Getting "tabindex" present in the file through loop
>                                while(a < fileNumber){
>                                        def fileName =files.get(a)
>                                        def count=0
>                                        println "Full path of the File::->" +fileName
>                                        //fileName.eachLine{if (it =~ /tabindex/) println "The
> Occueraces--->"+it.each {stringRed++;}}//Getting the Entire Line
>                                        //fileName.each{ if (it =~ /tabindex/) println "The
> Occueraces1--->"+it}
>                                        fileName.eachLine
>                                                          {if(it =~ /tabIndex/) {
>                                                                  count++
>                                                                        def occurance=it.findResult{'tabIndex=""'}
>                                                                  println "The Exact Occuerances--->"+occurance
>                                                                        def value="tabIndex='" +count*(10)+"'"
>                                                                  println "The Printable value is:->" +value
>
>                                                                  println "Successful"
>                                                                /*  fileName.eachLine{
>                                                                  }*/
>                                                                  /*fileText = a.text;
>                                                                  backupFile = new File(a + ".bak");
>                                                                  backupFile.write(fileText);
>                                                                  fileText = fileText.replace(occurance, value)
>                                                                  file.write(fileText);*/
>                                                                 /* a.replace("it.findResult{'tabIndex'}", value)
>                                                                  file.writeText(a)*/
>                                                                }
>                                                          }//Getting the exact word
>                                          println "The Total Count of TanIndexes in the "+n+" files is/are:->"
> +count
>                                          n++
>                                          //count=0
>                                          a++
>                                }
>
>                        }
>                }
>
> --
> View this message in context: http://groovy.329449.n5.nabble.com/Groovy-code-to-write-a-updated-thing-to-an-existing-file-tp4284301p4284301.html
> Sent from the groovy - dev mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>


If you reply to this email, your message will be added to the discussion below:
http://groovy.329449.n5.nabble.com/Groovy-code-to-write-a-updated-thing-to-an-existing-file-tp4284301p4284485.html
To unsubscribe from Groovy code to write a updated thing to an existing file, click here.



--
Debashis Dwivedy.........(PINKU)
David Durham | 6 Apr 17:36 2011
Picon

Re: [groovy-dev] Re: adding paging to the Sql class

>> Should I just reopen this ticket or create a new one.
>
> a new one... even better would be two actually... one for the javadoc stuff
> and one for the paging.

http://jira.codehaus.org/browse/GROOVY-4771
http://jira.codehaus.org/browse/GROOVY-4772

Thanks,
Dave

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email

Jason Dillon | 9 Apr 02:59 2011

[groovy-dev] Keep running into deadlock related to java.beans.* on concurrent script eval

I've tested 1.6 (deadlocks very quickly), 1.7.10 and 1.8.0-rc-3 both of which require heavy concurrency
for this to happen.

The scenario is that I have 1 hudson multi-configuration project with a groovy builder that simply
evaluates (using its system mode, so in the same JVM its re-using the Groovy runtime and essentially doing
new GroovyShell().evaluate(string)) :

println "Hello from ${this}"

I've set up 4 axes a,b,c all have 10 values, d has 2, so thats 2000 builds and 2000 groovy evaluations from a
string.  This takes ~40s to complete on my mac over 10 executor threads.  I set it up to run every minute.  I've
gotten well over 40000 builds/script evaluations.  But it always seems to end after some time with a
deadlock when parsing the script/building the script class and using java.beans.* methods:

<snip>
Java-level deadlocks have been detected

This means that some threads are blocked waiting to enter a synchronization block or
waiting to reenter a synchronization block after an Object.wait() call, where each thread
owns one monitor while trying to obtain another monitor already held by another thread.

Deadlock:

Executor #4 for master : executing test-groovy/a=3,b=3,c=8,d=1 #56 is waiting to lock
java.beans.PropertyDescriptor <at> 34f4d25f which is held by Executor #8 for master : executing
test-groovy/a=5,b=4,c=3,d=0 #56
Executor #8 for master : executing test-groovy/a=5,b=4,c=3,d=0 #56 is waiting to lock
java.lang.Object <at> 1bbb60c3 which is held by Executor #4 for master : executing
test-groovy/a=3,b=3,c=8,d=1 #56

Thread stacks

Executor #4 for master : executing test-groovy/a=3,b=3,c=8,d=1 #56 [BLOCKED; waiting to lock java.beans.PropertyDescriptor <at> 34f4d25f]
java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:158)
java.beans.Introspector.processPropertyDescriptors(Introspector.java:683)
java.beans.Introspector.getTargetPropertyInfo(Introspector.java:615)
java.beans.Introspector.getBeanInfo(Introspector.java:407)
java.beans.Introspector.getBeanInfo(Introspector.java:164)
groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:2937)
java.security.AccessController.doPrivileged(native method)
groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2935)
groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
groovy.lang.Script.<init>(Script.java:40)
groovy.lang.Script.<init>(Script.java:37)
Script1.<init>(Script1.groovy)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(native method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
java.lang.Class.newInstance0(Class.java:355)
java.lang.Class.newInstance(Class.java:308)
org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
groovy.lang.GroovyShell.parse(GroovyShell.java:743)
groovy.lang.GroovyShell.parse(GroovyShell.java:723)
groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
hudson.model.Build$RunnerImpl.build(Build.java:174)
hudson.model.Build$RunnerImpl.doRun(Build.java:138)
hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
hudson.model.Run.run(Run.java:1277)
hudson.matrix.MatrixRun.run(MatrixRun.java:145)
hudson.model.ResourceController.execute(ResourceController.java:88)
hudson.model.Executor.run(Executor.java:137)

Executor #8 for master : executing test-groovy/a=5,b=4,c=3,d=0 #56 [BLOCKED; waiting to lock java.lang.Object <at> 1bbb60c3]
java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1277)
java.beans.Introspector.internalFindMethod(Introspector.java:1312)
java.beans.Introspector.findMethod(Introspector.java:1383)
java.beans.Introspector.findMethod(Introspector.java:1363)
java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:179)
groovy.lang.MetaClassImpl.applyPropertyDescriptors(MetaClassImpl.java:2212)
groovy.lang.MetaClassImpl.setupProperties(MetaClassImpl.java:1992)
groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2947)
groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
groovy.lang.Script.<init>(Script.java:40)
groovy.lang.Script.<init>(Script.java:37)
Script1.<init>(Script1.groovy)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(native method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
java.lang.reflect.Constructor.newInstance(Constructor.java:513)
java.lang.Class.newInstance0(Class.java:355)
java.lang.Class.newInstance(Class.java:308)
org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
groovy.lang.GroovyShell.parse(GroovyShell.java:743)
groovy.lang.GroovyShell.parse(GroovyShell.java:723)
groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
hudson.model.Build$RunnerImpl.build(Build.java:174)
hudson.model.Build$RunnerImpl.doRun(Build.java:138)
hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
hudson.model.Run.run(Run.java:1277)
hudson.matrix.MatrixRun.run(MatrixRun.java:145)
hudson.model.ResourceController.execute(ResourceController.java:88)
hudson.model.Executor.run(Executor.java:137)
</snip>

Any idea why?

--jason
---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email

Jason Dillon | 9 Apr 04:00 2011

[groovy-dev] Re: Keep running into deadlock related to java.beans.* on concurrent script eval

Another deadlock trace, this one went for 40min and ran ~100k script evals before it locked up:

<snip>
Found one Java-level deadlock:
=============================
"Executor #14 for master : executing test-groovy/a=0,b=7,c=1,d=1 #94":
  waiting to lock monitor 139fb9238 (object 10c85bee8, a java.lang.Object),
  which is held by "Executor #12 for master : executing test-groovy/a=8,b=2,c=7,d=1 #94"
"Executor #12 for master : executing test-groovy/a=8,b=2,c=7,d=1 #94":
  waiting to lock monitor 13b9db720 (object 111ab8f08, a java.beans.PropertyDescriptor),
  which is held by "Executor #13 for master : executing test-groovy/a=3,b=7,c=0,d=1 #94"
"Executor #13 for master : executing test-groovy/a=3,b=7,c=0,d=1 #94":
  waiting to lock monitor 139fb9238 (object 10c85bee8, a java.lang.Object),
  which is held by "Executor #12 for master : executing test-groovy/a=8,b=2,c=7,d=1 #94"

Java stack information for the threads listed above:
===================================================
"Executor #14 for master : executing test-groovy/a=0,b=7,c=1,d=1 #94":
	at java.beans.Introspector.getBeanInfo(Introspector.java:157)
	- waiting to lock <10c85bee8> (a java.lang.Object)
	at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:2937)
	at java.security.AccessController.doPrivileged(Native Method)
	at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2935)
	at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
	- locked <118144610> (a groovy.lang.MetaClassImpl)
	at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
	at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
	at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
	at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
	at groovy.lang.Script.<init>(Script.java:40)
	at groovy.lang.Script.<init>(Script.java:37)
	at Script1.<init>(Script1.groovy)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
	at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
	at groovy.lang.GroovyShell.parse(GroovyShell.java:723)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
	at hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
	at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
	at hudson.model.Build$RunnerImpl.build(Build.java:174)
	at hudson.model.Build$RunnerImpl.doRun(Build.java:138)
	at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
	at hudson.model.Run.run(Run.java:1277)
	at hudson.matrix.MatrixRun.run(MatrixRun.java:145)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:137)
"Executor #12 for master : executing test-groovy/a=8,b=2,c=7,d=1 #94":
	at java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:158)
	- waiting to lock <111ab8f08> (a java.beans.PropertyDescriptor)
	at java.beans.Introspector.processPropertyDescriptors(Introspector.java:683)
	at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:615)
	at java.beans.Introspector.getBeanInfo(Introspector.java:407)
	at java.beans.Introspector.getBeanInfo(Introspector.java:164)
	- locked <10c85bee8> (a java.lang.Object)
	at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:2937)
	at java.security.AccessController.doPrivileged(Native Method)
	at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2935)
	at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
	- locked <118158c18> (a groovy.lang.MetaClassImpl)
	at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
	at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
	at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
	at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
	at groovy.lang.Script.<init>(Script.java:40)
	at groovy.lang.Script.<init>(Script.java:37)
	at Script1.<init>(Script1.groovy)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
	at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
	at groovy.lang.GroovyShell.parse(GroovyShell.java:723)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
	at hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
	at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
	at hudson.model.Build$RunnerImpl.build(Build.java:174)
	at hudson.model.Build$RunnerImpl.doRun(Build.java:138)
	at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
	at hudson.model.Run.run(Run.java:1277)
	at hudson.matrix.MatrixRun.run(MatrixRun.java:145)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:137)
"Executor #13 for master : executing test-groovy/a=3,b=7,c=0,d=1 #94":
	at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1277)
	- waiting to lock <10c85bee8> (a java.lang.Object)
	at java.beans.Introspector.internalFindMethod(Introspector.java:1312)
	at java.beans.Introspector.findMethod(Introspector.java:1383)
	at java.beans.Introspector.findMethod(Introspector.java:1363)
	at java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:179)
	- locked <111ab8f08> (a java.beans.PropertyDescriptor)
	at groovy.lang.MetaClassImpl.applyPropertyDescriptors(MetaClassImpl.java:2212)
	at groovy.lang.MetaClassImpl.setupProperties(MetaClassImpl.java:1992)
	at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2947)
	at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
	- locked <118145a88> (a groovy.lang.MetaClassImpl)
	at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
	at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
	at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
	at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
	at groovy.lang.Script.<init>(Script.java:40)
	at groovy.lang.Script.<init>(Script.java:37)
	at Script1.<init>(Script1.groovy)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
	at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
	at groovy.lang.GroovyShell.parse(GroovyShell.java:723)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
	at groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
	at hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
	at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
	at hudson.model.Build$RunnerImpl.build(Build.java:174)
	at hudson.model.Build$RunnerImpl.doRun(Build.java:138)
	at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
	at hudson.model.Run.run(Run.java:1277)
	at hudson.matrix.MatrixRun.run(MatrixRun.java:145)
	at hudson.model.ResourceController.execute(ResourceController.java:88)
	at hudson.model.Executor.run(Executor.java:137)

Found 1 deadlock.
</snip>

--jason

On Apr 8, 2011, at 5:59 PM, Jason Dillon wrote:

> I've tested 1.6 (deadlocks very quickly), 1.7.10 and 1.8.0-rc-3 both of which require heavy concurrency
for this to happen.
> 
> The scenario is that I have 1 hudson multi-configuration project with a groovy builder that simply
evaluates (using its system mode, so in the same JVM its re-using the Groovy runtime and essentially doing
new GroovyShell().evaluate(string)) :
> 
> println "Hello from ${this}"
> 
> I've set up 4 axes a,b,c all have 10 values, d has 2, so thats 2000 builds and 2000 groovy evaluations from a
string.  This takes ~40s to complete on my mac over 10 executor threads.  I set it up to run every minute.  I've
gotten well over 40000 builds/script evaluations.  But it always seems to end after some time with a
deadlock when parsing the script/building the script class and using java.beans.* methods:
> 
> <snip>
> Java-level deadlocks have been detected
> 
> This means that some threads are blocked waiting to enter a synchronization block or
> waiting to reenter a synchronization block after an Object.wait() call, where each thread
> owns one monitor while trying to obtain another monitor already held by another thread.
> 
> Deadlock:
> 
> Executor #4 for master : executing test-groovy/a=3,b=3,c=8,d=1 #56 is waiting to lock
java.beans.PropertyDescriptor <at> 34f4d25f which is held by Executor #8 for master : executing
test-groovy/a=5,b=4,c=3,d=0 #56
> Executor #8 for master : executing test-groovy/a=5,b=4,c=3,d=0 #56 is waiting to lock
java.lang.Object <at> 1bbb60c3 which is held by Executor #4 for master : executing
test-groovy/a=3,b=3,c=8,d=1 #56
> 
> Thread stacks
> 
> Executor #4 for master : executing test-groovy/a=3,b=3,c=8,d=1 #56 [BLOCKED; waiting to lock java.beans.PropertyDescriptor <at> 34f4d25f]
> java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:158)
> java.beans.Introspector.processPropertyDescriptors(Introspector.java:683)
> java.beans.Introspector.getTargetPropertyInfo(Introspector.java:615)
> java.beans.Introspector.getBeanInfo(Introspector.java:407)
> java.beans.Introspector.getBeanInfo(Introspector.java:164)
> groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:2937)
> java.security.AccessController.doPrivileged(native method)
> groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2935)
> groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
> org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
> org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
> org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
> groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
> groovy.lang.Script.<init>(Script.java:40)
> groovy.lang.Script.<init>(Script.java:37)
> Script1.<init>(Script1.groovy)
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(native method)
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> java.lang.Class.newInstance0(Class.java:355)
> java.lang.Class.newInstance(Class.java:308)
> org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
> groovy.lang.GroovyShell.parse(GroovyShell.java:743)
> groovy.lang.GroovyShell.parse(GroovyShell.java:723)
> groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
> groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
> hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
> hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
> hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
> hudson.model.Build$RunnerImpl.build(Build.java:174)
> hudson.model.Build$RunnerImpl.doRun(Build.java:138)
> hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
> hudson.model.Run.run(Run.java:1277)
> hudson.matrix.MatrixRun.run(MatrixRun.java:145)
> hudson.model.ResourceController.execute(ResourceController.java:88)
> hudson.model.Executor.run(Executor.java:137)
> 
> 
> Executor #8 for master : executing test-groovy/a=5,b=4,c=3,d=0 #56 [BLOCKED; waiting to lock java.lang.Object <at> 1bbb60c3]
> java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1277)
> java.beans.Introspector.internalFindMethod(Introspector.java:1312)
> java.beans.Introspector.findMethod(Introspector.java:1383)
> java.beans.Introspector.findMethod(Introspector.java:1363)
> java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:179)
> groovy.lang.MetaClassImpl.applyPropertyDescriptors(MetaClassImpl.java:2212)
> groovy.lang.MetaClassImpl.setupProperties(MetaClassImpl.java:1992)
> groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2947)
> groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
> org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
> org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
> org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
> groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
> groovy.lang.Script.<init>(Script.java:40)
> groovy.lang.Script.<init>(Script.java:37)
> Script1.<init>(Script1.groovy)
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(native method)
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> java.lang.Class.newInstance0(Class.java:355)
> java.lang.Class.newInstance(Class.java:308)
> org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
> groovy.lang.GroovyShell.parse(GroovyShell.java:743)
> groovy.lang.GroovyShell.parse(GroovyShell.java:723)
> groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
> groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
> hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
> hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
> hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
> hudson.model.Build$RunnerImpl.build(Build.java:174)
> hudson.model.Build$RunnerImpl.doRun(Build.java:138)
> hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
> hudson.model.Run.run(Run.java:1277)
> hudson.matrix.MatrixRun.run(MatrixRun.java:145)
> hudson.model.ResourceController.execute(ResourceController.java:88)
> hudson.model.Executor.run(Executor.java:137)
> </snip>
> 
> Any idea why?
> 
> --jason

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email

Guillaume Laforge | 9 Apr 10:44 2011

Re: [groovy-dev] Re: Keep running into deadlock related to java.beans.* on concurrent script eval

Is it similar to that issue?


Could you try the two patches attached to the issue?

Guillaume



On Sat, Apr 9, 2011 at 04:00, Jason Dillon <jason-vhcKWCaVd9RWk0Htik3J/w@public.gmane.org> wrote:
Another deadlock trace, this one went for 40min and ran ~100k script evals before it locked up:

<snip>
Found one Java-level deadlock:
=============================
"Executor #14 for master : executing test-groovy/a=0,b=7,c=1,d=1 #94":
 waiting to lock monitor 139fb9238 (object 10c85bee8, a java.lang.Object),
 which is held by "Executor #12 for master : executing test-groovy/a=8,b=2,c=7,d=1 #94"
"Executor #12 for master : executing test-groovy/a=8,b=2,c=7,d=1 #94":
 waiting to lock monitor 13b9db720 (object 111ab8f08, a java.beans.PropertyDescriptor),
 which is held by "Executor #13 for master : executing test-groovy/a=3,b=7,c=0,d=1 #94"
"Executor #13 for master : executing test-groovy/a=3,b=7,c=0,d=1 #94":
 waiting to lock monitor 139fb9238 (object 10c85bee8, a java.lang.Object),
 which is held by "Executor #12 for master : executing test-groovy/a=8,b=2,c=7,d=1 #94"

Java stack information for the threads listed above:
===================================================
"Executor #14 for master : executing test-groovy/a=0,b=7,c=1,d=1 #94":
       at java.beans.Introspector.getBeanInfo(Introspector.java:157)
       - waiting to lock <10c85bee8> (a java.lang.Object)
       at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:2937)
       at java.security.AccessController.doPrivileged(Native Method)
       at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2935)
       at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
       - locked <118144610> (a groovy.lang.MetaClassImpl)
       at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
       at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
       at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
       at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
       at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
       at groovy.lang.Script.<init>(Script.java:40)
       at groovy.lang.Script.<init>(Script.java:37)
       at Script1.<init>(Script1.groovy)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
       at java.lang.Class.newInstance0(Class.java:355)
       at java.lang.Class.newInstance(Class.java:308)
       at org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
       at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
       at groovy.lang.GroovyShell.parse(GroovyShell.java:723)
       at groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
       at groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
       at hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
       at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
       at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
       at hudson.model.Build$RunnerImpl.build(Build.java:174)
       at hudson.model.Build$RunnerImpl.doRun(Build.java:138)
       at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
       at hudson.model.Run.run(Run.java:1277)
       at hudson.matrix.MatrixRun.run(MatrixRun.java:145)
       at hudson.model.ResourceController.execute(ResourceController.java:88)
       at hudson.model.Executor.run(Executor.java:137)
"Executor #12 for master : executing test-groovy/a=8,b=2,c=7,d=1 #94":
       at java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:158)
       - waiting to lock <111ab8f08> (a java.beans.PropertyDescriptor)
       at java.beans.Introspector.processPropertyDescriptors(Introspector.java:683)
       at java.beans.Introspector.getTargetPropertyInfo(Introspector.java:615)
       at java.beans.Introspector.getBeanInfo(Introspector.java:407)
       at java.beans.Introspector.getBeanInfo(Introspector.java:164)
       - locked <10c85bee8> (a java.lang.Object)
       at groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:2937)
       at java.security.AccessController.doPrivileged(Native Method)
       at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2935)
       at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
       - locked <118158c18> (a groovy.lang.MetaClassImpl)
       at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
       at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
       at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
       at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
       at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
       at groovy.lang.Script.<init>(Script.java:40)
       at groovy.lang.Script.<init>(Script.java:37)
       at Script1.<init>(Script1.groovy)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
       at java.lang.Class.newInstance0(Class.java:355)
       at java.lang.Class.newInstance(Class.java:308)
       at org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
       at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
       at groovy.lang.GroovyShell.parse(GroovyShell.java:723)
       at groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
       at groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
       at hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
       at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
       at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
       at hudson.model.Build$RunnerImpl.build(Build.java:174)
       at hudson.model.Build$RunnerImpl.doRun(Build.java:138)
       at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
       at hudson.model.Run.run(Run.java:1277)
       at hudson.matrix.MatrixRun.run(MatrixRun.java:145)
       at hudson.model.ResourceController.execute(ResourceController.java:88)
       at hudson.model.Executor.run(Executor.java:137)
"Executor #13 for master : executing test-groovy/a=3,b=7,c=0,d=1 #94":
       at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1277)
       - waiting to lock <10c85bee8> (a java.lang.Object)
       at java.beans.Introspector.internalFindMethod(Introspector.java:1312)
       at java.beans.Introspector.findMethod(Introspector.java:1383)
       at java.beans.Introspector.findMethod(Introspector.java:1363)
       at java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:179)
       - locked <111ab8f08> (a java.beans.PropertyDescriptor)
       at groovy.lang.MetaClassImpl.applyPropertyDescriptors(MetaClassImpl.java:2212)
       at groovy.lang.MetaClassImpl.setupProperties(MetaClassImpl.java:1992)
       at groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2947)
       at groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
       - locked <118145a88> (a groovy.lang.MetaClassImpl)
       at org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
       at org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
       at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
       at org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
       at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
       at groovy.lang.Script.<init>(Script.java:40)
       at groovy.lang.Script.<init>(Script.java:37)
       at Script1.<init>(Script1.groovy)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
       at java.lang.Class.newInstance0(Class.java:355)
       at java.lang.Class.newInstance(Class.java:308)
       at org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
       at groovy.lang.GroovyShell.parse(GroovyShell.java:743)
       at groovy.lang.GroovyShell.parse(GroovyShell.java:723)
       at groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
       at groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
       at hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
       at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
       at hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
       at hudson.model.Build$RunnerImpl.build(Build.java:174)
       at hudson.model.Build$RunnerImpl.doRun(Build.java:138)
       at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
       at hudson.model.Run.run(Run.java:1277)
       at hudson.matrix.MatrixRun.run(MatrixRun.java:145)
       at hudson.model.ResourceController.execute(ResourceController.java:88)
       at hudson.model.Executor.run(Executor.java:137)

Found 1 deadlock.
</snip>

--jason


On Apr 8, 2011, at 5:59 PM, Jason Dillon wrote:

> I've tested 1.6 (deadlocks very quickly), 1.7.10 and 1.8.0-rc-3 both of which require heavy concurrency for this to happen.
>
> The scenario is that I have 1 hudson multi-configuration project with a groovy builder that simply evaluates (using its system mode, so in the same JVM its re-using the Groovy runtime and essentially doing new GroovyShell().evaluate(string)) :
>
> println "Hello from ${this}"
>
> I've set up 4 axes a,b,c all have 10 values, d has 2, so thats 2000 builds and 2000 groovy evaluations from a string.  This takes ~40s to complete on my mac over 10 executor threads.  I set it up to run every minute.  I've gotten well over 40000 builds/script evaluations.  But it always seems to end after some time with a deadlock when parsing the script/building the script class and using java.beans.* methods:
>
> <snip>
> Java-level deadlocks have been detected
>
> This means that some threads are blocked waiting to enter a synchronization block or
> waiting to reenter a synchronization block after an Object.wait() call, where each thread
> owns one monitor while trying to obtain another monitor already held by another thread.
>
> Deadlock:
>
> Executor #4 for master : executing test-groovy/a=3,b=3,c=8,d=1 #56 is waiting to lock java.beans.PropertyDescriptor <at> 34f4d25f which is held by Executor #8 for master : executing test-groovy/a=5,b=4,c=3,d=0 #56
> Executor #8 for master : executing test-groovy/a=5,b=4,c=3,d=0 #56 is waiting to lock java.lang.Object <at> 1bbb60c3 which is held by Executor #4 for master : executing test-groovy/a=3,b=3,c=8,d=1 #56
>
> Thread stacks
>
> Executor #4 for master : executing test-groovy/a=3,b=3,c=8,d=1 #56 [BLOCKED; waiting to lock java.beans.PropertyDescriptor <at> 34f4d25f]
> java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:158)
> java.beans.Introspector.processPropertyDescriptors(Introspector.java:683)
> java.beans.Introspector.getTargetPropertyInfo(Introspector.java:615)
> java.beans.Introspector.getBeanInfo(Introspector.java:407)
> java.beans.Introspector.getBeanInfo(Introspector.java:164)
> groovy.lang.MetaClassImpl$15.run(MetaClassImpl.java:2937)
> java.security.AccessController.doPrivileged(native method)
> groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2935)
> groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
> org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
> org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
> org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
> groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
> groovy.lang.Script.<init>(Script.java:40)
> groovy.lang.Script.<init>(Script.java:37)
> Script1.<init>(Script1.groovy)
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(native method)
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> java.lang.Class.newInstance0(Class.java:355)
> java.lang.Class.newInstance(Class.java:308)
> org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
> groovy.lang.GroovyShell.parse(GroovyShell.java:743)
> groovy.lang.GroovyShell.parse(GroovyShell.java:723)
> groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
> groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
> hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
> hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
> hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
> hudson.model.Build$RunnerImpl.build(Build.java:174)
> hudson.model.Build$RunnerImpl.doRun(Build.java:138)
> hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
> hudson.model.Run.run(Run.java:1277)
> hudson.matrix.MatrixRun.run(MatrixRun.java:145)
> hudson.model.ResourceController.execute(ResourceController.java:88)
> hudson.model.Executor.run(Executor.java:137)
>
>
> Executor #8 for master : executing test-groovy/a=5,b=4,c=3,d=0 #56 [BLOCKED; waiting to lock java.lang.Object <at> 1bbb60c3]
> java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1277)
> java.beans.Introspector.internalFindMethod(Introspector.java:1312)
> java.beans.Introspector.findMethod(Introspector.java:1383)
> java.beans.Introspector.findMethod(Introspector.java:1363)
> java.beans.PropertyDescriptor.getReadMethod(PropertyDescriptor.java:179)
> groovy.lang.MetaClassImpl.applyPropertyDescriptors(MetaClassImpl.java:2212)
> groovy.lang.MetaClassImpl.setupProperties(MetaClassImpl.java:1992)
> groovy.lang.MetaClassImpl.addProperties(MetaClassImpl.java:2947)
> groovy.lang.MetaClassImpl.initialize(MetaClassImpl.java:2918)
> org.codehaus.groovy.reflection.ClassInfo.getMetaClassUnderLock(ClassInfo.java:166)
> org.codehaus.groovy.reflection.ClassInfo.getMetaClass(ClassInfo.java:182)
> org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.getMetaClass(MetaClassRegistryImpl.java:242)
> org.codehaus.groovy.runtime.InvokerHelper.getMetaClass(InvokerHelper.java:751)
> groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
> groovy.lang.Script.<init>(Script.java:40)
> groovy.lang.Script.<init>(Script.java:37)
> Script1.<init>(Script1.groovy)
> sun.reflect.NativeConstructorAccessorImpl.newInstance0(native method)
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> java.lang.Class.newInstance0(Class.java:355)
> java.lang.Class.newInstance(Class.java:308)
> org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:408)
> groovy.lang.GroovyShell.parse(GroovyShell.java:743)
> groovy.lang.GroovyShell.parse(GroovyShell.java:723)
> groovy.lang.GroovyShell.evaluate(GroovyShell.java:680)
> groovy.lang.GroovyShell.evaluate(GroovyShell.java:666)
> hudson.plugins.groovy.SystemGroovy.perform(SystemGroovy.java:50)
> hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
> hudson.model.AbstractBuild$AbstractRunner.perform(AbstractBuild.java:601)
> hudson.model.Build$RunnerImpl.build(Build.java:174)
> hudson.model.Build$RunnerImpl.doRun(Build.java:138)
> hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
> hudson.model.Run.run(Run.java:1277)
> hudson.matrix.MatrixRun.run(MatrixRun.java:145)
> hudson.model.ResourceController.execute(ResourceController.java:88)
> hudson.model.Executor.run(Executor.java:137)
> </snip>
>
> Any idea why?
>
> --jason


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email





--
Guillaume Laforge
Groovy Project Manager
Head of Groovy Development at SpringSource
http://www.springsource.com/g2one
Jochen Theodorou | 13 Apr 18:37 2011
Picon

[groovy-dev] [ANN] Groovy 1.8-RC-4 released

Hi all,

The Groovy development team is pleased to announce the release of Groovy 
1.8-RC-4.

The main reason fro doing another RC release is, that some bugs in the 
new optimization code were found (GROOVY-4741, GROOVY-4756), also there 
was an obscure GEP-3 bug (GROOVY-4774). Not only for the Grails people 
and ExpandoMetaClass acrobats the fix to GROOVY-4720 could be interesting.

As usual you can download Groovy-1.8-RC-4 here: 
http://groovy.codehaus.org/Download

The full release notes can be found here:
http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242&version=17245

Thanks a lot for helping to make 1.8.0 a solid release.

--

-- 
Jochen "blackdrag" Theodorou
The Groovy Project Tech Lead
http://blackdragsview.blogspot.com/
For Groovy programming sources visit http://groovy.codehaus.org

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Gmane