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

JavaScript RangeError: Maximum recursion depth exceeded

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Postponed
    • Component/s: other
    • Labels:
      None
    • Environment:
      Windows XP, Hudson 1.355, Opera 10.53
      Fedora 12, Hudson 1.343 with HUDSON-6424 patch, Opera 10.60
      Windows 7 64-bit, Opera 10.63, Hudson 1.382

      Description

      When trying to edit an simple Job with 4 windows batch scripts, I get the error "JavaScript RangeError: Maximum recursion depth exceeded" when running Hudson with Opera 10.53.

      The error happens, when I try to add another windows batch script. The error is easy reproducable, the content of the batch scripts are not even important. I even got it with such simple scripts as cls (script 1), echo 1 (script 2), echo 2 (script 3), echo 3 (script 4).

      After an pop-up with the error message "JavaScript RangeError: Maximum recursion depth exceeded", I get the following error message:

      {{Status Code: 500
      Exception:
      Stacktrace:
      net.sf.json.JSONException: A JSONObject text must begin with '

      {' at character 1 of init at net.sf.json.util.JSONTokener.syntaxError(JSONTokener.java:512) at net.sf.json.JSONObject._fromJSONTokener(JSONObject.java:839) at net.sf.json.JSONObject._fromString(JSONObject.java:1060) at net.sf.json.JSONObject.fromObject(JSONObject.java:176) at net.sf.json.JSONObject.fromObject(JSONObject.java:147) at org.kohsuke.stapler.RequestImpl.getSubmittedForm(RequestImpl.java:711) at hudson.model.Job.doConfigSubmit(Job.java:1026) at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:555) at sun.reflect.GeneratedMethodAccessor429.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:169) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:101) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:54) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:75) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:519) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:181) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:519) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:435) at org.kohsuke.stapler.Stapler.service(Stapler.java:123) at javax.servlet.http.HttpServlet.service(HttpServlet.java:45) at winstone.ServletConfiguration.execute(ServletConfiguration.java:249) at winstone.RequestDispatcher.forward(RequestDispatcher.java:335) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:330) at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:31) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244) at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150) at java.lang.Thread.run(Unknown Source)}

      }

        Activity

        bl_80 bl_80 created issue -
        Hide
        mindless Alan Harder added a comment -

        please clear all browser caches to ensure the latest javascript is used.. do you still see an error? If so, please check the error console for any javascript errors and post them here. The "500" error is expected, as a javascript problem will cause invalid form data to be submitted.

        Show
        mindless Alan Harder added a comment - please clear all browser caches to ensure the latest javascript is used.. do you still see an error? If so, please check the error console for any javascript errors and post them here. The "500" error is expected, as a javascript problem will cause invalid form data to be submitted.
        Hide
        bl_80 bl_80 added a comment -

        I get no JavaScript errors in the error console. Clearing the browser cache didn't change anything, the error still occurs.

        Show
        bl_80 bl_80 added a comment - I get no JavaScript errors in the error console. Clearing the browser cache didn't change anything, the error still occurs.
        Hide
        mindless Alan Harder added a comment -

        Looks like Hudson's form processing javascript exceeds some new limit in Opera.
        According to this thread it is only a problem since Opera 10.52, so you might try downgrading to 10.51.

        Show
        mindless Alan Harder added a comment - Looks like Hudson's form processing javascript exceeds some new limit in Opera. According to this thread it is only a problem since Opera 10.52, so you might try downgrading to 10.51.
        Hide
        mindless Alan Harder added a comment -

        dug a little further.. it's the Object.toJSON(form.formDom) call in buildFormTree that triggers the error. This function is defined in prototype.js

        Show
        mindless Alan Harder added a comment - dug a little further.. it's the Object.toJSON(form.formDom) call in buildFormTree that triggers the error. This function is defined in prototype.js
        Hide
        mindless Alan Harder added a comment -

        Object.toJSON defined in prototype.js has this line:
        if (object.toJSON) return object.toJSON();

        For some reason, Opera 10.53 (and 10.52 too, according to the above linked forum post) can sometimes get false here when the toJSON function is actually defined on the object. Even stranger, simply rechecking the exact same attribute again seems to then return true.

        if (object.toJSON || object.toJSON) return object.toJSON();

        This works!?

        Show
        mindless Alan Harder added a comment - Object.toJSON defined in prototype.js has this line: if (object.toJSON) return object.toJSON(); For some reason, Opera 10.53 (and 10.52 too, according to the above linked forum post) can sometimes get false here when the toJSON function is actually defined on the object. Even stranger, simply rechecking the exact same attribute again seems to then return true. if (object.toJSON || object.toJSON) return object.toJSON(); This works!?
        mindless Alan Harder made changes -
        Field Original Value New Value
        Assignee mindless [ mindless ]
        mindless Alan Harder made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Hide
        mindless Alan Harder added a comment -

        typeof(object.toJSON) exhibits the same behavior. The first call gets undefined and the next call gets function, even when both of these calls are after 2 references to object.toJSON in boolean contexts.

        Show
        mindless Alan Harder added a comment - typeof(object.toJSON) exhibits the same behavior. The first call gets undefined and the next call gets function , even when both of these calls are after 2 references to object.toJSON in boolean contexts.
        Hide
        scm_issue_link SCM/JIRA link daemon added a comment -

        Code changed in hudson
        User: : mindless
        Path:
        trunk/hudson/main/war/resources/scripts/prototype.js
        trunk/www/changelog.html
        http://jenkins-ci.org/commit/30716
        Log:
        [FIXED JENKINS-6424] Add workaround for Opera 10.52/53 bug causing
        error in saving job configuration.

        Show
        scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : mindless Path: trunk/hudson/main/war/resources/scripts/prototype.js trunk/www/changelog.html http://jenkins-ci.org/commit/30716 Log: [FIXED JENKINS-6424] Add workaround for Opera 10.52/53 bug causing error in saving job configuration.
        scm_issue_link SCM/JIRA link daemon made changes -
        Status In Progress [ 3 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        scm_issue_link SCM/JIRA link daemon added a comment -

        Code changed in hudson
        User: : drulli
        Path:
        trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/parser/AntEclipseParser.java
        trunk/hudson/plugins/warnings/src/test/java/hudson/plugins/warnings/parser/AntEclipseParserTest.java
        trunk/hudson/plugins/warnings/src/test/resources/hudson/plugins/warnings/parser/issue6427.txt
        http://jenkins-ci.org/commit/30822
        Log:
        [FIXED JENKINS-6424] Fixed regexp of Eclipse parser if the build log does not use ant task prefixes.

        Show
        scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : drulli Path: trunk/hudson/plugins/warnings/src/main/java/hudson/plugins/warnings/parser/AntEclipseParser.java trunk/hudson/plugins/warnings/src/test/java/hudson/plugins/warnings/parser/AntEclipseParserTest.java trunk/hudson/plugins/warnings/src/test/resources/hudson/plugins/warnings/parser/issue6427.txt http://jenkins-ci.org/commit/30822 Log: [FIXED JENKINS-6424] Fixed regexp of Eclipse parser if the build log does not use ant task prefixes.
        Hide
        drulli Ulli Hafner added a comment -

        Uups, wrong issue. Please ignore the scm link comment, I had a typo in the commit message.

        Show
        drulli Ulli Hafner added a comment - Uups, wrong issue. Please ignore the scm link comment, I had a typo in the commit message.
        Hide
        pgweiss pgweiss added a comment -

        I still see this error in 1.362.

        Show
        pgweiss pgweiss added a comment - I still see this error in 1.362.
        pgweiss pgweiss made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        mindless Alan Harder added a comment -

        pgweiss, please provide full details of the issue you see (your server/browser env details, steps to see the problem).

        Show
        mindless Alan Harder added a comment - pgweiss, please provide full details of the issue you see (your server/browser env details, steps to see the problem).
        mindless Alan Harder made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        kpiwko Karel Piwko added a comment -

        The same issue is present after the patch was applied (we're using 1.343 based version with custom patches) with Opera 10.60, build 6386).

        Steps to reproduce:
        1/ Have a job with multiple build steps (e.g. Ant targets)
        2/ Click on "Advanced" for 2 or more of them
        3/ Save the configuration (no modification is necessary)
        4/ You'll get the error described in current issue

        Show
        kpiwko Karel Piwko added a comment - The same issue is present after the patch was applied (we're using 1.343 based version with custom patches) with Opera 10.60, build 6386). Steps to reproduce: 1/ Have a job with multiple build steps (e.g. Ant targets) 2/ Click on "Advanced" for 2 or more of them 3/ Save the configuration (no modification is necessary) 4/ You'll get the error described in current issue
        kpiwko Karel Piwko made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        kpiwko Karel Piwko made changes -
        Environment Windows XP, Hudson 1.355, Opera 10.53 Windows XP, Hudson 1.355, Opera 10.53
        Fedora 12, Hudson 1.343 with JENKINS-6424 patch, Opera 10.60
        Hide
        mindless Alan Harder added a comment -

        I was not able to see any error with above steps using Hudson 1.358 and Opera 10.60 (build 3445) on winxp.

        Show
        mindless Alan Harder added a comment - I was not able to see any error with above steps using Hudson 1.358 and Opera 10.60 (build 3445) on winxp.
        Hide
        mindless Alan Harder added a comment -

        Any further details anyone can provide, or shall we close this issue again?

        Show
        mindless Alan Harder added a comment - Any further details anyone can provide, or shall we close this issue again?
        Hide
        mindless Alan Harder added a comment -

        No response, so reclosing.
        If anyone still sees this issue, please reopen and provide full environment details and steps to reproduce the issue, thanks.

        Show
        mindless Alan Harder added a comment - No response, so reclosing. If anyone still sees this issue, please reopen and provide full environment details and steps to reproduce the issue, thanks.
        mindless Alan Harder made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        dangthill dangthill added a comment -

        This issue has been affecting me for the last several months. Currently, I can reproduce it on:

        Windows XP-64 SP2
        Hudson 1.374 (running as a service)
        Opera 10.61

        For me, if I go to /configure, scroll to the bottom (not making any changes) and click Save. It also occurs frequently in other locations, but I can't consistently reproduce it.

        Show
        dangthill dangthill added a comment - This issue has been affecting me for the last several months. Currently, I can reproduce it on: Windows XP-64 SP2 Hudson 1.374 (running as a service) Opera 10.61 For me, if I go to /configure, scroll to the bottom (not making any changes) and click Save. It also occurs frequently in other locations, but I can't consistently reproduce it.
        dangthill dangthill made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Hide
        jmmckinnon jmmckinnon added a comment -

        This issue is still very much alive for me. It can be hard to reproduce consistently, but seems to happen almost every time I am clicking save on a job page or at the /configure page when at work. Sadly, much less often when I'm trying to reproduce for this issue page...

        Current system info: Windows 7 64-bit, Opera 10.63. Hudson 1.382

        I can post hardware environment details if that would be interesting.

        All of my jobs are free-style jobs, though this also happens at the general configuration pages and new job page.

        I can get it to happen with a standard, fresh Hudson 1.382 (java -jar hudson.war) running locally, even at the very first attempt to create a job (type x for job name, click a radio button, click OK). That case is not reliably reproducible, but shows how simple of a form can cause this.

        It's happened with both Winstone (java -jar hudson.war) and with Tomcat as the container.

        I have tried fully clearing my Opera cache.

        I usually cannot see any errors in the error console. Problem is harder to reproduce (general case not reproducible?) when opera dragonfly is running. Dragonfly is Opera's built in developer javascript debugger/DOM explorer/etc - type Ctrl+Shift+I to launch it. The best I could do after an hour of trying to get a javascript error console entry or more info using dragonfly was to reproduce without dragonfly,. Whenever the issue happens - clicking OK then clicking Save again makes it happen again...so I made it happen, enabled dragonfly (Ctrl+Shift+I), then clicked Save again and got an error 500 page like one of the others. Here is what winstone logged:

        [webapp 2010/10/26 00:40:09] - Error while serving http://localhost:8080/configS
        ubmit
        java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
        java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
        sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:25
        9)
        at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126)
        at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.j
        ava:65)
        at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.
        java:30)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:453)
        at org.kohsuke.stapler.Stapler.service(Stapler.java:135)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
        at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
        at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:9
        4)
        at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)

        at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
        at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.
        java:84)
        at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.ja
        va:76)
        at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
        at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
        at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.jav
        a:244)
        at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
        at java.lang.Thread.run(Thread.java:619)
        Caused by: net.sf.json.JSONException: JSONObject["globalMavenOpts"] not found.
        at net.sf.json.JSONObject.getString(JSONObject.java:1789)
        at hudson.maven.MavenModuleSet$DescriptorImpl.configure(MavenModuleSet.j
        ava:822)
        at hudson.model.Hudson.configureDescriptor(Hudson.java:2467)
        at hudson.model.Hudson.doConfigSubmit(Hudson.java:2424)
        ... 32 more

        [Winstone 2010/10/26 00:40:09] - Untrapped Error in Servlet
        javax.servlet.ServletException: net.sf.json.JSONException: JSONObject["globalMav
        enOpts"] not found.
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:572)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:453)
        at org.kohsuke.stapler.Stapler.service(Stapler.java:135)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
        at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
        at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:9
        4)
        at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)

        at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
        at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.
        java:84)
        at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.ja
        va:76)
        at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
        at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
        at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.jav
        a:244)
        at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
        at java.lang.Thread.run(Thread.java:619)
        Caused by: net.sf.json.JSONException: JSONObject["globalMavenOpts"] not found.
        at net.sf.json.JSONObject.getString(JSONObject.java:1789)
        at hudson.maven.MavenModuleSet$DescriptorImpl.configure(MavenModuleSet.j
        ava:822)
        at hudson.model.Hudson.configureDescriptor(Hudson.java:2467)
        at hudson.model.Hudson.doConfigSubmit(Hudson.java:2424)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
        java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
        sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:25
        9)
        at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126)
        at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.j
        ava:65)
        at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.
        java:30)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
        ... 22 more

        Given that Firefox is unaffected by this, I am inclined to think it's an Opera issue but I'm not sure how to gather further data for a proper bug report with them.

        Show
        jmmckinnon jmmckinnon added a comment - This issue is still very much alive for me. It can be hard to reproduce consistently, but seems to happen almost every time I am clicking save on a job page or at the /configure page when at work. Sadly, much less often when I'm trying to reproduce for this issue page... Current system info: Windows 7 64-bit, Opera 10.63. Hudson 1.382 I can post hardware environment details if that would be interesting. All of my jobs are free-style jobs, though this also happens at the general configuration pages and new job page. I can get it to happen with a standard, fresh Hudson 1.382 (java -jar hudson.war) running locally, even at the very first attempt to create a job (type x for job name, click a radio button, click OK). That case is not reliably reproducible, but shows how simple of a form can cause this. It's happened with both Winstone (java -jar hudson.war) and with Tomcat as the container. I have tried fully clearing my Opera cache. I usually cannot see any errors in the error console. Problem is harder to reproduce (general case not reproducible?) when opera dragonfly is running. Dragonfly is Opera's built in developer javascript debugger/DOM explorer/etc - type Ctrl+Shift+I to launch it. The best I could do after an hour of trying to get a javascript error console entry or more info using dragonfly was to reproduce without dragonfly,. Whenever the issue happens - clicking OK then clicking Save again makes it happen again...so I made it happen, enabled dragonfly (Ctrl+Shift+I), then clicked Save again and got an error 500 page like one of the others. Here is what winstone logged: [webapp 2010/10/26 00:40:09] - Error while serving http://localhost:8080/configS ubmit java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:25 9) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.j ava:65) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher. java:30) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:453) at org.kohsuke.stapler.Stapler.service(Stapler.java:135) at javax.servlet.http.HttpServlet.service(HttpServlet.java:45) at winstone.ServletConfiguration.execute(ServletConfiguration.java:249) at winstone.RequestDispatcher.forward(RequestDispatcher.java:335) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:9 4) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter. java:84) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.ja va:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.jav a:244) at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150) at java.lang.Thread.run(Thread.java:619) Caused by: net.sf.json.JSONException: JSONObject ["globalMavenOpts"] not found. at net.sf.json.JSONObject.getString(JSONObject.java:1789) at hudson.maven.MavenModuleSet$DescriptorImpl.configure(MavenModuleSet.j ava:822) at hudson.model.Hudson.configureDescriptor(Hudson.java:2467) at hudson.model.Hudson.doConfigSubmit(Hudson.java:2424) ... 32 more [Winstone 2010/10/26 00:40:09] - Untrapped Error in Servlet javax.servlet.ServletException: net.sf.json.JSONException: JSONObject["globalMav enOpts"] not found. at org.kohsuke.stapler.Stapler.invoke(Stapler.java:572) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:453) at org.kohsuke.stapler.Stapler.service(Stapler.java:135) at javax.servlet.http.HttpServlet.service(HttpServlet.java:45) at winstone.ServletConfiguration.execute(ServletConfiguration.java:249) at winstone.RequestDispatcher.forward(RequestDispatcher.java:335) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:9 4) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter. java:84) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.ja va:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.jav a:244) at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150) at java.lang.Thread.run(Thread.java:619) Caused by: net.sf.json.JSONException: JSONObject ["globalMavenOpts"] not found. at net.sf.json.JSONObject.getString(JSONObject.java:1789) at hudson.maven.MavenModuleSet$DescriptorImpl.configure(MavenModuleSet.j ava:822) at hudson.model.Hudson.configureDescriptor(Hudson.java:2467) at hudson.model.Hudson.doConfigSubmit(Hudson.java:2424) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:25 9) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.j ava:65) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher. java:30) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537) ... 22 more Given that Firefox is unaffected by this, I am inclined to think it's an Opera issue but I'm not sure how to gather further data for a proper bug report with them.
        jmmckinnon jmmckinnon made changes -
        Environment Windows XP, Hudson 1.355, Opera 10.53
        Fedora 12, Hudson 1.343 with JENKINS-6424 patch, Opera 10.60
        Windows XP, Hudson 1.355, Opera 10.53
        Fedora 12, Hudson 1.343 with JENKINS-6424 patch, Opera 10.60
        Windows 7 64-bit, Opera 10.63, Hudson 1.382
        Hide
        jmmckinnon jmmckinnon added a comment -

        I enabled the Opera Error Log and captured a current error stacktrace (Opera 10.63). It may just be extra noise though, so I am omitting it for now.

        When I examined prototype.js to find the line number, I noticed it's version 1.5.1.1, which was released June 19, 2007. (plus with the original JENKINS-6424 patch)

        Prototype 1.6.1 is the current stable release, and was released Sept 1, 2009.

        I am investigating whether a drop in of prototype.js 1.6.1 fixes the issues on Opera - if it does (initial testing looks like it does, but I want to really give it a good workout), could Hudson just rev to a newer release of prototype.js?

        Show
        jmmckinnon jmmckinnon added a comment - I enabled the Opera Error Log and captured a current error stacktrace (Opera 10.63). It may just be extra noise though, so I am omitting it for now. When I examined prototype.js to find the line number, I noticed it's version 1.5.1.1, which was released June 19, 2007. (plus with the original JENKINS-6424 patch) Prototype 1.6.1 is the current stable release, and was released Sept 1, 2009. I am investigating whether a drop in of prototype.js 1.6.1 fixes the issues on Opera - if it does (initial testing looks like it does, but I want to really give it a good workout), could Hudson just rev to a newer release of prototype.js?
        Hide
        mindless Alan Harder added a comment -

        possibly, but check our local changes and try to reapply in 1.6.1 where applicable.. svn diff -r 4567:HEAD war/src/main/webapp/scripts/prototype.js

        Show
        mindless Alan Harder added a comment - possibly, but check our local changes and try to reapply in 1.6.1 where applicable.. svn diff -r 4567:HEAD war/src/main/webapp/scripts/prototype.js
        Hide
        jmmckinnon jmmckinnon added a comment - - edited

        Will do - I have a personal vendetta against this issue at this point... here's to hoping. Should have more time to continue tomorrow...

        EDIT: Ahh yes...there's been numerous modifications, not just the one workaround. Still, first few revisions look OK as the function in question wasn't modified through 1.6.1...I'll go through them all.

        Show
        jmmckinnon jmmckinnon added a comment - - edited Will do - I have a personal vendetta against this issue at this point... here's to hoping. Should have more time to continue tomorrow... EDIT: Ahh yes...there's been numerous modifications, not just the one workaround. Still, first few revisions look OK as the function in question wasn't modified through 1.6.1...I'll go through them all.
        Hide
        mindless Alan Harder added a comment -

        reopen if anyone still sees this

        Show
        mindless Alan Harder added a comment - reopen if anyone still sees this
        mindless Alan Harder made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Postponed [ 6 ]

          People

          • Assignee:
            mindless Alan Harder
            Reporter:
            bl_80 bl_80
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: