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

Session replication chokes on BoundObjectTable$Table, breaking UI

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Blocker Blocker
    • core
    • CentOS linux x86_64 firefox 3.6.15

      after upggrading from Hudson 1.395 to Jenkins 1.403 and installing the msbuild and VCviewer plugins, the add build step button no longer works. Doesn't add a shell window to the web UI, no matter what I do.

      Last known successful action was to delete a step, first unsuccessful action was to add an msbuild step.

      there are no Java console errors or warnings, and nothing in the logs to suggest anything wrong.

          [JENKINS-9142] Session replication chokes on BoundObjectTable$Table, breaking UI

          Marking this as fixed as I haven't seen this issue since, and there have been no further complaints.

          Christopher Orr added a comment - Marking this as fixed as I haven't seen this issue since, and there have been no further complaints.

          Jesse Glick added a comment -

          Reserve Fixed for acknowledged bugs with a specific delivered fix.

          Jesse Glick added a comment - Reserve Fixed for acknowledged bugs with a specific delivered fix.

          clamonsch added a comment -

          I'm still able to reproduce this issue. Adding post build steps is not possible. However this problem only occurs when accessing Jenkins over a proxy. Direct access to the same instance is working fine.

          • Jenkins ver. 1.554.2
          • Jenkins is started "standalone" - not within a Tomcat. (java -jar jenkins.war)

          Jenkins access_log:

          [ci@myhost jenkins]$ less access_log | grep "$stapler/bound"

          172.17.2.152 - - [13/Aug/2014:08:47:17 +0200] "POST /ci/$stapler/bound/14d7256f-189c-4f7d-bc25-badacbc9e2b6/render HTTP/1.1" 404 1426 "https://ci.company.com/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"
          172.17.2.152 - - [13/Aug/2014:08:47:17 +0200] "POST /ci/$stapler/bound/877daf46-3cda-4dee-93dc-f0138e0d6b58/render HTTP/1.1" 404 1426 "https://ci.company.com/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"
          172.17.2.152 - - [13/Aug/2014:08:47:51 +0200] "POST /ci/$stapler/bound/3b0ac66b-e538-4db5-8e38-8d9234bd96c6/render HTTP/1.1" 404 1426 "https://ci.company.com/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"

          172.17.2.152 - - [13/Aug/2014:08:49:45 +0200] "POST /ci/$stapler/bound/64ca65fd-d021-4d0a-9e50-f4d3184a02aa/render HTTP/1.1" 200 177 "http://myhost:8080/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"
          172.17.2.152 - - [13/Aug/2014:08:49:45 +0200] "POST /ci/$stapler/bound/ee2f370a-6125-41e4-9061-9f110521fa05/render HTTP/1.1" 200 26 "http://myhost:8080/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"
          172.17.2.152 - - [13/Aug/2014:08:49:58 +0200] "POST /ci/$stapler/bound/d7847927-9b59-497b-a19c-7186a4ddc653/render HTTP/1.1" 200 982 "http://myhost:8080/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0"

          There is no exception or error logged in jenkins.log.

          clamonsch added a comment - I'm still able to reproduce this issue. Adding post build steps is not possible. However this problem only occurs when accessing Jenkins over a proxy. Direct access to the same instance is working fine. Jenkins ver. 1.554.2 Jenkins is started "standalone" - not within a Tomcat. (java -jar jenkins.war) Jenkins access_log: [ci@myhost jenkins] $ less access_log | grep "$stapler/bound" 172.17.2.152 - - [13/Aug/2014:08:47:17 +0200] "POST /ci/$stapler/bound/14d7256f-189c-4f7d-bc25-badacbc9e2b6/render HTTP/1.1" 404 1426 "https://ci.company.com/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0" 172.17.2.152 - - [13/Aug/2014:08:47:17 +0200] "POST /ci/$stapler/bound/877daf46-3cda-4dee-93dc-f0138e0d6b58/render HTTP/1.1" 404 1426 "https://ci.company.com/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0" 172.17.2.152 - - [13/Aug/2014:08:47:51 +0200] "POST /ci/$stapler/bound/3b0ac66b-e538-4db5-8e38-8d9234bd96c6/render HTTP/1.1" 404 1426 "https://ci.company.com/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0" 172.17.2.152 - - [13/Aug/2014:08:49:45 +0200] "POST /ci/$stapler/bound/64ca65fd-d021-4d0a-9e50-f4d3184a02aa/render HTTP/1.1" 200 177 "http://myhost:8080/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0" 172.17.2.152 - - [13/Aug/2014:08:49:45 +0200] "POST /ci/$stapler/bound/ee2f370a-6125-41e4-9061-9f110521fa05/render HTTP/1.1" 200 26 "http://myhost:8080/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0" 172.17.2.152 - - [13/Aug/2014:08:49:58 +0200] "POST /ci/$stapler/bound/d7847927-9b59-497b-a19c-7186a4ddc653/render HTTP/1.1" 200 982 "http://myhost:8080/ci/job/abc-004-7/configure" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0" There is no exception or error logged in jenkins.log.

          Matthew Moore added a comment -

          I am seeing this fairly consistently, however, following Kohsuke's instructions to get some logging I am hitting:

          Problem accessing /$stapler/bound/table/enableLogging. Reason:
          java.lang.RuntimeException: java.io.NotSerializableException: org.kohsuke.stapler.bind.BoundObjectTable$Table

          Matthew Moore added a comment - I am seeing this fairly consistently, however, following Kohsuke's instructions to get some logging I am hitting: Problem accessing /$stapler/bound/table/enableLogging. Reason: java.lang.RuntimeException: java.io.NotSerializableException: org.kohsuke.stapler.bind.BoundObjectTable$Table

          Matthew Moore added a comment -

          FWIW, I suspect the problem in (at least) my case is because the servlet container is configured to perform "session replication"-style serialization of the session objects, and the BoundObjectTable isn't Serializable.

          Matthew Moore added a comment - FWIW, I suspect the problem in (at least) my case is because the servlet container is configured to perform "session replication"-style serialization of the session objects, and the BoundObjectTable isn't Serializable.

          hridyesh pant added a comment -

          we migrated Jenkins to 1.580.1 after migration we are unable to add any post build action ,even any drop down menu in job configuration is not working.
          i tried the enabling log as suggested by Kohsuke's but not getting any message.

          2Legacy checkUrl '/job/affinity-web-master/descriptorByName/jenkins.plugins.publish_over_ssh.BapSshTransfer/checkExecCommand' is not valid Javascript: SyntaxError: Invalid flags supplied to RegExp constructor 'affinity' hudson-behavior.js:419
          XHR finished loading: GET "http://ewe.builds.sb.karmalab.net/job/affinity-web-master/descriptorByName/…fact.CopyArtifactPermissionProperty/checkProjectNames?value=&projectNames=". prototype.js:1585Ajax.Request.Class.create.request prototype.js:1585Ajax.Request.Class.create.initialize prototype.js:1550(anonymous function) prototype.js:452klass prototype.js:101FormChecker.sendRequest hudson-behavior.js:159FormChecker.schedule hudson-behavior.js:167FormChecker.delayedCheck hudson-behavior.js:150registerValidator hudson-behavior.js:436(anonymous function) behavior.js:111(anonymous function) behavior.js:107Behaviour.applySubtree behavior.js:93Behaviour.apply behavior.js:76(anonymous function) behavior.js:71window.onload behavior.js:125
          POST http://ewe.builds.sb.karmalab.net/$stapler/bound/8383bd25-8d9d-4313-a821-ad4edb221bc9/render 404 (Not Found) prototype.js:1585Ajax.Request.Class.create.request prototype.js:1585Ajax.Request.Class.create.initialize prototype.js:1550(anonymous function) prototype.js:452klass prototype.js:101proxy.(anonymous function) bind.js:51renderOnDemand hudson-behavior.js:540updateDropDownList hudson-behavior.js:1103jenkinsRules.SELECT.dropdownList hudson-behavior.js:1118(anonymous function) behavior.js:111(anonymous function) behavior.js:107Behaviour.applySubtree behavior.js:93Behaviour.apply behavior.js:76(anonymous function) behavior.js:71window.onload behavior.js:125
          XHR finished loading: POST "http://ewe.builds.sb.karmalab.net/$stapler/bound/8383bd25-8d9d-4313-a821-ad4edb221bc9/render". prototype.js:1585Ajax.Request.Class.create.request prototype.js:1585Ajax.Request.Class.create.initialize prototype.js:1550(anonymous function) prototype.js:452klass prototype.js:101proxy.(anonymous function) bind.js:51renderOnDemand hudson-behavior.js:540updateDropDownList hudson-behavior.js:1103jenkinsRules.SELECT.dropdownList hudson-behavior.js:1118(anonymous function) behavior.js:111(anonymous function) behavior.js:107Behaviour.applySubtree behavior.js:93Behaviour.apply behavior.js:76(anonymous function) behavior.js:71window.onload behavior.js:125
          POST http://ewe.builds.sb.karmalab.net/$stapler/bound/0ff30232-ef2b-42e5-b26d-6beab66267ce/render 404 (Not Found) prototype.js:1585Ajax.Request.Class.create.request prototype.js:1585Ajax.Request.Class.create.initialize prototype.js:1550(anonymous function) prototype.js:452klass prototype.js:101proxy.(anonymous function) bind.js:51renderOnDemand hudson-behavior.js:540updateDropDownList hudson-behavior.js:1103jenkinsRules.SELECT.dropdownList hudson-behavior.js:1118(anonymous function) behavior.js:111(anonymous function) behavior.js:107Behaviour.applySubtree behavior.js:93Behaviour.apply behavior.js:76(anonymous function) behavior.js:71window.onload

          hridyesh pant added a comment - we migrated Jenkins to 1.580.1 after migration we are unable to add any post build action ,even any drop down menu in job configuration is not working. i tried the enabling log as suggested by Kohsuke's but not getting any message. 2Legacy checkUrl '/job/affinity-web-master/descriptorByName/jenkins.plugins.publish_over_ssh.BapSshTransfer/checkExecCommand' is not valid Javascript: SyntaxError: Invalid flags supplied to RegExp constructor 'affinity' hudson-behavior.js:419 XHR finished loading: GET "http://ewe.builds.sb.karmalab.net/job/affinity-web-master/descriptorByName/…fact.CopyArtifactPermissionProperty/checkProjectNames?value=&projectNames=". prototype.js:1585Ajax.Request.Class.create.request prototype.js:1585Ajax.Request.Class.create.initialize prototype.js:1550(anonymous function) prototype.js:452klass prototype.js:101FormChecker.sendRequest hudson-behavior.js:159FormChecker.schedule hudson-behavior.js:167FormChecker.delayedCheck hudson-behavior.js:150registerValidator hudson-behavior.js:436(anonymous function) behavior.js:111(anonymous function) behavior.js:107Behaviour.applySubtree behavior.js:93Behaviour.apply behavior.js:76(anonymous function) behavior.js:71window.onload behavior.js:125 POST http://ewe.builds.sb.karmalab.net/$stapler/bound/8383bd25-8d9d-4313-a821-ad4edb221bc9/render 404 (Not Found) prototype.js:1585Ajax.Request.Class.create.request prototype.js:1585Ajax.Request.Class.create.initialize prototype.js:1550(anonymous function) prototype.js:452klass prototype.js:101proxy.(anonymous function) bind.js:51renderOnDemand hudson-behavior.js:540updateDropDownList hudson-behavior.js:1103jenkinsRules.SELECT.dropdownList hudson-behavior.js:1118(anonymous function) behavior.js:111(anonymous function) behavior.js:107Behaviour.applySubtree behavior.js:93Behaviour.apply behavior.js:76(anonymous function) behavior.js:71window.onload behavior.js:125 XHR finished loading: POST "http://ewe.builds.sb.karmalab.net/$stapler/bound/8383bd25-8d9d-4313-a821-ad4edb221bc9/render". prototype.js:1585Ajax.Request.Class.create.request prototype.js:1585Ajax.Request.Class.create.initialize prototype.js:1550(anonymous function) prototype.js:452klass prototype.js:101proxy.(anonymous function) bind.js:51renderOnDemand hudson-behavior.js:540updateDropDownList hudson-behavior.js:1103jenkinsRules.SELECT.dropdownList hudson-behavior.js:1118(anonymous function) behavior.js:111(anonymous function) behavior.js:107Behaviour.applySubtree behavior.js:93Behaviour.apply behavior.js:76(anonymous function) behavior.js:71window.onload behavior.js:125 POST http://ewe.builds.sb.karmalab.net/$stapler/bound/0ff30232-ef2b-42e5-b26d-6beab66267ce/render 404 (Not Found) prototype.js:1585Ajax.Request.Class.create.request prototype.js:1585Ajax.Request.Class.create.initialize prototype.js:1550(anonymous function) prototype.js:452klass prototype.js:101proxy.(anonymous function) bind.js:51renderOnDemand hudson-behavior.js:540updateDropDownList hudson-behavior.js:1103jenkinsRules.SELECT.dropdownList hudson-behavior.js:1118(anonymous function) behavior.js:111(anonymous function) behavior.js:107Behaviour.applySubtree behavior.js:93Behaviour.apply behavior.js:76(anonymous function) behavior.js:71window.onload

          hridyesh pant added a comment -

          same thing working fine if we use https but not working with http.
          before using 1.580.1, both http and https working fine.

          hridyesh pant added a comment - same thing working fine if we use https but not working with http. before using 1.580.1, both http and https working fine.

          Jesse Glick added a comment -

          hridyeshpant I suspect your problem is an unrelated bug, perhaps in the Publish Over SSH plugin.

          Jesse Glick added a comment - hridyeshpant I suspect your problem is an unrelated bug, perhaps in the Publish Over SSH plugin.

          Jevon Wright added a comment -

          This occured to us when upgrading to 1.594 through `apt-get upgrade`.

          Removing and then reinstalling jenkins through `apt-get remove jenkins && apt-get install jenkins` seems to have fixed the issue.

          Jevon Wright added a comment - This occured to us when upgrading to 1.594 through `apt-get upgrade`. Removing and then reinstalling jenkins through `apt-get remove jenkins && apt-get install jenkins` seems to have fixed the issue.

          Daniel Beck added a comment -

          While investigating JENKINS-27311 I learned that Jenkins requires an active HttpSession / JSESSIONID cookie from the request. In that case, it was a mismatch between configured and actually used Jenkins URLs (which probably prevented the cookie from being set). So that's something to be aware of here.

          Daniel Beck added a comment - While investigating JENKINS-27311 I learned that Jenkins requires an active HttpSession / JSESSIONID cookie from the request. In that case, it was a mismatch between configured and actually used Jenkins URLs (which probably prevented the cookie from being set). So that's something to be aware of here.

            Unassigned Unassigned
            ahelfer1971 Andrew Helfer
            Votes:
            8 Vote for this issue
            Watchers:
            26 Start watching this issue

              Created:
              Updated:
              Resolved: