Jenkins: „Nie można zainicjować klasy org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.StaticWhitelist”

12

(Najem) jedno z moich zadań CI Jenkins nagle przestało działać. Wygląda na to, że środowisko wykonawcze Jenkins nie może znaleźć jednej z oczekiwanych klas. Czy ktoś już widział ten błąd i wiedział, co może go powodować? Używam wersji 2.212 na Debianie. Wtyczka bezpieczeństwa skryptu działa w wersji 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

AKTUALIZACJA: obniżyłem Script Security Plugin do wersji 1.67, a teraz zadanie działa.

protoken
źródło

Odpowiedzi:

7

Mam wiele podobnych komunikatów o błędach od czasu aktualizacji 2.212 i wtyczki bezpieczeństwa skryptu 1.68. Obniżenie tego drugiego do 1.67 rozwiązało na razie moje problemy.

dschuldt
źródło
1
Obniżenie poziomu bezpieczeństwa skryptu do wersji 1.67 za pomocą Jenkins 2.212 nadal nie działa. Właśnie przetestowane - ten sam błąd.
Costas
Ja też. Czy jest jakieś inne obejście?
mtutty
Czy zrestartowałeś instancję?
dschuldt
Tak, kilka razy. Zaktualizowałem wszystkie biblioteki, kiedy po raz pierwszy zauważyłem problem, i zrestartowałem, ale nie naprawiłem. Potem przeczytałem ten post i spróbowałem obniżyć poziom bezpieczeństwa Script Security, ponownie uruchomiłem ponownie i nie ma poprawki.
mtutty
Spróbuj zaktualizować do nowej wersji Jenkins 2.213 - to powinno pomóc.
Michael Kemmerzell,
8

Aktualizacja :

Aktualizacja do wersji Jenkins 2.213 rozwiązuje ten problem.

Napraw błędy ładowania zasobów klasy wtyczek dla wtyczek zawierających biblioteki JAR. Wiadomo, że dotyczy to przynajmniej wtyczek zabezpieczeń skryptów i Active Directory. (regresja w 2.112) (problem 60641, problem 60644)

Oryginalna odpowiedź:

Jest to znany problem ( JENKINS-60644 i JENKINS-60641 ) z Script Security Plugin 1.68 i Jenkins 2.212.

Zaleca się obniżenie wersji do wersji Jenkins 2.211 .

OSTRZEŻENIE: Ta wersja [2.212] wprowadza regresję krytyczną, patrz JENKINS-60644. Unikaj aktualizacji do tej wersji.

Michael Kemmerzell
źródło
Sprawdziłem update.jenkins-ci.org, ale nie znalazłem 2.211. Jakieś pomysły, gdzie powinienem szukać?
mtutty
Uaktualnij go raczej do nowej wersji 2.213, która również rozwiązuje problem.
Michael Kemmerzell,
1
aktualizacja do 2.213 działała tutaj również do dziś
krad
0

Właśnie zaktualizowałem do wersji 2.213 i problem został dla mnie rozwiązany.

mtutty
źródło