Details
-
Bug
-
Status: Resolved (View Workflow)
-
Blocker
-
Resolution: Fixed
-
None
-
Jenkins ver. 1.611+, Email-Ext plugin 2.40
Description
javax.servlet.ServletException: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.emailext.ExtendedEmailPublisher from {"project_disabled":false,"project_recipient_list":"$DEFAULT_RECIPIENTS","project_replyto":"$DEFAULT_REPLYTO","project_content_type":"default","project_default_subject":"$DEFAULT_SUBJECT","project_default_content":"$DEFAULT_CONTENT","project_attachments":"","project_attach_buildlog":"0","project_presend_script":"$DEFAULT_PRESEND_SCRIPT","project_save_output":false,"project_triggers":
{"stapler-class":"","$class":""},"stapler-class":"hudson.plugins.emailext.ExtendedEmailPublisher","$class":"hudson.plugins.emailext.ExtendedEmailPublisher"}
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:249)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:123)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
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:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Failed to instantiate class hudson.plugins.emailext.ExtendedEmailPublisher from {"project_disabled":false,"project_recipient_list":"$DEFAULT_RECIPIENTS","project_replyto":"$DEFAULT_REPLYTO","project_content_type":"default","project_default_subject":"$DEFAULT_SUBJECT","project_default_content":"$DEFAULT_CONTENT","project_attachments":"","project_attach_buildlog":"0","project_presend_script":"$DEFAULT_PRESEND_SCRIPT","project_save_output":false,"project_triggers":
,"stapler-class":"hudson.plugins.emailext.ExtendedEmailPublisher","$class":"hudson.plugins.emailext.ExtendedEmailPublisher"}
at hudson.model.Descriptor.newInstance(Descriptor.java:579)
at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:929)
at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:903)
at hudson.util.DescribableList.rebuildHetero(DescribableList.java:208)
at hudson.maven.MavenModuleSet.submit(MavenModuleSet.java:1208)
at hudson.model.Job.doConfigSubmit(Job.java:1206)
at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:788)
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:606)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:121)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
... 63 more
Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.emailext.ExtendedEmailPublisher from {"project_disabled":false,"project_recipient_list":"$DEFAULT_RECIPIENTS","project_replyto":"$DEFAULT_REPLYTO","project_content_type":"default","project_default_subject":"$DEFAULT_SUBJECT","project_default_content":"$DEFAULT_CONTENT","project_attachments":"","project_attach_buildlog":"0","project_presend_script":"$DEFAULT_PRESEND_SCRIPT","project_save_output":false,"project_triggers":
,"stapler-class":"hudson.plugins.emailext.ExtendedEmailPublisher","$class":"hudson.plugins.emailext.ExtendedEmailPublisher"}
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:602)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:404)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:400)
at hudson.model.Descriptor.newInstance(Descriptor.java:570)
... 79 more
Caused by: java.lang.IllegalArgumentException: Failed to convert the project_triggers parameter of the constructor public hudson.plugins.emailext.ExtendedEmailPublisher(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,int,java.lang.String,boolean,java.util.List,hudson.plugins.emailext.MatrixTriggerMode,boolean,java.util.List)
at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:699)
at org.kohsuke.stapler.RequestImpl.access$200(RequestImpl.java:81)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:600)
... 82 more
Caused by: java.lang.IllegalArgumentException: Failed to instantiate class hudson.plugins.emailext.plugins.EmailTrigger from
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:602)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:638)
at org.kohsuke.stapler.RequestImpl.bindJSON(RequestImpl.java:404)
at org.kohsuke.stapler.RequestImpl.instantiate(RequestImpl.java:697)
... 84 more
Caused by: java.lang.IllegalArgumentException: Class is specified in JSON, but no such class found in classLoader hudson.PluginManager$UberClassLoader
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:596)
... 87 more
Caused by: java.lang.ClassNotFoundException: cached miss for
at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:1105)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:591)
... 87 more
Attachments
Issue Links
- is duplicated by
-
JENKINS-28349 Failed to instantiate class hudson.plugins.emailext.ExtendedEmailPublisher
-
- Resolved
-
I don't think it is a core regression, I think its the change I made for default triggers. Currently, it is serializing the descriptor information for what triggers to setup as default for new jobs. When the descriptor is deserialized, it is missing some of the internal values (clazz is null for instance), which causes a problem elsewhere in my code. Is deserialization of descriptors supposed to work, or should I be just putting the descriptor.getId() out there and calling getDescriptor?