Question

Nous utilisons Hudson comme système d'intégration continue pour l'exécution de versions automatisées (toutes les nuits et sur la base d'une interrogation CVS) de beaucoup de nos projets.

Certains projets interrogent CVS toutes les 15 minutes, d’autres toutes les 5 minutes et d’autres toutes les heures.

Toutes les quelques semaines, nous obtenons une version qui échoue avec la sortie suivante:

FATAL: java.io.IOException: Too many open files
java.io.IOException: java.io.IOException: Too many open files
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:148)

La génération suivante a toujours fonctionné (avec 0 modifications), nous l'avons donc toujours inscrite sur 2 tâches de génération exécutées simultanément et sur lesquelles trop de fichiers sont ouverts au cours du processus.

Ce week-end, nous avons eu un échec de construction vendredi soir (génération nocturne automatique) avec le message. Toutes les versions nocturnes ont également échoué. D'une manière ou d'une autre, cela a poussé Hudson à construire en continu tous les projets qui échouaient jusqu'à la résolution du problème. Cela a abouti à une compilation toutes les 30 minutes environ de chaque projet jusqu'au samedi soir, lorsque le problème a disparu comme par magie.

Était-ce utile?

La solution

Ceci est le numéro 715 de Hudson ( http: //issues.hudson- ci.org/browse/HUDSON-715 . La recommandation actuelle est de définir le "nombre maximal de fils de scrutation simultanés" pour limiter l'activité de scrutation.

Autres conseils

Modifier les limites système pour les descripteurs de fichier ouverts maximum par processus? Comme dans ulimit -n pour le processus Java?

J'ai rencontré ce problème avec une autre application Java exécutée sous Debian. Elle a disparu lorsque nous avons rétrogradé la version 1.6.0.0 de Java. Java n'a jamais fermé les connexions inutilisées, ce qui a provoqué la levée de l'exception.

L’un des problèmes les plus courants qui cause "Trop de fichiers ouverts". doit avoir le plugin Active Directory activé et configuré dans Jenkins. Il existe des problèmes connus avec ce plugin qui entraînent l'apparition d'un très grand nombre de threads et "Trop de fichiers ouverts". erreur dans les journaux aussi. Après l'avoir désactivé et passé à l'authentification LDAP, Jenkins ne se bloquait plus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top