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

    XMLWordPrintable

Details

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

    Description

      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

      Attachments

        Issue Links

          Activity

            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

            snallami 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 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 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 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_issue_link 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 dogfood added a comment -

            Integrated in jenkins_main_trunk #2274

            Result = SUCCESS

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

            People

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

              Dates

                Created:
                Updated:
                Resolved: