Closed bgoncalv closed 4 years ago
Full trace:
A problem occurred while processing the request. Please check our bug tracker to see if a similar problem has already been reported. If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. If you think this is a new issue, please file a new issue. When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins. The users list might be also useful in understanding what has happened.
Stack trace
org.kohsuke.stapler.WrongTypeException: Got type array but no lister class found for type class com.redhat.jenkins.plugins.ci.messaging.MessagingProviderOverrides
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:724)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
at org.kohsuke.stapler.RequestImpl.injectSetters(RequestImpl.java:834)
at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:784)
at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:678)
Caused: java.lang.IllegalArgumentException: Failed to instantiate class com.redhat.jenkins.plugins.ci.provider.data.ProviderData from {"name":"FedoraMessagingStage","overrides":[{"topic":"org.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete"},{"queue":"org.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete"}],"variable":"CI_MESSAGE","timeout":"60","stapler-class":"com.redhat.jenkins.plugins.ci.provider.data.RabbitMQSubscriberProviderData","$class":"com.redhat.jenkins.plugins.ci.provider.data.RabbitMQSubscriberProviderData"}
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:681)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:778)
Caused: java.lang.IllegalArgumentException: Failed to convert the providerData parameter of the constructor public com.redhat.jenkins.plugins.ci.CIBuildTrigger$ProviderDataEnvelope(com.redhat.jenkins.plugins.ci.provider.data.ProviderData)
at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:780)
at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:678)
Caused: java.lang.IllegalArgumentException: Failed to instantiate class com.redhat.jenkins.plugins.ci.CIBuildTrigger$ProviderDataEnvelope from {"":"FedoraMessagingStage","providerData":{"name":"FedoraMessagingStage","overrides":[{"topic":"org.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete"},{"queue":"org.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete"}],"variable":"CI_MESSAGE","timeout":"60","stapler-class":"com.redhat.jenkins.plugins.ci.provider.data.RabbitMQSubscriberProviderData","$class":"com.redhat.jenkins.plugins.ci.provider.data.RabbitMQSubscriberProviderData"}}
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:681)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:717)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
at org.kohsuke.stapler.RequestImpl.injectSetters(RequestImpl.java:834)
at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:784)
at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:678)
Caused: java.lang.IllegalArgumentException: Failed to instantiate class com.redhat.jenkins.plugins.ci.CIBuildTrigger from {"noSquash":true,"providers":{"":"FedoraMessagingStage","providerData":{"name":"FedoraMessagingStage","overrides":[{"topic":"org.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete"},{"queue":"org.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete"}],"variable":"CI_MESSAGE","timeout":"60","stapler-class":"com.redhat.jenkins.plugins.ci.provider.data.RabbitMQSubscriberProviderData","$class":"com.redhat.jenkins.plugins.ci.provider.data.RabbitMQSubscriberProviderData"}}}
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:681)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:474)
at hudson.model.Descriptor.newInstance(Descriptor.java:596)
Caused: java.lang.Error: Failed to instantiate class com.redhat.jenkins.plugins.ci.CIBuildTrigger from {"noSquash":true,"providers":{"":"FedoraMessagingStage","providerData":{"name":"FedoraMessagingStage","overrides":[{"topic":"org.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete"},{"queue":"org.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete"}],"variable":"CI_MESSAGE","timeout":"60","stapler-class":"com.redhat.jenkins.plugins.ci.provider.data.RabbitMQSubscriberProviderData","$class":"com.redhat.jenkins.plugins.ci.provider.data.RabbitMQSubscriberProviderData"}}}
at hudson.model.Descriptor.newInstance(Descriptor.java:604)
at hudson.util.DescribableList.rebuild(DescribableList.java:177)
at org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty.reconfigure(PipelineTriggersJobProperty.java:159)
at org.jenkinsci.plugins.workflow.job.properties.PipelineTriggersJobProperty.reconfigure(PipelineTriggersJobProperty.java:55)
at hudson.util.DescribableList.rebuild(DescribableList.java:175)
at hudson.model.Job.doConfigSubmit(Job.java:1338)
at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710)
at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
at org.kohsuke.stapler.interceptor.RequirePOST$Processor.invoke(RequirePOST.java:77)
at org.kohsuke.stapler.PreInvokeInterceptedFunction.invoke(PreInvokeInterceptedFunction.java:26)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:535)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
Caused: javax.servlet.ServletException
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:797)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:280)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:280)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:676)
at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:873)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at org.openshift.jenkins.plugins.openshiftlogin.OpenShiftPermissionFilter.doFilter(OpenShiftPermissionFilter.java:247)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at org.jenkinsci.plugins.ssegateway.Endpoint$SSEListenChannelFilter.doFilter(Endpoint.java:243)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at io.jenkins.blueocean.auth.jwt.impl.JwtAuthenticationFilter.doFilter(JwtAuthenticationFilter.java:61)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at com.cloudbees.jenkins.support.slowrequest.SlowRequestFilter.doFilter(SlowRequestFilter.java:37)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at io.jenkins.blueocean.ResourceCacheControl.doFilter(ResourceCacheControl.java:134)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:211)
at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)
at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:114)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at jenkins.metrics.impl.MetricsFilter.doFilter(MetricsFilter.java:125)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:99)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1701)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1668)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:502)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.base/java.lang.Thread.run(Thread.java:834)
FYI @Zlopez
@scoheb I tried to debug this yesterday with @bgoncalv and I'm not sure how the Jenkinsfile is actually processed by the jms-messaging-plugin. It probably doesn't call the same methods as web interface, because when configuring this in web interface directly it works.
Is there any update on this issue?
I talked with @scoheb this morning and he was sadly tied up in another bugfix. Scott let me know that he would reach out to Greg Allen to take a look for us; I'll post any updates here if I have them by end-of-day.
@jimbair , I am going to try to look at this ASAP.
@ggallen thank you! If we can help out at all, please don't hesitate to reach out and let us know.
@bgoncalv , I created a pipeline job (from script) and copied in your Jenkinsfile. When I try to run it I get this:
java.lang.NoSuchMethodError: No such DSL method 'properties' found among steps [archive, bat, catchError, checkout, deleteDir, dir, echo, error, fileExists, getContext, isUnix, load, mail, node, parallel, powershell, pwd, readFile, retry, sh, sleep, stash, step, timeout, tool, unarchive, unstable, unstash, waitUntil, warnError, withContext, withEnv, wrap, writeFile, ws] or symbols [all, always, apiToken, architecture, archiveArtifacts, artifactManager, batchFile, booleanParam, buildButton, buildDiscarder, caseInsensitive, caseSensitive, choice, choiceParam, clock, cloud, command, cron, crumb, defaultView, demand, disableConcurrentBuilds, disableResume, downloadSettings, downstream, dumb, durabilityHint, envVars, file, fileParam, filePath, fingerprint, frameOptions, freeStyle, freeStyleJob, fromScm, fromSource, headRegexFilter, headWildcardFilter, hyperlink, hyperlinkToModels, installSource, jdk, jdkInstaller, jnlp, jobDsl, jobName, lastDuration, lastFailure, lastGrantedAuthorities, lastStable, lastSuccess, legacy, list, local, location, logRotator, loggedInUsersCanDoAnything, masterBuild, maven, maven3Mojos, mavenErrors, mavenMojos, mavenWarnings, myView, nodeProperties, nonStoredPasswordParam, none, paneStatus, parameters, password, pattern, permanent, pipelineTriggers, plainText, plugin, pollSCM, projectNamingStrategy, proxy, queueItemAuthenticator, quietPeriod, remotingCLI, run, runParam, schedule, scmRetryCount, script, scriptApproval, scriptApprovalLink, search, security, shell, slave, sourceRegexFilter, sourceWildcardFilter, stackTrace, standard, status, string, stringParam, swapSpace, text, textParam, tmpSpace, toolLocation, unsecured, upstream, url, userSeed, viewsTabBar, weather, zfs, zip] or globals [currentBuild, env, params]
at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:202)
at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:122)
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)
What am I doing wrong?
@bgoncalv and @jimbair , I think the problem may be that the syntax you are using isn't up-to-date. There were chanages made several releases ago to support mulitple provideres.
Here's a known-to-work syntax in declarative pipeline:
triggers {
ciBuildTrigger {
providers {
providerDataEnvelope {
providerData {
activeMQSubscriber {
name("Red Hat UMB")
overrides {
def uuid = "4ba46bbc-949b-11e8-b83f-54ee754ea14c"
topic("Consumer.rh-jenkins-ci-plugin.${uuid}.VirtualTopic.eng.ci.redhat-container-image.pipeline.running")
}
// Message Checks
checks {
msgCheck {
field('$.artifact.type')
expectedValue("cvp")
}
}
}
}
}
}
noSquash(true)
}
}
I think you need to do something similar with providers
and providerDataEnvelope
.
@ggallen thanks, does it mean we have to use declarative pipeline now?
I tried to create a new job based on your example, but it didn't work...
pipeline {
triggers {
ciBuildTrigger {
providers {
providerDataEnvelope {
providerData {
rabbitMQSubscriber {
name("FedoraMessagingStage")
overrides {
topic("org.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete")
}
}
}
}
}
noSquash(true)
}
}
agent {
label 'master'
}
stages {
stage('Example') {
steps {
sh 'echo example'
}
}
}
}
WorkflowScript: 3: Triggers definitions cannot have blocks @ line 3, column 5. ciBuildTrigger {
@ggallen would it help if we setup a time to sync up over IRC (or something else) to work through the config?
@jimbair and @bgoncalv , could you give me the information so I can set up a provider correctly for the test?
@ggallen thank you so much for your help! I reached out to Bruno this morning, and while trying to test it some more from our side.....the problem just disappeared? We know the openshift project was relocated/rebooted/moved 3-4 weeks back, so we're not sure if that's what "fixed" it or if something else was updated without us knowing about it?
Either way, for now, we are good - sorry for the run around! If we run into this again, we'll re-open, but for now I think we can close this out. Thanks again!
Create a Jenkins pipeline job with Jenkinsfile as below:
Then:
override provider
andoverride queue
are set toorg.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete
Apply
Exception happens:
org.kohsuke.stapler.WrongTypeException: Got type array but no lister class found for type class com.redhat.jenkins.plugins.ci.messaging.MessagingProviderOverrides at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:724) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478) at org.kohsuke.stapler.RequestImpl.injectSetters(RequestImpl.java:834) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:784) at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:83) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:678) Caused: java.lang.IllegalArgumentException: Failed to instantiate class com.redhat.jenkins.plugins.ci.provider.data.ProviderData from {"name":"FedoraMessagingStage","overrides":[{"topic":"org.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete"},{"queue":"org.fedoraproject.stg.bodhi.update.status.testing.koji-build-group.build.complete"}],"variable":"CI_MESSAGE","timeout":"60","stapler-class":"com.redhat.jenkins.plugins.ci.provider.data.RabbitMQSubscriberProviderData","$class":"com.redhat.jenkins.plugins.ci.provider.data.RabbitMQSubscriberProviderData"} at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:681) at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:478) at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:778)