Jenkins: "Impossible d'initialiser la classe org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist"

12

(Au bail) l'un de mes emplois Jenkins CI a soudainement cessé de fonctionner. Il semble que le runtime Jenkins ne trouve pas l'une de ses classes attendues. Quelqu'un a-t-il déjà vu cette erreur et sait ce qui peut en être la cause? J'utilise la version 2.212 sur Debian. Le plugin de sécurité de script exécute la version 1.68.

Started by user John Doe
Obtained Jenkinsfile from git ssh://[email protected]:7999/my/repo.git
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] End of Pipeline
java.lang.NoClassDefFoundError: Could not initialize class org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onStaticCall(SandboxInterceptor.java:183)
    at org.kohsuke.groovy.sandbox.impl.Checker$2.call(Checker.java:189)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedStaticCall(Checker.java:193)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:100)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:17)
    at WorkflowScript.run(WorkflowScript)
    at ___cps.transform___(Native Method)
    at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:86)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:113)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixName(FunctionCallBlock.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
    at com.cloudbees.groovy.cps.impl.ConstantBlock.eval(ConstantBlock.java:21)
    at com.cloudbees.groovy.cps.Next.step(Next.java:83)
    at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:174)
    at com.cloudbees.groovy.cps.Continuable$1.call(Continuable.java:163)
    at org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:129)
    at org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:268)
    at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:163)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:51)
    at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:185)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:405)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$400(CpsThreadGroup.java:96)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:317)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:281)
    at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:67)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:131)
    at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
    at jenkins.security.ImpersonatingExecutorService$1.run(ImpersonatingExecutorService.java:59)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Finished: FAILURE

MISE À JOUR: J'ai rétrogradé le plug-in de sécurité de script à la version 1.67, et maintenant le travail fonctionne.

protoken
la source

Réponses:

7

J'ai beaucoup de messages d'erreur similaires depuis la mise à jour vers 2.212 et le plugin de sécurité de script 1.68. La rétrogradation de ce dernier à 1,67 a résolu mes problèmes pour l'instant.

dschuldt
la source
1
La rétrogradation de la sécurité des scripts à 1.67 avec Jenkins 2.212 ne fonctionne toujours pas. Vient de tester - même erreur.
Costas
Moi aussi. Existe-t-il une autre solution?
mtutty
Avez-vous redémarré votre instance?
dschuldt
Oui, plusieurs fois. J'ai mis à jour toutes les bibliothèques lorsque j'ai remarqué le problème pour la première fois et j'ai redémarré mais pas de correctif. Ensuite, j'ai lu cette publication et essayé de rétrograder la sécurité des scripts, redémarré à nouveau et aucun correctif.
mtutty
Essayez de passer à la nouvelle version Jenkins 2.213 - cela devrait vous aider.
Michael Kemmerzell
8

Mise à jour :

Une mise à niveau vers Jenkins version 2.213 résout le problème.

Correction des échecs de chargement des ressources de classe de plugin pour les plugins qui incluent les fichiers JAR de bibliothèque Au moins, les plug-ins de sécurité de script et de répertoire actif sont connus pour être affectés. (régression en 2.112) (problème 60641, problème 60644)

Réponse originale:

Il s'agit d'un problème connu ( JENKINS-60644 et JENKINS-60641 ) avec Script Security Plugin 1.68 et Jenkins 2.212.

Il est conseillé de rétrograder vers Jenkins 2.211 .

AVERTISSEMENT: cette version [2.212] introduit une régression critique, voir JENKINS-60644. Veuillez éviter la mise à jour vers cette version.

Michael Kemmerzell
la source
J'ai vérifié le fichier updates.jenkins-ci.org mais je n'ai pas trouvé 2.211. Des idées où je devrais chercher?
mtutty
Mettez-le plutôt à niveau vers la nouvelle version 2.213 qui résout également le problème.
Michael Kemmerzell
1
la mise à niveau vers 2.213 a également fonctionné ici jusqu'à ce matin
krad
0

Je viens de mettre à jour vers V2.213 et le problème a été résolu pour moi.

mtutty
la source