Что вызывает ошибку переполнения стека, когда плагин Jenkins Job DSL пытается удалить некоторые не связанные задания? - PullRequest
0 голосов
/ 03 февраля 2020

Я удалил некоторые старые задания из DSL-файла заданий Jenkins, который использовался для создания заданий. Пока начальное задание выполняется и пытается обработать несвязанные задания путем их удаления, происходит сбой с ошибкой переполнения стека.

Вот выдержка из сообщения об ошибке:

Unreferenced items:
    GeneratedJob{name='...'}
    GeneratedJob{name='...'}
    ... about 20 more Unreferenced jobs listed here ...
java.lang.RuntimeException: java.io.IOException: Remote call on JNLP4-connect connection from ***.***.***.net/***.***.**.**:***** failed
    at hudson.plugins.tfs.model.Server.execute(Server.java:237)
    at hudson.plugins.tfs.model.Workspaces.getListFromServer(Workspaces.java:36)
    at hudson.plugins.tfs.model.Workspaces.populateMapFromServer(Workspaces.java:45)
    at hudson.plugins.tfs.model.Workspaces.exists(Workspaces.java:71)
    at hudson.plugins.tfs.actions.RemoveWorkspaceAction.remove(RemoveWorkspaceAction.java:25)
    at hudson.plugins.tfs.TeamFoundationServerScm.processWorkspaceBeforeDeletion(TeamFoundationServerScm.java:465)
    at hudson.scm.SCM.processWorkspaceBeforeDeletion(SCM.java:245)
    at hudson.model.AbstractProject.performDelete(AbstractProject.java:358)
    at hudson.model.AbstractItem.delete(AbstractItem.java:775)
    at hudson.model.Job.delete(Job.java:675)
    at com.cloudbees.hudson.plugins.folder.AbstractFolder.delete(AbstractFolder.java:1176)
    at javaposse.jobdsl.plugin.ExecuteDslScripts.updateGeneratedJobs(ExecuteDslScripts.java:460)
    at javaposse.jobdsl.plugin.ExecuteDslScripts.perform(ExecuteDslScripts.java:361)
    at hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:79)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:741)
    at hudson.model.Build$BuildExecution.build(Build.java:206)
    at hudson.model.Build$BuildExecution.doRun(Build.java:163)
    at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:504)
    at hudson.model.Run.execute(Run.java:1818)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
Caused by: java.io.IOException: Remote call on JNLP4-connect connection from ***.***.***.net/***.***.**.**:***** failed
    at hudson.remoting.Channel.call(Channel.java:963)
    at hudson.plugins.tfs.model.Server.execute(Server.java:233)
    ... 22 more
Caused by: java.lang.StackOverflowError
    at com.microsoft.tfs.util.listeners.StandardListenerList$ListenerNode.addListener(StandardListenerList.java:304)
    at com.microsoft.tfs.util.listeners.StandardListenerList$ListenerNode.addListener(StandardListenerList.java:304)
    at com.microsoft.tfs.util.listeners.StandardListenerList$ListenerNode.addListener(StandardListenerList.java:304)
    ... about 500 more lines like this  ...
    at com.microsoft.tfs.util.listeners.StandardListenerList$ListenerNode.addListener(StandardListenerList.java:304)
    at com.microsoft.tfs.util.listeners.StandardListenerList$ListenerNode.addListener(StandardListenerList.java:304)
ERROR: java.io.IOException: Remote call on JNLP4-connect connection from ***.***.***.net/***.***.**.**:***** failed
Finished: FAILURE
 Help us localize this pagePage generated: Feb 2, 2020 2:49:10 PM CSTREST APIJenkins ver. 2.177

Я попытался исправить ситуацию, удалив задания с помощью пользовательского интерфейса Jenkins. Я получил ту же ошибку переполнения стека там на нескольких затронутых заданиях. Я изменил настройку управления исходным кодом с Team Foundation Server на None, сохранил задание и затем удалил его. Это сработало, и задания теперь очищены.

Я вернулся и снова запустил начальное задание, но с этим сообщением все равно не получилось.

Что вызывает ошибку переполнения стека в Jenkins при попытке удалить вакансии?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...