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

Hg polling can hang indefinitely

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • mercurial-plugin
    • None
    • Platform: All, OS: All

    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

            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

            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
            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>

            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>

            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.

            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.

            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.

            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.

            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).

            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 ).
            jglick Jesse Glick added a comment -

            See also JENKINS-5296.

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

            People

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

              Dates

                Created:
                Updated:
                Resolved: