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

Browser freezes when clicking more link on a job to see other builds

      When we click more link on a job to see other builds the browser freezes and prompts saying javascript is taking too long to execute. I started seeing after upgrading to 1.595 unfortunately i cannot recall what version i was on before.

      We see a similar issue when we go to a job that has a lot of jobs in the pending queue. We are not able to scroll on the screen.

          [JENKINS-26445] Browser freezes when clicking more link on a job to see other builds

          Arpit Gupta created issue -

          Arpit Gupta added a comment -

          This is one of the warnings we get from browser

          A script on this page may be busy, or it may have stopped responding. You can stop the script now, open the script in the debugger, or let the script continue.
          
          Script: http://IP:8080/static/e7000966/scripts/hudson-behavior.js:1965
          

          and

          A script on this page may be busy, or it may have stopped responding. You can stop the script now, open the script in the debugger, or let the script continue.
          
          Script: http://IP:8080/static/e7000966/scripts/prototype.js:2371
          

          Arpit Gupta added a comment - This is one of the warnings we get from browser A script on this page may be busy, or it may have stopped responding. You can stop the script now, open the script in the debugger, or let the script continue . Script: http: //IP:8080/ static /e7000966/scripts/hudson-behavior.js:1965 and A script on this page may be busy, or it may have stopped responding. You can stop the script now, open the script in the debugger, or let the script continue . Script: http: //IP:8080/ static /e7000966/scripts/prototype.js:2371

          Arpit Gupta added a comment -

          I have tried various browsers Firefox, Chrome, Safari and the client is running Max 10.10.1

          Arpit Gupta added a comment - I have tried various browsers Firefox, Chrome, Safari and the client is running Max 10.10.1

          Daniel Beck added a comment -

          How many builds does the job have in total?

          Daniel Beck added a comment - How many builds does the job have in total?
          Daniel Beck made changes -
          Labels New: javascript user-experience

          Arpit Gupta added a comment -

          The job config allows 2k but i don't know how many exist right now. Is there a WS call that can return the current total?

          Arpit Gupta added a comment - The job config allows 2k but i don't know how many exist right now. Is there a WS call that can return the current total?

          Daniel Beck added a comment -

          /job/JOBNAME/api/xml?xpath=count%28*/build%29, but you may need to install the Secure Requester Whitelist Plugin to allow this XPath request.

          Alternatively, /job/JOBNAME/api/xml?tree=builds and count the number of <build/> elements (lines, basically) in the returned XML.

          Daniel Beck added a comment - /job/JOBNAME/api/xml?xpath=count%28*/build%29 , but you may need to install the Secure Requester Whitelist Plugin to allow this XPath request. Alternatively, /job/JOBNAME/api/xml?tree=builds and count the number of <build/> elements (lines, basically) in the returned XML.

          Arpit Gupta added a comment - - edited

          /job/JOBNAME/api/xml?tree=builds

          returns 100 lines. however i believe we have a lot more than that.

          When i do RSS of all i get about 694 items.

          Arpit Gupta added a comment - - edited /job/JOBNAME/api/xml?tree=builds returns 100 lines. however i believe we have a lot more than that. When i do RSS of all i get about 694 items.

          Daniel Beck added a comment -

          Try ?tree=allbuilds (or allBuilds) instead. There's some performance optimization to prevent excessive loading of builds.

          Daniel Beck added a comment - Try ?tree=allbuilds (or allBuilds) instead. There's some performance optimization to prevent excessive loading of builds.

          Daniel Beck added a comment -

          So the issue is performance with a very large number of builds. The changes implemented in recent Jenkins make the build history display much better when build names or multiple badges are used, at the cost of additional processing. And I'm fairly sure we want to keep it, as it was pretty bad in some situations before.

          A possible solution would be to change how 'more' works to only reveal an additional 50-100 builds each time rather than all of them, assuming the problem is the number of newly added builds to the list, rather than their total number.

          I pinged tfennelly about this, who did all the recent work on the build history widget.

          Daniel Beck added a comment - So the issue is performance with a very large number of builds. The changes implemented in recent Jenkins make the build history display much better when build names or multiple badges are used, at the cost of additional processing. And I'm fairly sure we want to keep it, as it was pretty bad in some situations before. A possible solution would be to change how 'more' works to only reveal an additional 50-100 builds each time rather than all of them, assuming the problem is the number of newly added builds to the list, rather than their total number. I pinged tfennelly about this, who did all the recent work on the build history widget.

            tfennelly Tom FENNELLY
            arpitgupta Arpit Gupta
            Votes:
            15 Vote for this issue
            Watchers:
            23 Start watching this issue

              Created:
              Updated:
              Resolved: