Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-16561

Jelly form control f:validateButton giving a warning popup in IE irrespective of whether validation is successfull

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • core
    • Windows 2008 R2 64 bit , Internet Explorer (8 and 9)

      Getting warning message in a popup saying "Failed to evaluate. Invalid arguments" for jelly form control validateButton. I am getting this pop up irrespective of actual result of validation.

      This is happening only in Internet Explorer(8 and 9). This is not getting reproduced when running jenkins using "mvn hpi:run" but
      getting reproduced when running jenkins using command "java -jar jenkins.war" and then manually importing hpi file from advanced tab.

      For complete details , refer to discussion in
      https://groups.google.com/forum/#!topic/jenkinsci-dev/h4vlO8SkA60

      Sample to reproduce this issue is available in my github
      https://github.com/sureshreddygithub/jenkinssamples.git

      or alternatively you can install https://wiki.jenkins-ci.org/display/JENKINS/SCTMExecutor plugin and try to validate in global configuration in IE.

      Root cause:

      For validate button form control , implementation is available @ scripts/hudson-behavior.js

      In validate function , we are using a custom function geval which is causing the issue.

      If i replace geval with eval i see that everything works as expected in IE as well.

      I will be submitting the fix in git shortly

          [JENKINS-16561] Jelly form control f:validateButton giving a warning popup in IE irrespective of whether validation is successfull

          I was asked my Jesse Glick to mark this issue as "blocking" JENKINS-15617 to capture the relationship.
          I am not sure how to do that. Can some one take care of this

          suresh nallamilli added a comment - I was asked my Jesse Glick to mark this issue as "blocking" JENKINS-15617 to capture the relationship. I am not sure how to do that. Can some one take care of this

          So what script fragment is causing "invalid argument"? It seems like the root cause is that there's an empty value in the script header, not the use of geval.

          I'm fixing this by adding s!="" check.

          Kohsuke Kawaguchi added a comment - So what script fragment is causing "invalid argument"? It seems like the root cause is that there's an empty value in the script header, not the use of geval . I'm fixing this by adding s!="" check.

          This also explains why this bug depends on the servlet container. Jetty must be handlin addHeader("script",null) as removing the header while Winstone must be treating it like addHeader("script","");

          Kohsuke Kawaguchi added a comment - This also explains why this bug depends on the servlet container. Jetty must be handlin addHeader("script",null) as removing the header while Winstone must be treating it like addHeader("script","");

          Confirmed. In script console,

          > eval("")
          undefined
          > window.execScript("")
          (x) "Invalid argument."
          

          Kohsuke Kawaguchi added a comment - Confirmed. In script console, > eval("") undefined > window.execScript("") (x) "Invalid argument."

          Code changed in jenkins
          User: Kohsuke Kawaguchi
          Path:
          changelog.html
          war/src/main/webapp/scripts/hudson-behavior.js
          http://jenkins-ci.org/commit/jenkins/3f48eff1ee39e772bd0c1c097ff99fb62786e69f
          Log:
          [FIXED JENKINS-16561]

          eval("") is no-op in IE but window.execScript("") isn't.
          So bring the uniformity outside


          You received this message because you are subscribed to the Google Groups "Jenkins Commits" group.
          To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscribe@googlegroups.com.
          For more options, visit https://groups.google.com/groups/opt_out.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Kohsuke Kawaguchi Path: changelog.html war/src/main/webapp/scripts/hudson-behavior.js http://jenkins-ci.org/commit/jenkins/3f48eff1ee39e772bd0c1c097ff99fb62786e69f Log: [FIXED JENKINS-16561] eval("") is no-op in IE but window.execScript("") isn't. So bring the uniformity outside – You received this message because you are subscribed to the Google Groups "Jenkins Commits" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-commits+unsubscribe@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out .

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2274

          Result = SUCCESS

          dogfood added a comment - Integrated in jenkins_main_trunk #2274 Result = SUCCESS

            snallami suresh nallamilli
            snallami suresh nallamilli
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: