Alguns problemes típics. O per què no s'executen les aplicacions?

El mecanisme que utilitza Condor per descriure treballs i màquines és molt potent i expressiu però alhora pot provocar que un treball no s'executi per culpa d'algun camp especificat en el fitxer de descripció.

Cal tenir en compte també que, en general, el sistema no respon immediatament quan se li envia un treball. Els diferents dimonis de Condor estan configurats a la UAB perquè reaccionin i actualitzin la seva informació al cap d'uns quants minuts.

De totes formes, si un treball no es posa en execució passats uns pocs minuts (3 ó 4) i hem comprovat que hi ha màquines disponibles, és possible que hi hagi alguna causa que impedeixi l'execució del treball. Tot i que no hi ha cap regla fixa per tractar aquests problemes, aquí es comenten algunes accions que poden indicar la causa del problemes.

En alguns casos, els treballs sembla que sempre estan en estat d'espera però el que realment passa és que el sistema els intenta executar i fallen en el moment inicial. Condor intenta repetidament posar el procés en marxa, cada vegada falla, però des del punt de vista de l'usuari la comanda condor_q només sembla mostrar que el treball encara espera trobar una màquina. Aquest tipus d'error es pot detectar sobre tot en el fitxer de log del treball si se n'ha definit un per al treball.

El següents exemples mostren un parell de casos de treballs que fallaven. Deduir la causa de l'error a partir de la informació del log de vegades no és immediata (Exemple 1), però si més no permet apropar-nos-hi.

Exemple 1

000 (087.000.000) 10/22 11:19:36 Job submitted from host: <158.109.66.171:41679>
...
001 (087.000.000) 10/22 11:24:45 Job executing on host: <158.109.66.171:46716>
...
007 (087.000.000) 10/22 11:24:45 Shadow exception!
        Error from starter on condor-1.siee.uab.es: Failed to execute '/home/mas
enar/examples/shelljob condor_exec.exe': Permission denied
        0  -  Run Bytes Sent By Job
        0  -  Run Bytes Received By Job
...     

En aquest cas, l'error es produïa perquè s'estava enviant un treball que consistia en un fitxer de comandes (shellscript) en el que a la primera línia hi faltava això #/bin/csh.

Exemple 2

000 (088.000.000) 10/22 11:19:36 Job submitted from host: <158.109.66.171:41679>
...
001 (088.000.000) 10/22 11:24:45 Job executing on host: <158.109.66.171:46716>
...
007 (018.000.000) 04/04 22:02:09 Shadow exception!
     Error from starter on condor-1.siee.uab.es: 
     Failed to open standard input file 
     '/home/masenar/exemples/simple/analisis.in': 
No such file or directory (errno 2)

Aquest segon error es produïa en un treball en el què accidentalment s'havia eliminat un dels fitxers d'entrada (analisis.in) abans de que el treball es posés a executar.

La comanda condor_q -ana també ens pot donar una mica més d'informació del que està passant.


masenar@condor-1:~/examples$ condor_q -ana -submitter masenar

-- Submitter: masenar@condor-1.siee.uab.es : <158.109.66.171:41679> : condor-1.siee.uab.es
 ID      OWNER            SUBMITTED     RUN_TIME ST PRI SIZE CMD
---
087.000:  Run analysis summary.  Of 224 machines,
    222 are rejected by your job's requirements
      2 reject your job because of their own requirements
      0 match, but are serving users with a better priority in the pool
      0 match, match, but reject the job for unknown reasons
      0 match, but will not currently preempt their existing job
      0 are available to run your job

1 jobs; 1 idle, 0 running, 0 held

Si el resultat d'aquesta comanda ens diu que el nostre treball és rebutjat per totes les màquines (les dues primeres categories) i amb la comanda condor_status podem comprovar que hi ha màquines disponibles (idle) les característiques de les quals s'adiuen amb els requeriments del nostre treball nostre aleshores podem sospitar que alguna cosa va malament (errors en el fitxer de descripció o en la fase inicial d'execució del treball).