Operațiile Git atârnă ocazional în Jenkins pe Windows

We are running continuous Jenkins builds of a Git project hosted at Assembla. Jenkins is running on Tomcat 6 under its own user and generally works fine.

Cu toate acestea, din când în când (câte o dată la fiecare 10 construi), operațiunea de checkout de la începutul lucrării de construire se blochează. În alte situații, operația de etichetare Git de la sfârșitul execuției se blochează. Cred că acest lucru nu sa întâmplat niciodată în operarea liniei de comandă (pe aceeași gazdă cu același utilizator).

Când este atârnat, arborele de proces Windows afișează taskhost.exe? tomcat6.exe? git.exe? ssh.exe

Atunci când ucizi extern procesele Git și ssh ale unei comenzi de etichetă suspendată, se observă următoarea stacktrace în ieșirea consolei de lucru - eroarea este ciudată, deoarece directorul menționat există deja și are cheia privată instalată.

hudson.plugins.git.GitException: Command "C:/Program Files (x86)/Git/bin/git.exe push  " returned status code 1:
stdout:
stderr: Could not create directory 'c/Users//.ssh'.
    at hudson.plugins.git.GitAPI.launchCommandIn(GitAPI.java:779)
    at hudson.plugins.git.GitAPI.launchCommand(GitAPI.java:741)

Aici este o listă completă a proceselor și a mânerelor (cu excepția listei lungi de fire Tomcat). Obiectivul de construire este în prezent atârnat de tragere. Un alt fenomen ciudat este că există un sondaj organizat la fiecare 5 minute, dar nu a mai funcționat timp de câteva zile - este probabil, de asemenea, blocat cumva.

Process                PID      CPU      Private   Working     Description                                      Company Name
                                         Bytes     Set
-----------------------------------------------------------------------------------------------------------------------------------------
System Idle          Process 0  84.09        0 K       24 K
 Interrupts            n/a       0.28        0 K        0 K    Hardware Interrupts
 DPCs                  n/a       0.85        0 K        0 K    Deferred Procedure Calls
 System                   4                112 K      300 K
  smss.exe              240                620 K    1,196 K    Windows Session Manager                                 Microsoft Corporation
sppsvc.exe             2664              3,312 K    9,100 K    Microsoft Software Protection Platform Service          Microsoft Corporation
csrss.exe               344              3,516 K    5,120 K    Client Server Runtime Process                           Microsoft Corporation
 conhost.exe           1316              1,184 K    2,804 K    Console Window Host                                     Microsoft Corporation
 conhost.exe           3148              1,140 K    2,696 K    Console Window Host                                     Microsoft Corporation
wininit.exe             396              1,944 K    4,624 K    Windows Start-Up Application                            Microsoft Corporation
 services.exe           496              5,096 K   10,444 K    Services and Controller app                             Microsoft Corporation
  svchost.exe           616              4,776 K    9,940 K    Host Process for Windows Services                       Microsoft Corporation
   WmiPrvSE.exe        2468              2,692 K    6,052 K    WMI Provider Host                                       Microsoft Corporation
   dllhost.exe         2180      2.27    2,160 K    5,392 K    COM Surrogate                                           Microsoft Corporation
  svchost.exe           692      0.28    4,512 K    8,568 K    Host Process for Windows Services                       Microsoft Corporation
  svchost.exe           776              9,804 K   12,528 K    Host Process for Windows Services                       Microsoft Corporation
  svchost.exe           832             22,052 K   34,980 K    Host Process for Windows Services                       Microsoft Corporation
  svchost.exe           888              7,988 K   14,528 K    Host Process for Windows Services                       Microsoft Corporation
  svchost.exe           944              8,844 K   15,740 K    Host Process for Windows Services                       Microsoft Corporation
   dwm.exe              800              1,692 K    4,636 K    Desktop Window Manager                                  Microsoft Corporation
   dwm.exe             3908              1,800 K    4,748 K    Desktop Window Manager                                  Microsoft Corporation
  svchost.exe           984             13,036 K   17,004 K    Host Process for Windows Services                       Microsoft Corporation
  svchost.exe           284              8,536 K   11,152 K    Host Process for Windows Services                       Microsoft Corporation
  spoolsv.exe          1064              9,808 K   16,696 K    Spooler SubSystem App                                   Microsoft Corporation
  svchost.exe          1168              1,116 K    2,740 K    Host Process for Windows Services                       Microsoft Corporation
  Tomcat6.exe          1308      0.28  331,512 K  302,568 K    Commons Daemon Service Runner                           Apache Software Foundation
   git.exe             1812              3,308 K    4,880 K
    ssh.exe            2996              2,940 K    5,792 K
  vmtoolsd.exe         1352              8,260 K   12,892 K    VMware Tools Core Service                               VMware, Inc.
  VMUpgradeHelper.exe  1416              2,452 K    6,588 K    VMware virtual hardware upgrade helper application      VMware, Inc.
  svchost.exe          1880              3,796 K    9,224 K    Host Process for Windows Services                       Microsoft Corporation
   rdpclip.exe         3020              2,584 K    7,076 K    RDP Clip Monitor                                        Microsoft Corporation
   rdpclip.exe         4072              1,948 K    6,236 K    RDP Clip Monitor                                        Microsoft Corporation
  svchost.exe          1932              1,964 K    5,532 K    Host Process for Windows Services                       Microsoft Corporation
  dllhost.exe          1996              4,500 K   11,340 K    COM Surrogate                                           Microsoft Corporation
  msdtc.exe            1284              3,604 K    7,880 K    Microsoft Distributed Transaction Coordinator Service   Microsoft Corporation
  taskhost.exe         2492              3,076 K    6,252 K    Host Process for Windows Tasks                          Microsoft Corporation
  taskhost.exe         3548              2,896 K    6,088 K    Host Process for Windows Tasks                          Microsoft Corporation
 lsass.exe              504              8,516 K   16,548 K    Local Security Authority Process                        Microsoft Corporation
 lsm.exe                512              3,468 K    6,480 K    Local Session Manager Service                           Microsoft Corporation
csrss.exe               408              1,836 K    3,796 K    Client Server Runtime Process                           Microsoft Corporation
winlogon.exe            436              1,780 K    4,392 K    Windows Logon Application                               Microsoft Corporation
 LogonUI.exe            784              7,344 K   14,460 K    Windows Logon User Interface Host                       Microsoft Corporation
csrss.exe              2184              2,756 K    7,532 K    Client Server Runtime Process                           Microsoft Corporation
winlogon.exe           2952              1,960 K    5,192 K    Windows Logon Application                               Microsoft Corporation
explorer.exe           1836             23,536 K   45,060 K    Windows Explorer                                        Microsoft Corporation
 VMwareTray.exe        2168              2,824 K    6,400 K    VMware Tools tray application                           VMware, Inc.
 regedit.exe           2772              6,212 K    9,584 K    Registry Editor                                         Microsoft Corporation
 procexp64.exe         3648      11.93  21,904 K   37,056 K    Sysinternals Process Explorer                           Sysinternals - www.sysinternals.com
csrss.exe              3140              2,732 K    5,612 K    Client Server Runtime Process                           Microsoft Corporation
 conhost.exe           2500              1,312 K    3,452 K    Console Window Host                                     Microsoft Corporation
winlogon.exe           3172              1,900 K    4,980 K    Windows Logon Application                               Microsoft Corporation
explorer.exe            868             28,840 K   45,200 K    Windows Explorer                                        Microsoft Corporation
 VMwareTray.exe        3300              2,672 K    6,252 K    VMware Tools tray application                           VMware, Inc.
 rundll32.exe          3328              1,828 K    5,584 K    Windows host process (Rundll32)                         Microsoft Corporation
 cmd.exe               2832              2,240 K    2,588 K    Windows Command Processor                               Microsoft Corporation

Process: Tomcat6.exe Pid: 1308

Type        Name
Desktop      \Default
Directory    \KnownDlls
Directory    \BaseNamedObjects
Event        \BaseNamedObjects\TOMCAT6SIGNAL
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\commons-daemon.2012-05-24.log
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\tomcat6-stdout.2012-05-24.log
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\tomcat6-stdout.2012-05-24.log
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\tomcat6-stderr.2012-05-24.log
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\tomcat6-stderr.2012-05-24.log
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0
File    C:\Users\\AppData\Local\Temp\hsperfdata_\1308
File    C:\Program Files\Java\jre7\lib\rt.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin\bootstrap.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin\tomcat-juli.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\catalina.2012-05-30.log
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\localhost.2012-05-24.log
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\manager.2012-05-24.log
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\host-manager.2012-05-24.log
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\tomcat6-stderr.2012-05-24.log
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\logs\tomcat6-stdout.2012-05-24.log
File    C:\Program Files\Java\jre7\lib\ext\dnsns.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\annotations-api.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\catalina-ant.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\catalina-ha.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\catalina-tribes.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\catalina.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\ecj-3.7.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\el-api.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\jasper-el.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\jasper.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\jsp-api.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar
File    C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\tomcat-coyote.jar
File    C:\Program Files\Apa
0
Da, este același utilizator.
adăugat autor user1414274, sursa
Multumesc @VonC pentru ajutor oricum
adăugat autor user1414274, sursa
@Vonc adăugat rezultatul ssh găsi la întrebarea organism. Consola nu arată nimic altceva decât înainte (o singură linie - Începută de utilizator și asta este). Din nou, o construcție este blocată, iar sondajul pentru schimbarea jurnalului este învechit și se termină cu o linie "Fetching upstream changes". BTW un alt loc de muncă pe același server Jenkins funcționează bine în timp ce această activitate este blocată.
adăugat autor user1414274, sursa
Va adăuga urmă. Vă așteptați să vedeți ceva în ieșirea consolei ca rezultat sau unde altceva ar trebui să fie văzute ieșirile de urmărire? În ceea ce privește mânerele - nu sunteți sigur ce vreți să verificați. Listarea de mai sus are totul pe mașină (procexp a funcționat ca administrator).
adăugat autor user1414274, sursa
BTW Cred că a fost atârnată din cauza faptului că s-au făcut sondajele CSM - am ucis procesele GIT și SSH și s-au creat brusc noi procese și locul de muncă a început să se tragă de la SCM și să se desfășoare.
adăugat autor user1414274, sursa
Vezi mai sus în corpul întrebărilor
adăugat autor user1414274, sursa
Aici este un arbore complet de proces și se ocupă de dump unde Jenkins este în prezent atârnat pe un checkout GIT.
adăugat autor user1414274, sursa
va încerca data viitoare când se va întâmpla
adăugat autor user1414274, sursa
Da, același utilizator. Bănuiesc că dacă problema ar avea legătură doar cu utilizatorul, acest lucru nu ar fi funcționat deloc. Cu toate acestea, funcționează - și numai ocazional atârnă.
adăugat autor user1414274, sursa
Puteți încerca un GIT_TRACE = 1 în variabilele de mediu de lucru pentru a vedea dacă există o urmă utilă atunci când apelul git ssh se blochează? Și ați verificat mânerele care se refereau la acele executabile? (pentru a verifica dacă a existat vreun conflict cu alte procese)
adăugat autor VonC, sursa
Un fel de conflict de resurse atunci ... Ar fi interesant, înainte de a ucide întregul arbore al procesului, să căutați mânerele pe ssh.exe (printr-un explorator de proces: technet.microsoft.com/fr-fr/sysinternals/bb896653.aspx )
adăugat autor VonC, sursa
Consola ar trebui să fie suficientă. În ceea ce privește mânerul, ideea este de a verifica dacă orice alt proces are un mâner deschis pe ssh.exe : utilizați în CTRL + F ssh (a se vedea geekyninja.com/archives/… pentru ilustrare)
adăugat autor VonC, sursa
Destul de ciudat. Îmi pare rău că nu ofer un răspuns concludent, dar am vrut să fiu sigur că acoperim opțiunile obișnuite de depanare.
adăugat autor VonC, sursa
și procesul tomcat6.exe este deținut de același utilizator?
adăugat autor VonC, sursa
Este user-name același cont cu cel cu care Jenkins rulează?
adăugat autor VonC, sursa
Este problema fixată?
adăugat autor Maximin, sursa

4 răspunsuri

Acest lucru este discutat la:

https://issues.jenkins-ci.org/browse/JENKINS-5413

S-ar putea să rulați scriptul de mai jos în Consola de scripturi:

Jenkins.instance.getTrigger("SCMTrigger").getRunners().each()
{
  item ->
    println(item.getTarget().name)
    println(item.getDuration())
    println(item.getStartTime())
    long millis = Calendar.instance.time.time - item.getStartTime()

    if(millis > (1000 * 60 * 3))//1000 millis in a second * 60 seconds in a minute * 3 minutes
    {
      Thread.getAllStackTraces().keySet().each()
      { 
        tItem ->
          if (tItem.getName().contains("SCM polling") && tItem.getName().contains(item.getTarget().name))
          { 
            println "Interrupting thread " + tItem.getName(); 
            tItem.interrupt()
          }
       }
    }
}

pentru a clarifica problema cel puțin ...

0
adăugat
Ce ar face asta? Obțineți doar: Rezultat: [[email protected]]
adăugat autor Josh Santangelo, sursa

În cazul meu, descarcarea de pe site-ul PuTTY și setarea variabila de mediu GIT_SSH pentru ao utiliza rezolva problema.

0
adăugat

Am rezolvat-o prin:

  • setarea C: \ Program Files (x86) \ Git \ cmd \ git.exe </</strong> (adică cmd și nu bin!) și
  • setați variabila de mediu % HOME% la $ USERPROFILE
    (în caz contrar HOME este implicit $ HOMEDRIVE $ HOMEPATH , care a fost H: \ > este setat la $ USERPROFILE ).
0
adăugat
Avem ambele setări, și încă se confruntă cu această problemă ...
adăugat autor gliptak, sursa
Excelent. Vă mulțumim că ați luat timp și ați actualizat această veche întrebare. +1
adăugat autor VonC, sursa
Super, multumesc. M-am ajutat foarte mult!
adăugat autor SGrebenkin, sursa
Am crezut că acest lucru mi-a rezolvat problema, dar după o săptămână de sănătate, problema a revenit astăzi = (
adăugat autor brianfeucht, sursa

S-ar putea să fi rezolvat asta. Am creat inițial cheile mele SSH generând-le cu ssh-keygen pe o mașină Linux. Acest lucru a funcționat în general, dar Git ar fi închis ocazional de la Jenkins.

Acum am încercat să folosesc instrumentele PuTTY pentru a configura autentificarea bazată pe chei la serverele mele Git, utilizând aceste instrucțiuni . Apoi am setat variabila de mediu GIT_SSH pe calea către plink.exe. Se pare că lucrează acum, dar a fost întotdeauna o problemă intermitentă. Sperăm că nu se va întoarce ...

0
adăugat