jenkinsci / jenkinsci/git-plugin

[JENKINS-15286] Specified type class …GitoriousWeb is not assignable to the expected class …BuildChooser

Open
#2,197 0 comments 0 reactions 0 assignees View on GitHub
component:git-plugin imported-jira-issue priority:minor resolution:unresolved
Dominant language
Java
Stars
694
Forks
1.1k
Avg merge
1h 29m
Merged PRs (30d)
3

Description

Also seen in DEV@​cloud, but to reproduce:

Run the Git plugin in test mode. Create a job. Add a Git SCM section. Enter a repository location (arbitrary). At the bottom of the screen, click the “Jenkins ver. 1.424” link to http://jenkins-ci.org/ and then click the browser’s Back button.

The repository location is now blank again, so reënter the repository location. Now click “Save”. You get a CCE from one of the GitRepositoryBrowser types to BuildChooser, such as:

2012-09-24 09:48:15.156:/:WARN:  Error while serving http://localhost:8080/job/x/configSubmit

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:282)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:149)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:88)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:104)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:234)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
at org.kohsuke.stapler.Stapler.service(Stapler.java:159)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.git.GitSCM from {"":["hudson.plugins.git.util.DefaultBuildChooser","auto"],"authorOrCommitter":false,"branches":{"name":""},"buildChooser":{"stapler-class":"hudson.plugins.git.browser.GitoriousWeb"},"clean":false,"disableSubmodules":false,"excludedRegions":"","excludedUsers":"","gitConfigEmail":"","gitConfigName":"","gitTool":"Default","ignoreNotifyCommit":false,"includedRegions":"","localBranch":"","pruneBranches":false,"recursiveSubmodules":false,"reference":"","relativeTargetDir":"","remotePoll":false,"scmName":"","skipTag":false,"userRemoteConfigs":{"name":"","refspec":"","url":"/tmp/yaya"},"value":"1","wipeOutWorkspace":false}
at hudson.model.Descriptor.newInstance(Descriptor.java:545)
at hudson.plugins.git.GitSCM$DescriptorImpl.newInstance(GitSCM.java:1508)
at hudson.plugins.git.GitSCM$DescriptorImpl.newInstance(GitSCM.java:1438)
at hudson.scm.SCMS.parseSCM(SCMS.java:63)
at hudson.model.AbstractProject.submit(AbstractProject.java:1688)
at hudson.model.Project.submit(Project.java:192)
at hudson.model.Job.doConfigSubmit(Job.java:965)
at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:643)
... 47 more
Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.git.GitSCM from {"":["hudson.plugins.git.util.DefaultBuildChooser","auto"],"authorOrCommitter":false,"branches":{"name":""},"buildChooser":{"stapler-class":"hudson.plugins.git.browser.GitoriousWeb"},"clean":false,"disableSubmodules":false,"excludedRegions":"","excludedUsers":"","gitConfigEmail":"","gitConfigName":"","gitTool":"Default","ignoreNotifyCommit":false,"includedRegions":"","localBranch":"","pruneBranches":false,"recursiveSubmodules":false,"reference":"","relativeTargetDir":"","remotePoll":false,"scmName":"","skipTag":false,"userRemoteConfigs":{"name":"","refspec":"","url":"/tmp/yaya"},"value":"1","wipeOutWorkspace":false}
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:628)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:372)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:368)
at hudson.model.Descriptor.newInstance(Descriptor.java:536)
... 54 more
Caused by: java.lang.IllegalArgumentException: Failed to convert the buildChooser parameter of the constructor public hudson.plugins.git.GitSCM(java.lang.String,java.util.List,java.util.List,hudson.plugins.git.UserMergeOptions,java.lang.Boolean,java.util.Collection,boolean,boolean,hudson.plugins.git.util.BuildChooser,hudson.plugins.git.browser.GitRepositoryBrowser,java.lang.String,boolean,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,boolean,boolean,java.lang.String,java.lang.String,boolean,java.lang.String,boolean)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:622)
... 57 more
Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.git.util.BuildChooser from {"stapler-class":"hudson.plugins.git.browser.GitoriousWeb"}
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:628)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:372)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:620)
... 57 more
Caused by: java.lang.IllegalArgumentException: Specified type class hudson.plugins.git.browser.GitoriousWeb is not assignable to the expected class hudson.plugins.git.util.BuildChooser
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:598)
... 59 more

Workaround is to reload /job/x/configure and start over.

---
Originally reported by jglick, imported from: Specified type class …GitoriousWeb is not assignable to the expected class …BuildChooser


  • status: Open
  • priority: Minor
  • component(s): git-plugin
  • label(s): configuration, exception
  • resolution: Unresolved
  • votes: 0
  • watchers: 1
  • imported: 2025-12-02

Raw content of original issue

Also seen in DEV@cloud, but to reproduce:

Run the Git plugin in test mode. Create a job. Add a Git SCM section. Enter a repository location (arbitrary). At the bottom of the screen, click the “Jenkins ver. 1.424” link to http://jenkins-ci.org/ and then click the browser’s Back button.

The repository location is now blank again, so reënter the repository location. Now click “Save”. You get a CCE from one of the GitRepositoryBrowser types to BuildChooser, such as:


2012-09-24 09:48:15.156:/:WARN:  Error while serving http://localhost:8080/job/x/configSubmit

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:282)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:149)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:88)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:104)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:234)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:561)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:646)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:477)
at org.kohsuke.stapler.Stapler.service(Stapler.java:159)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:285)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:765)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:628)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.git.GitSCM from {"":["hudson.plugins.git.util.DefaultBuildChooser","auto"],"authorOrCommitter":false,"branches":{"name":""},"buildChooser":{"stapler-class":"hudson.plugins.git.browser.GitoriousWeb"},"clean":false,"disableSubmodules":false,"excludedRegions":"","excludedUsers":"","gitConfigEmail":"","gitConfigName":"","gitTool":"Default","ignoreNotifyCommit":false,"includedRegions":"","localBranch":"","pruneBranches":false,"recursiveSubmodules":false,"reference":"","relativeTargetDir":"","remotePoll":false,"scmName":"","skipTag":false,"userRemoteConfigs":{"name":"","refspec":"","url":"/tmp/yaya"},"value":"1","wipeOutWorkspace":false}
at hudson.model.Descriptor.newInstance(Descriptor.java:545)
at hudson.plugins.git.GitSCM$DescriptorImpl.newInstance(GitSCM.java:1508)
at hudson.plugins.git.GitSCM$DescriptorImpl.newInstance(GitSCM.java:1438)
at hudson.scm.SCMS.parseSCM(SCMS.java:63)
at hudson.model.AbstractProject.submit(AbstractProject.java:1688)
at hudson.model.Project.submit(Project.java:192)
at hudson.model.Job.doConfigSubmit(Job.java:965)
at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:643)
... 47 more
Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.git.GitSCM from {"":["hudson.plugins.git.util.DefaultBuildChooser","auto"],"authorOrCommitter":false,"branches":{"name":""},"buildChooser":{"stapler-class":"hudson.plugins.git.browser.GitoriousWeb"},"clean":false,"disableSubmodules":false,"excludedRegions":"","excludedUsers":"","gitConfigEmail":"","gitConfigName":"","gitTool":"Default","ignoreNotifyCommit":false,"includedRegions":"","localBranch":"","pruneBranches":false,"recursiveSubmodules":false,"reference":"","relativeTargetDir":"","remotePoll":false,"scmName":"","skipTag":false,"userRemoteConfigs":{"name":"","refspec":"","url":"/tmp/yaya"},"value":"1","wipeOutWorkspace":false}
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:628)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:372)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:368)
at hudson.model.Descriptor.newInstance(Descriptor.java:536)
... 54 more
Caused by: java.lang.IllegalArgumentException: Failed to convert the buildChooser parameter of the constructor public hudson.plugins.git.GitSCM(java.lang.String,java.util.List,java.util.List,hudson.plugins.git.UserMergeOptions,java.lang.Boolean,java.util.Collection,boolean,boolean,hudson.plugins.git.util.BuildChooser,hudson.plugins.git.browser.GitRepositoryBrowser,java.lang.String,boolean,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,boolean,boolean,boolean,boolean,java.lang.String,java.lang.String,boolean,java.lang.String,boolean)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:622)
... 57 more
Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.git.util.BuildChooser from {"stapler-class":"hudson.plugins.git.browser.GitoriousWeb"}
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:628)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:372)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:620)
... 57 more
Caused by: java.lang.IllegalArgumentException: Specified type class hudson.plugins.git.browser.GitoriousWeb is not assignable to the expected class hudson.plugins.git.util.BuildChooser
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:598)
... 59 more

Workaround is to reload /job/x/configure and start over.

  • environment: {{1.1.22-SNAPSHOT}} from {{hpi:run}} (uses {{1.424}} core), Chromium on Ubuntu, JDK 7u7

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.