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

Hg polling can hang indefinitely

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: mercurial-plugin
    • Labels:
      None
    • Environment:
      Platform: All, OS: All
    • Similar Issues:

      Description

      If the hg process for e.g. 'hg incoming' hangs for whatever reason (network
      issues?), Hudson will just cease to build that job. The only indication is the
      "There are more SCM polling activities scheduled than handled" warning.

      Probably there should be some timeout on polling operations, such as 1 hour.
      Builds can already be set to timeout so these probably need no special handling.

        Attachments

          Issue Links

            Activity

            Hide
            jglick Jesse Glick added a comment -

            Example:

            http://deadlock.netbeans.org/hudson/job/NB-Core-Build/scmPollLog/

            says

            Last Mercurial Polling Log

            Started on Sep 11, 2009 11:31:31 PM [three days ago!]
            [workspace] $ hg incoming --style
            /hudson/workdir/jobs/NB-Core-Build/workspace/tmp92283style

            Show
            jglick Jesse Glick added a comment - Example: http://deadlock.netbeans.org/hudson/job/NB-Core-Build/scmPollLog/ says Last Mercurial Polling Log Started on Sep 11, 2009 11:31:31 PM [three days ago!] [workspace] $ hg incoming --style /hudson/workdir/jobs/NB-Core-Build/workspace/tmp92283style
            Hide
            jglick Jesse Glick added a comment -

            FWIW I captured the Hg 1.0.1 / Python 2.5 stack trace:
            $PYTHON_HOME/socket.py (332): readline
            $PYTHON_HOME/httplib.py (344): _read_status
            $PYTHON_HOME/httplib.py (386): begin
            $PYTHON_HOME/httplib.py (925): getresponse
            $PYTHON_HOME/site-packages/mercurial/keepalive.py (243): do_open
            $PYTHON_HOME/site-packages/mercurial/httprepo.py (107): http_open
            $PYTHON_HOME/urllib2.py (354): _call_chain
            $PYTHON_HOME/urllib2.py (393): _open
            $PYTHON_HOME/urllib2.py (377): open
            $PYTHON_HOME/urllib2.py (121): urlopen
            $PYTHON_HOME/site-packages/mercurial/httprepo.py (305): do_cmd
            $PYTHON_HOME/site-packages/mercurial/httprepo.py (351): do_read
            $PYTHON_HOME/site-packages/mercurial/httprepo.py (367): heads
            $PYTHON_HOME/site-packages/mercurial/localrepo.py (1305): findincoming
            $PYTHON_HOME/site-packages/mercurial/commands.py (1598): incoming
            $PYTHON_HOME/site-packages/mercurial/dispatch.py (356): <lambda>
            $PYTHON_HOME/site-packages/mercurial/dispatch.py (374): checkargs
            $PYTHON_HOME/site-packages/mercurial/dispatch.py (417): _runcommand
            $PYTHON_HOME/site-packages/mercurial/dispatch.py (366): _dispatch
            $PYTHON_HOME/site-packages/mercurial/dispatch.py (47): _runcatch
            $PYTHON_HOME/site-packages/mercurial/dispatch.py (29): dispatch
            $PYTHON_HOME/site-packages/mercurial/dispatch.py (20): run
            bin/hg (20): <module>

            Show
            jglick Jesse Glick added a comment - FWIW I captured the Hg 1.0.1 / Python 2.5 stack trace: $PYTHON_HOME/socket.py (332): readline $PYTHON_HOME/httplib.py (344): _read_status $PYTHON_HOME/httplib.py (386): begin $PYTHON_HOME/httplib.py (925): getresponse $PYTHON_HOME/site-packages/mercurial/keepalive.py (243): do_open $PYTHON_HOME/site-packages/mercurial/httprepo.py (107): http_open $PYTHON_HOME/urllib2.py (354): _call_chain $PYTHON_HOME/urllib2.py (393): _open $PYTHON_HOME/urllib2.py (377): open $PYTHON_HOME/urllib2.py (121): urlopen $PYTHON_HOME/site-packages/mercurial/httprepo.py (305): do_cmd $PYTHON_HOME/site-packages/mercurial/httprepo.py (351): do_read $PYTHON_HOME/site-packages/mercurial/httprepo.py (367): heads $PYTHON_HOME/site-packages/mercurial/localrepo.py (1305): findincoming $PYTHON_HOME/site-packages/mercurial/commands.py (1598): incoming $PYTHON_HOME/site-packages/mercurial/dispatch.py (356): <lambda> $PYTHON_HOME/site-packages/mercurial/dispatch.py (374): checkargs $PYTHON_HOME/site-packages/mercurial/dispatch.py (417): _runcommand $PYTHON_HOME/site-packages/mercurial/dispatch.py (366): _dispatch $PYTHON_HOME/site-packages/mercurial/dispatch.py (47): _runcatch $PYTHON_HOME/site-packages/mercurial/dispatch.py (29): dispatch $PYTHON_HOME/site-packages/mercurial/dispatch.py (20): run bin/hg (20): <module>
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in hudson
            User: : jglick
            Path:
            trunk/hudson/plugins/mercurial/src/main/java/hudson/plugins/mercurial/MercurialSCM.java
            http://fisheye4.cenqua.com/changelog/hudson/?cs=21786
            Log:
            [FIXED JENKINS-4461] Kill Hg polling process after one hour, assuming it is stuck on a bad network connection.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : jglick Path: trunk/hudson/plugins/mercurial/src/main/java/hudson/plugins/mercurial/MercurialSCM.java http://fisheye4.cenqua.com/changelog/hudson/?cs=21786 Log: [FIXED JENKINS-4461] Kill Hg polling process after one hour, assuming it is stuck on a bad network connection.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in hudson
            User: : jglick
            Path:
            trunk/hudson/plugins/mercurial/src/main/java/hudson/plugins/mercurial/MercurialSCM.java
            http://fisheye4.cenqua.com/changelog/hudson/?cs=21911
            Log:
            JENKINS-4461 Prevent thread leak from previous fix.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : jglick Path: trunk/hudson/plugins/mercurial/src/main/java/hudson/plugins/mercurial/MercurialSCM.java http://fisheye4.cenqua.com/changelog/hudson/?cs=21911 Log: JENKINS-4461 Prevent thread leak from previous fix.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in hudson
            User: : jglick
            Path:
            trunk/hudson/plugins/mercurial/src/main/java/hudson/plugins/mercurial/MercurialSCM.java
            http://fisheye4.cenqua.com/changelog/hudson/?cs=22014
            Log:
            [FIXED JENKINS-4513] Improper implementation of timeout (JENKINS-4461).

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in hudson User: : jglick Path: trunk/hudson/plugins/mercurial/src/main/java/hudson/plugins/mercurial/MercurialSCM.java http://fisheye4.cenqua.com/changelog/hudson/?cs=22014 Log: [FIXED JENKINS-4513] Improper implementation of timeout ( JENKINS-4461 ).
            Hide
            jglick Jesse Glick added a comment -

            See also JENKINS-5296.

            Show
            jglick Jesse Glick added a comment - See also JENKINS-5296 .

              People

              • Assignee:
                jglick Jesse Glick
                Reporter:
                jglick Jesse Glick
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: