groovy.lang.MissingPropertyException

There are no available Samebug tips for this exception. Do you have an idea how to solve this issue? A short tip would help users who saw this issue last week.

  • In short: I tried to migrate an existing project from Uno Choice 0.19 to Active Choice 1.0 and I found that I can not reach the referred parameter. I tried various methods to get the value of the referred parameter with no success. I tried to reproduce the problem on a clean Jenkins copy and everything worked like a charm. What was going on, then?! Here you are the details: 1. I installed a fresh copy of Jenkins - I took {{jenkins.war}} version 1.617 and started it with {{java -jar jenkins.war}} 2. Entered the management console and: - dismissed the "Unsecured Jenkins" warning; - updated all plugins; - installed Validating String Parameter Plugin ( https://wiki.jenkins-ci.org/display/JENKINS/Validating+String+Parameter+Plugin ) because our original project uses it (and, to be honest, because in the beginning I thought that it is the one that is not compatible with Active Choices plugin); - Installed Active Choices Plugin version 1.0 ( https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin ) - restarted Jenkins; Here is the list of the installed plugins with their versions: {noformat} Active Choices Plug-in | 1.0 Ant Plugin | 1.2 Credentials Plugin | 1.22 CVS Plug-in | 2.12 External Monitor Job Type Plugin | 1.4 GIT client plugin | 1.17.1 GIT plugin | 2.3.5 Git server plugin | 1.6 Javadoc Plugin | 1.3 JUnit Plugin | 1.6 LDAP Plugin | 1.11 Mailer Plugin | 1.15 MapDB API Plugin | 1.0.6.0 Matrix Authorization Strategy Plugin| 1.2 Matrix Project Plugin | 1.6 Maven Integration plugin | 2.10 OWASP Markup Formatter Plugin | 1.3 PAM Authentication plugin | 1.2 SCM API Plugin | 0.2 Script Security Plugin | 1.14 Scriptler | 2.7 SSH Credentials Plugin | 1.11 SSH Slaves plugin | 1.9 Subversion Plug-in | 2.5 Token Macro Plugin | 1.10 Translation Assistance plugin | 1.12 Validating String Parameter Plugin | 2.3 Windows Slaves Plugin | 1.1 {noformat} 3. Created a simple test project (attached). You can see that its only purpose is to get the value of the Validating String parameter using different paths; 4. Opened the test project and hit "Build with Parameters" The observations on the script running: A. There is always one error thrown on the page load: {noformat} Jun 23, 2015 4:57:02 PM FINEST org.biouno.unochoice.model.GroovyScript Fallback to default script... groovy.lang.MissingPropertyException: No such property: validStr for class: Script1 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231) at Script1.run(Script1.groovy:2) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:580) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:618) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:589) at org.biouno.unochoice.model.GroovyScript.eval(GroovyScript.java:128) at org.biouno.unochoice.util.ScriptCallback.call(ScriptCallback.java:69) at org.biouno.unochoice.AbstractScriptableParameter.eval(AbstractScriptableParameter.java:138) at org.biouno.unochoice.AbstractScriptableParameter.getChoices(AbstractScriptableParameter.java:104) at org.biouno.unochoice.AbstractScriptableParameter.getChoices(AbstractScriptableParameter.java:93) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104) at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51) at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74) ... {noformat} B. Immediately after that the (valid) script output is observed in the console: {noformat} --------------------------------------------- ---> validStr= ---> validStr= ---> binding.variables.get = ---> binding = groovy.lang.Binding@2d47c5ae ---> binding.variables = [validStr:] ---> binding.getProperty = ---> getBinding = groovy.lang.Binding@2d47c5ae ---> getProperty = {noformat} C. Entering a value in the Validating String parameter, on the exit (lost focus) of the text field, the correct value is observed in the Active Choices parameter: {noformat} --------------------------------------------- ---> validStr= 123 ---> validStr= 123 ---> binding.variables.get = 123 ---> binding = groovy.lang.Binding@2c331bee ---> binding.variables = [validStr:123] ---> binding.getProperty = 123 ---> getBinding = groovy.lang.Binding@2c331bee ---> getProperty = 123 {noformat} So far - so good :-) 5. (In short) Installed jQuery Plugin ( https://wiki.jenkins-ci.org/display/JENKINS/jQuery+Plugin ) and restarted Jenkins. The newly installed plugin is {{ jQuery plugin | 1.11.2-0}} 6. Opened the test project and hit "Build with Parameters" The observations on the script running: A. The "{{No such property}}" exception is still there; B. Immediately after that the (valid) script output is observed in the console: {noformat} --------------------------------------------- ---> validStr= ---> validStr= ---> binding.variables.get = ---> binding = groovy.lang.Binding@2d47c5ae ---> binding.variables = [validStr:] ---> binding.getProperty = ---> getBinding = groovy.lang.Binding@2d47c5ae ---> getProperty = {noformat} C. Entering a value in the Validating String parameter, on the exit (lost focus) of the text field, the *NO* value is observed in the Active Choices parameter: {noformat} --------------------------------------------- ---> validStr= ---> validStr= ---> binding.variables.get = ---> binding = groovy.lang.Binding@1af9ece6 ---> binding.variables = [validStr:] ---> binding.getProperty = ---> getBinding = groovy.lang.Binding@1af9ece6 ---> getProperty = {noformat} 7. Edited the test project and gave the Validating String parameter a default value - "{{234}}". Saved the new definition and hit "Build with Parameters" The observations on the script running: A. The "{{No such property}}" exception is still there; B. Immediately after that the (valid) script output is observed in the console - the default value is displayed: {noformat} --------------------------------------------- ---> validStr= 234 ---> validStr= 234 ---> binding.variables.get = 234 ---> binding = groovy.lang.Binding@4ae9665a ---> binding.variables = [validStr:234] ---> binding.getProperty = 234 ---> getBinding = groovy.lang.Binding@4ae9665a ---> getProperty = 234 {noformat} C. Entering a different value ("123" in the Validating String parameter, on the exit (lost focus) of the text field, the *default* value is observed in the Active Choices parameter: {noformat} --------------------------------------------- ---> validStr= 234 ---> validStr= 234 ---> binding.variables.get = 234 ---> binding = groovy.lang.Binding@77a897d5 ---> binding.variables = [validStr:234] ---> binding.getProperty = 234 ---> getBinding = groovy.lang.Binding@77a897d5 ---> getProperty = 234 {noformat} 9. Removed the jQuery plugin, restarted Jenkins and the correct behavior of Active Choices parameter came back. :-) Notes: - during all experiments there are no other errors registered in Jenkins logs except the "{{No such property}}" one; - the existing project (the one that uses Uno Choice 0.19) works fine with the mentioned jQuery version 1.11.2-0 To be honest, I repeated the above scenario (from the Jenkins installation) several times due to different technical reasons and the result was always the same - jQuery interferes with Active Choices Plugin :-(
    via by Monique Maker,
  • In short: I tried to migrate an existing project from Uno Choice 0.19 to Active Choice 1.0 and I found that I can not reach the referred parameter. I tried various methods to get the value of the referred parameter with no success. I tried to reproduce the problem on a clean Jenkins copy and everything worked like a charm. What was going on, then?! Here you are the details: 1. I installed a fresh copy of Jenkins - I took {{jenkins.war}} version 1.617 and started it with {{java -jar jenkins.war}} 2. Entered the management console and: - dismissed the "Unsecured Jenkins" warning; - updated all plugins; - installed Validating String Parameter Plugin ( https://wiki.jenkins-ci.org/display/JENKINS/Validating+String+Parameter+Plugin ) because our original project uses it (and, to be honest, because in the beginning I thought that it is the one that is not compatible with Active Choices plugin); - Installed Active Choices Plugin version 1.0 ( https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin ) - restarted Jenkins; Here is the list of the installed plugins with their versions: {noformat} Active Choices Plug-in | 1.0 Ant Plugin | 1.2 Credentials Plugin | 1.22 CVS Plug-in | 2.12 External Monitor Job Type Plugin | 1.4 GIT client plugin | 1.17.1 GIT plugin | 2.3.5 Git server plugin | 1.6 Javadoc Plugin | 1.3 JUnit Plugin | 1.6 LDAP Plugin | 1.11 Mailer Plugin | 1.15 MapDB API Plugin | 1.0.6.0 Matrix Authorization Strategy Plugin| 1.2 Matrix Project Plugin | 1.6 Maven Integration plugin | 2.10 OWASP Markup Formatter Plugin | 1.3 PAM Authentication plugin | 1.2 SCM API Plugin | 0.2 Script Security Plugin | 1.14 Scriptler | 2.7 SSH Credentials Plugin | 1.11 SSH Slaves plugin | 1.9 Subversion Plug-in | 2.5 Token Macro Plugin | 1.10 Translation Assistance plugin | 1.12 Validating String Parameter Plugin | 2.3 Windows Slaves Plugin | 1.1 {noformat} 3. Created a simple test project (attached). You can see that its only purpose is to get the value of the Validating String parameter using different paths; 4. Opened the test project and hit "Build with Parameters" The observations on the script running: A. There is always one error thrown on the page load: {noformat} Jun 23, 2015 4:57:02 PM FINEST org.biouno.unochoice.model.GroovyScript Fallback to default script... groovy.lang.MissingPropertyException: No such property: validStr for class: Script1 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231) at Script1.run(Script1.groovy:2) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:580) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:618) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:589) at org.biouno.unochoice.model.GroovyScript.eval(GroovyScript.java:128) at org.biouno.unochoice.util.ScriptCallback.call(ScriptCallback.java:69) at org.biouno.unochoice.AbstractScriptableParameter.eval(AbstractScriptableParameter.java:138) at org.biouno.unochoice.AbstractScriptableParameter.getChoices(AbstractScriptableParameter.java:104) at org.biouno.unochoice.AbstractScriptableParameter.getChoices(AbstractScriptableParameter.java:93) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104) at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51) at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74) ... {noformat} B. Immediately after that the (valid) script output is observed in the console: {noformat} --------------------------------------------- ---> validStr= ---> validStr= ---> binding.variables.get = ---> binding = groovy.lang.Binding@2d47c5ae ---> binding.variables = [validStr:] ---> binding.getProperty = ---> getBinding = groovy.lang.Binding@2d47c5ae ---> getProperty = {noformat} C. Entering a value in the Validating String parameter, on the exit (lost focus) of the text field, the correct value is observed in the Active Choices parameter: {noformat} --------------------------------------------- ---> validStr= 123 ---> validStr= 123 ---> binding.variables.get = 123 ---> binding = groovy.lang.Binding@2c331bee ---> binding.variables = [validStr:123] ---> binding.getProperty = 123 ---> getBinding = groovy.lang.Binding@2c331bee ---> getProperty = 123 {noformat} So far - so good :-) 5. (In short) Installed jQuery Plugin ( https://wiki.jenkins-ci.org/display/JENKINS/jQuery+Plugin ) and restarted Jenkins. The newly installed plugin is {{ jQuery plugin | 1.11.2-0}} 6. Opened the test project and hit "Build with Parameters" The observations on the script running: A. The "{{No such property}}" exception is still there; B. Immediately after that the (valid) script output is observed in the console: {noformat} --------------------------------------------- ---> validStr= ---> validStr= ---> binding.variables.get = ---> binding = groovy.lang.Binding@2d47c5ae ---> binding.variables = [validStr:] ---> binding.getProperty = ---> getBinding = groovy.lang.Binding@2d47c5ae ---> getProperty = {noformat} C. Entering a value in the Validating String parameter, on the exit (lost focus) of the text field, the *NO* value is observed in the Active Choices parameter: {noformat} --------------------------------------------- ---> validStr= ---> validStr= ---> binding.variables.get = ---> binding = groovy.lang.Binding@1af9ece6 ---> binding.variables = [validStr:] ---> binding.getProperty = ---> getBinding = groovy.lang.Binding@1af9ece6 ---> getProperty = {noformat} 7. Edited the test project and gave the Validating String parameter a default value - "{{234}}". Saved the new definition and hit "Build with Parameters" The observations on the script running: A. The "{{No such property}}" exception is still there; B. Immediately after that the (valid) script output is observed in the console - the default value is displayed: {noformat} --------------------------------------------- ---> validStr= 234 ---> validStr= 234 ---> binding.variables.get = 234 ---> binding = groovy.lang.Binding@4ae9665a ---> binding.variables = [validStr:234] ---> binding.getProperty = 234 ---> getBinding = groovy.lang.Binding@4ae9665a ---> getProperty = 234 {noformat} C. Entering a different value ("123" in the Validating String parameter, on the exit (lost focus) of the text field, the *default* value is observed in the Active Choices parameter: {noformat} --------------------------------------------- ---> validStr= 234 ---> validStr= 234 ---> binding.variables.get = 234 ---> binding = groovy.lang.Binding@77a897d5 ---> binding.variables = [validStr:234] ---> binding.getProperty = 234 ---> getBinding = groovy.lang.Binding@77a897d5 ---> getProperty = 234 {noformat} 9. Removed the jQuery plugin, restarted Jenkins and the correct behavior of Active Choices parameter came back. :-) Notes: - during all experiments there are no other errors registered in Jenkins logs except the "{{No such property}}" one; - the existing project (the one that uses Uno Choice 0.19) works fine with the mentioned jQuery version 1.11.2-0 To be honest, I repeated the above scenario (from the Jenkins installation) several times due to different technical reasons and the result was always the same - jQuery interferes with Active Choices Plugin :-(
    via by Monique Maker,
    • groovy.lang.MissingPropertyException: No such property: validStr for class: Script1 at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50) at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231) at Script1.run(Script1.groovy:2) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:580) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:618) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:589) at org.biouno.unochoice.model.GroovyScript.eval(GroovyScript.java:128) at org.biouno.unochoice.util.ScriptCallback.call(ScriptCallback.java:69) at org.biouno.unochoice.AbstractScriptableParameter.eval(AbstractScriptableParameter.java:138) at org.biouno.unochoice.AbstractScriptableParameter.getChoices(AbstractScriptableParameter.java:104) at org.biouno.unochoice.AbstractScriptableParameter.getChoices(AbstractScriptableParameter.java:93) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104) at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51) at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74)

    Users with the same issue

    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    45 more bugmates