2015-05-28 8 views
8

Tutti i test automatici sono stati eseguiti correttamente. ma il problema di xvfb causa l'errore di compilazione in Jenkins.xvfb-run: riga 171: kill: (25939) - Nessun processo di questo tipo

ho usato sotto commnad opzione ExecuteShell in disponibile sotto Jenkins per eseguire i miei casi di test nel browser senza testa

/usr/bin/xvfb-run /usr/local/apache-maven-3.3.1/bin/mvn clean test -Dbrowser=firefox 

Ottenere l'output di seguito:

Results : 

Tests run: 22, Failures: 0, Errors: 0, Skipped: 0 


[INFO] BUILD SUCCESS 

[INFO] Total time: 10:19 min 

[INFO] Final Memory: 20M/47M 


/usr/bin/xvfb-run: line 171: kill: (25939) - No such process 

Build step 'Execute shell' marked build as failure 

Come possiamo vedere nell'uscita [INFO] BUILD SUCCESS . Ma /usr/bin/xvfb-run: line 171: kill: (25939) - No such process causa l'errore builld.

Qualcuno potrebbe fornire qualche soluzione per questo?

+0

Che cos'è la riga 171 di 'xvfb-run'? Lo script è online da qualche parte può essere visto? –

+0

xvfb-run sta eseguendo un mucchio di codice. Non so quale linea assuma come 171. – vish

+0

Sembra un po 'come [questo] (https://git.centos.org/blob/rpms!xorg-x11-server/70130e98ab8c06ce3f7e7d65a80e71aa5f09f614/SOURCES!xvfb-run.sh;jsessionid = o6zzn1bogxm4iee8l4ugs6q1)? Il problema è che, per qualche ragione, Xvfb è già morto quando lo script tenta di ucciderlo e quindi "kill" fallisce. Non so perché sarebbe. È possibile modificare lo script per gestire tale caso ma chiaramente non si pensa che sia qualcosa che dovrebbe accadere in genere. –

risposta

7

Ho avuto lo stesso problema durante il tentativo di eseguire wkhtmltopdf tramite xvfb-run.

Nel mio script PHP, ho eseguito /usr/bin/xvfb-run /usr/bin/wkhtmltopdf ... diverse volte nello stesso script. Il primo ha sempre funzionato, ma il secondo ha fallito in modo coerente con lo stesso errore che hai postato.

Aggiunta -e /tmp/xvfb.log al secondo comando rivelato questo nel registro:

Fatal server error: (EE) Server is already active for display 99 If this server is no longer running, remove /tmp/.X99-lock and start again.

La soluzione nel mio caso è stato quello di aggiungere il flag -a al comando:

/usr/bin/xvfb-run -a /usr/bin/wkhtmltopdf ...

che vi dirà xvfb-run per "cercare di ottenere un numero di server gratuito, a partire da --server-num".

+3

grazie a @brian, solo per il commento .. ora che l'opzione sembra deprecata, la nuova opzione è -d/--auto-display – wnasich

+0

Oh , non lo sapevo. Cosa cambia? Grazie. –

-1

ho potuto saltare lo stesso errore con un piccolo trucco:

sleep(10); 

il mio codice ... dopo finisce un compito e dormiva il mio codice PHP ho potuto eseguire un altro compito senza errori ... seguendo il mio Script PHP ...

spero che sia utile

Problemi correlati