Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-28212

Failed to instantiate class hudson.plugins.emailext.ExtendedEmailPublisher

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • email-ext-plugin
    • None
    • Jenkins ver. 1.611+, Email-Ext plugin 2.40

      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":"","$class":""}

      ,"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":"","$class":""}

      ,"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

      {"stapler-class":"","$class":""}

      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

          [JENKINS-28212] Failed to instantiate class hudson.plugins.emailext.ExtendedEmailPublisher

          Alex Earl added a comment -

          Did you remove all the triggers from the job?

          Alex Earl added a comment - Did you remove all the triggers from the job?

          Daniel Beck added a comment -

          Please update to Jenkins 1.612 and try again.

          Daniel Beck added a comment - Please update to Jenkins 1.612 and try again.

          I have removed all the triggers and upgrade jenkins to 1.612 . but still no effect .

          Vigneshwaran Ravimurugan added a comment - I have removed all the triggers and upgrade jenkins to 1.612 . but still no effect .

          Jesse Glick added a comment -
          "project_triggers":{"stapler-class":"","$class":""}
          

          is clearly wrong.

          Jesse Glick added a comment - "project_triggers":{"stapler-class":"","$class":""} is clearly wrong.

          How can i overcome this ?

          Vigneshwaran Ravimurugan added a comment - How can i overcome this ?

          Its working now . I have removed and created a new trigger . Now its sending email after build. Thank you All !!!

          Vigneshwaran Ravimurugan added a comment - Its working now . I have removed and created a new trigger . Now its sending email after build. Thank you All !!!

          I have clicked remove-trigger button and created a new trigger !!! ...

          Vigneshwaran Ravimurugan added a comment - I have clicked remove-trigger button and created a new trigger !!! ...

          Alex Earl added a comment -

          You shouldn't have to do that. Did you upgrade the plugin recently or was this on a fresh Jenkins install?

          Alex Earl added a comment - You shouldn't have to do that. Did you upgrade the plugin recently or was this on a fresh Jenkins install?

          Jesse Glick added a comment -

          Obviously this is not “fixed”. The question is how to reproduce it from scratch. danielbeck says he did not manage it.

          Jesse Glick added a comment - Obviously this is not “fixed”. The question is how to reproduce it from scratch. danielbeck says he did not manage it.

          Daniel Beck added a comment -

          So far, the report is not specific enough to investigate further. vignesh_ravi could you provide a detailed explanation what the job config looked like before you were editing it, and what changes you performed? If you could restore the old (presumably broken) config from backup, and test whether it happens again, that would be great.

          Daniel Beck added a comment - So far, the report is not specific enough to investigate further. vignesh_ravi could you provide a detailed explanation what the job config looked like before you were editing it, and what changes you performed? If you could restore the old (presumably broken) config from backup, and test whether it happens again, that would be great.

          Kai Walz added a comment - - edited

          I got this error if i try to add ExtendedEmailPublisher as PostJob.

          Error while serving http://...
          java.lang.reflect.InvocationTargetException
          	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
          	at java.lang.reflect.Method.invoke(Unknown Source)
          	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)
          	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:240)
          	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(Unknown Source)
          	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
          	at java.lang.Thread.run(Unknown Source)
          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":"","$class":""},"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:941)
          	at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:903)
          	at hudson.util.DescribableList.rebuildHetero(DescribableList.java:208)
          	at hudson.model.Project.submit(Project.java:236)
          	at hudson.model.Job.doConfigSubmit(Job.java:1206)
          	at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:788)
          	... 73 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":"","$class":""},"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 {"stapler-class":"","$class":""}
          	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(Unknown Source)
          	at java.lang.ClassLoader.loadClass(Unknown Source)
          	at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:591)
          	... 87 more
          

          Kai Walz added a comment - - edited I got this error if i try to add ExtendedEmailPublisher as PostJob. Error while serving http://... java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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) 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:240) 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(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 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":"","$class":""},"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:941) at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:903) at hudson.util.DescribableList.rebuildHetero(DescribableList.java:208) at hudson.model.Project.submit(Project.java:236) at hudson.model.Job.doConfigSubmit(Job.java:1206) at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:788) ... 73 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":"","$class":""},"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 {"stapler-class":"","$class":""} 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(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:591) ... 87 more

          Alex Earl added a comment -

          Kai, what version of Jenkins and what version of email-ext? Also, did you upgrade either recently?

          Alex Earl added a comment - Kai, what version of Jenkins and what version of email-ext? Also, did you upgrade either recently?

          jim jaeger added a comment -

          The issue also occurs on Jenkins 1.612 + Plugin Version 2.40.1.
          Steps to recreate:
          1) Open a config of a project and add the email section to the post build options
          2) Click save
          --> Exception

          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:731)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
          at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:123)
          at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
          at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
          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.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
          at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
          at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
          at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
          at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
          at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
          at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
          at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627)
          at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
          at java.lang.Thread.run(Thread.java:801)
          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":"","$class":""}

          ,"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:941)
          at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:903)
          at hudson.util.DescribableList.rebuildHetero(DescribableList.java:208)
          at hudson.model.Project.submit(Project.java:236)
          at hudson.model.Job.doConfigSubmit(Job.java:1206)
          at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:788)
          at sun.reflect.GeneratedMethodAccessor1028.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56)
          at java.lang.reflect.Method.invoke(Method.java:620)
          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)
          ... 64 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":"","$class":""}

          ,"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

          {"stapler-class":"","$class":""}

          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.loadClassHelper(ClassLoader.java:772)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:749)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:726)
          at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:591)
          ... 87 more

          jim jaeger added a comment - The issue also occurs on Jenkins 1.612 + Plugin Version 2.40.1. Steps to recreate: 1) Open a config of a project and add the email section to the post build options 2) Click save --> Exception 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:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:123) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:114) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 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.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:614) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:801) 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":"","$class":""} ,"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:941) at hudson.model.Descriptor.newInstancesFromHeteroList(Descriptor.java:903) at hudson.util.DescribableList.rebuildHetero(DescribableList.java:208) at hudson.model.Project.submit(Project.java:236) at hudson.model.Job.doConfigSubmit(Job.java:1206) at hudson.model.AbstractProject.doConfigSubmit(AbstractProject.java:788) at sun.reflect.GeneratedMethodAccessor1028.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) at java.lang.reflect.Method.invoke(Method.java:620) 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) ... 64 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":"","$class":""} ,"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 {"stapler-class":"","$class":""} 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.loadClassHelper(ClassLoader.java:772) at java.lang.ClassLoader.loadClass(ClassLoader.java:749) at java.lang.ClassLoader.loadClass(ClassLoader.java:726) at org.kohsuke.stapler.RequestImpl$TypePair.convertJSON(RequestImpl.java:591) ... 87 more

          Alex Earl added a comment -

          I don't get this exception. I ran Jenkins 1.612 + Email-ext 2.40.1 and I don't get this exception when I add email-ext to the post-build steps. So, something else is at play.

          Alex Earl added a comment - I don't get this exception. I ran Jenkins 1.612 + Email-ext 2.40.1 and I don't get this exception when I add email-ext to the post-build steps. So, something else is at play.

          jim jaeger added a comment -

          Additonal system information: SUSE Linux Enterprise Server 11 x86_64 GNU/Linux with Jenkins on Tomcat 7.
          Which more system information do you need?

          jim jaeger added a comment - Additonal system information: SUSE Linux Enterprise Server 11 x86_64 GNU/Linux with Jenkins on Tomcat 7. Which more system information do you need?

          Daniel Beck added a comment -

          Job type and installed plugins may help.

          Are you able to reproduce this issue on a newly set up instance e.g. on your desktop machine? java -jar jenkins.war and installing the plugin is a 5 minute job

          Daniel Beck added a comment - Job type and installed plugins may help. Are you able to reproduce this issue on a newly set up instance e.g. on your desktop machine? java -jar jenkins.war and installing the plugin is a 5 minute job

          jim jaeger added a comment -

          Job Type: Freestyle
          Installed Plugins:
          analysis-collector 1.43
          analysis-core 1.71
          ant 1.2
          antisamy-markup-formatter 1.3
          artifactdeployer 0.33
          artifactory 2.3.0
          build-name-setter 1.3
          build-pipeline-plugin 1.4.7
          buildresult-trigger 0.17
          checkstyle 3.42
          copyartifact 1.35
          credentials 1.22
          cvs 2.12
          dashboard-view 2.9.4
          dependencyanalyzer 0.7
          deploy 1.10
          discard-old-build 1.05
          email-ext 2.40.1
          email-ext-recipients-column 1.0
          external-monitor-job 1.4
          git 2.3.5
          git-client 1.17.0
          html-audio-notifier 0.4
          html5-notifier-plugin 1.5
          htmlpublisher 1.3
          http_request 1.8.8
          ibm-ucdeploy-publisher 1.2.0
          javadoc 1.3
          jquery 1.11.2-0
          jshint-checkstyle 3.36
          jslint-checkstyle 3.35
          junit 1.6
          ldap 1.11
          ldapemail 0.8
          m2release 0.14.0
          mailer 1.15
          mapdb-api 1.0.6.0
          matrix-auth 1.2
          matrix-project 1.4.1
          maven-info 0.2.0
          maven-invoker-plugin 1.2
          maven-metadata-plugin 1.2.0
          maven-plugin 2.9
          maven-repo-cleaner 1.2
          pam-auth 1.2
          parameterized-trigger 2.26
          postbuild-task 1.8
          progress-bar-column-plugin 1.0
          repository 1.2
          sametime 0.4
          scm-api 0.2
          scp 1.8
          script-security 1.14
          scripttrigger 0.31
          ssh 2.4
          ssh-credentials 1.11
          ssh-slaves 1.9
          subversion 2.5
          teamconcert 1.1.9.1
          token-macro 1.10
          translation 1.12
          versionnumber 1.5
          windows-slaves 1.0

          jim jaeger added a comment - Job Type: Freestyle Installed Plugins: analysis-collector 1.43 analysis-core 1.71 ant 1.2 antisamy-markup-formatter 1.3 artifactdeployer 0.33 artifactory 2.3.0 build-name-setter 1.3 build-pipeline-plugin 1.4.7 buildresult-trigger 0.17 checkstyle 3.42 copyartifact 1.35 credentials 1.22 cvs 2.12 dashboard-view 2.9.4 dependencyanalyzer 0.7 deploy 1.10 discard-old-build 1.05 email-ext 2.40.1 email-ext-recipients-column 1.0 external-monitor-job 1.4 git 2.3.5 git-client 1.17.0 html-audio-notifier 0.4 html5-notifier-plugin 1.5 htmlpublisher 1.3 http_request 1.8.8 ibm-ucdeploy-publisher 1.2.0 javadoc 1.3 jquery 1.11.2-0 jshint-checkstyle 3.36 jslint-checkstyle 3.35 junit 1.6 ldap 1.11 ldapemail 0.8 m2release 0.14.0 mailer 1.15 mapdb-api 1.0.6.0 matrix-auth 1.2 matrix-project 1.4.1 maven-info 0.2.0 maven-invoker-plugin 1.2 maven-metadata-plugin 1.2.0 maven-plugin 2.9 maven-repo-cleaner 1.2 pam-auth 1.2 parameterized-trigger 2.26 postbuild-task 1.8 progress-bar-column-plugin 1.0 repository 1.2 sametime 0.4 scm-api 0.2 scp 1.8 script-security 1.14 scripttrigger 0.31 ssh 2.4 ssh-credentials 1.11 ssh-slaves 1.9 subversion 2.5 teamconcert 1.1.9.1 token-macro 1.10 translation 1.12 versionnumber 1.5 windows-slaves 1.0

          Alex Earl added a comment -

          Can you post the config.xml for your job? Scrub any username/passwords first.

          Alex Earl added a comment - Can you post the config.xml for your job? Scrub any username/passwords first.

          jim jaeger added a comment -

          config.xml attached.

          jim jaeger added a comment - config.xml attached.

          Alex Earl added a comment -

          I've been trying to reproduce this and I just can't. Did you restart Jenkins after upgrading email-ext?

          Alex Earl added a comment - I've been trying to reproduce this and I just can't. Did you restart Jenkins after upgrading email-ext?

          Jack Dunn added a comment -

          I'm having the same issue with Jenkins 1.612 and Email-ext 2.40.1. All I did was to add a post build step of editable email notification and just save it with the defaults.

          Jack Dunn added a comment - I'm having the same issue with Jenkins 1.612 and Email-ext 2.40.1. All I did was to add a post build step of editable email notification and just save it with the defaults.

          Alex Earl added a comment -

          Can you add the list of plugins you have installed? Also, is this a new install of Jenkins or did you upgrade, and if so, from what versions of Jenkins and email-ext?

          Alex Earl added a comment - Can you add the list of plugins you have installed? Also, is this a new install of Jenkins or did you upgrade, and if so, from what versions of Jenkins and email-ext?

          aristedes added a comment -

          I've got the same issue with Jenkins 1.612 and 2.40.1 of this plugin. The workaround is to:

          • go into advanced settings within the email configuration
          • remove the blank trigger that appears there

          aristedes added a comment - I've got the same issue with Jenkins 1.612 and 2.40.1 of this plugin. The workaround is to: go into advanced settings within the email configuration remove the blank trigger that appears there

          Alex Earl added a comment -

          Before you do that, can you save off the HTML of the page? Or take a screenshot or something?

          Alex Earl added a comment - Before you do that, can you save off the HTML of the page? Or take a screenshot or something?

          aristedes added a comment -
          <tr style="opacity: 1;"><td class="setting-leftspace">&nbsp;</td><td class="setting-name">Triggers</td><td class="setting-main"><div class="hetero-list-container with-drag-drop  "><div class="repeated-chunk" name="project_triggers" id="yui-gen138"><table style="width:100%"><tbody><tr><td colspan="3"><div class="dd-handle" id="yui-gen139"><b></b></div></td><td class="setting-no-help"></td></tr><tr style="display:none"><td><input type="hidden" name="stapler-class"><input type="hidden" name="$class"></td></tr><tr><td colspan="4"><div align="right"><span class="yui-button yui-push-button repeatable-delete danger" id="yui-gen144"><span class="first-child"><button type="button" tabindex="0" id="yui-gen144-button">Remove Trigger</button></span></span></div></td></tr></tbody></table></div><div class="repeatable-insertion-point"></div><div><span class="yui-button yui-menu-button" id="yui-gen140"><span class="first-child"><button type="button" tabindex="0" id="yui-gen140-button" class="hetero-list-add" suffix="project_triggers">Add Trigger</button></span></span></div></div></td><td class="setting-help"><a helpurl="/plugin/email-ext/help/projectConfig/addATrigger.html" href="#" class="help-button" tabindex="9999"><img src="/static/32547464/images/16x16/help.png" class="icon-help icon-sm" alt="Help for feature: Triggers" style="width: 16px; height: 16px; "></a></td></tr>
          

          That's the block of html with the empty trigger which is created by default when you add a new "Editable Email Notification". The problem seems to happen for me on Firefox 38 (haven't tested others) and it doesn't matter if you add the action to the release phase or the post-build phase.

          If you try to save without expanding the "advanced" section and removing the blank trigger, then you get an error.

          aristedes added a comment - <tr style= "opacity: 1;" > <td class= "setting-leftspace" > &nbsp; </td> <td class= "setting-name" > Triggers </td> <td class= "setting-main" > <div class= "hetero-list-container with-drag-drop " > <div class= "repeated-chunk" name= "project_triggers" id= "yui-gen138" > <table style= "width:100%" > <tbody> <tr> <td colspan= "3" > <div class= "dd-handle" id= "yui-gen139" > <b> </b> </div> </td> <td class= "setting-no-help" > </td> </tr> <tr style= "display:none" > <td> <input type= "hidden" name= "stapler-class" > <input type= "hidden" name= "$class" > </td> </tr> <tr> <td colspan= "4" > <div align= "right" > <span class= "yui-button yui-push-button repeatable-delete danger" id= "yui-gen144" > <span class= "first-child" > <button type= "button" tabindex= "0" id= "yui-gen144-button" > Remove Trigger </button> </span> </span> </div> </td> </tr> </tbody> </table> </div> <div class= "repeatable-insertion-point" > </div> <div> <span class= "yui-button yui-menu-button" id= "yui-gen140" > <span class= "first-child" > <button type= "button" tabindex= "0" id= "yui-gen140-button" class= "hetero-list-add" suffix= "project_triggers" > Add Trigger </button> </span> </span> </div> </div> </td> <td class= "setting-help" > <a helpurl= "/plugin/email-ext/help/projectConfig/addATrigger.html" href= "#" class= "help-button" tabindex= "9999" > <img src= "/static/32547464/images/16x16/help.png" class= "icon-help icon-sm" alt= "Help for feature: Triggers" style= "width: 16px; height: 16px; " > </a> </td> </tr> That's the block of html with the empty trigger which is created by default when you add a new "Editable Email Notification". The problem seems to happen for me on Firefox 38 (haven't tested others) and it doesn't matter if you add the action to the release phase or the post-build phase. If you try to save without expanding the "advanced" section and removing the blank trigger, then you get an error.

          Alex Earl added a comment -

          What is the "Release" phase you are talking about?

          Alex Earl added a comment - What is the "Release" phase you are talking about?

          aristedes added a comment -

          The release plugin is a common way to structure release builds. I also downgraded your plugin to 2.40 and it didn't help.

          aristedes added a comment - The release plugin is a common way to structure release builds. I also downgraded your plugin to 2.40 and it didn't help.

          Alex Earl added a comment -

          Can you post the contents of the plugin configuration file? It should be in JENKIN_HOME and it should have the name of the plugin in the filename. Its an XML file.

          Alex Earl added a comment - Can you post the contents of the plugin configuration file? It should be in JENKIN_HOME and it should have the name of the plugin in the filename. Its an XML file.

          aristedes added a comment -

          Yes, it has

          <defaultTriggers>
          <hudson.plugins.emailext.plugins.trigger.FailureTrigger_-DescriptorImpl>
          <replacesList/>
          <defaultRecipientProviders>
          <hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/>
          </defaultRecipientProviders>
          </hudson.plugins.emailext.plugins.trigger.FailureTrigger_-DescriptorImpl>
          </defaultTriggers>

          But in the plugin configuration, none of the checkboxes are ticked in the list of "default triggers"

          aristedes added a comment - Yes, it has <defaultTriggers> <hudson.plugins.emailext.plugins.trigger.FailureTrigger_-DescriptorImpl> <replacesList/> <defaultRecipientProviders> <hudson.plugins.emailext.plugins.recipients.DevelopersRecipientProvider/> </defaultRecipientProviders> </hudson.plugins.emailext.plugins.trigger.FailureTrigger_-DescriptorImpl> </defaultTriggers> But in the plugin configuration, none of the checkboxes are ticked in the list of "default triggers"

          Alex Earl added a comment -

          If you restart Jenkins, do you see any errors in the Jenkins logs about xstream or anything? Any exceptions that mention email-ext?

          Alex Earl added a comment - If you restart Jenkins, do you see any errors in the Jenkins logs about xstream or anything? Any exceptions that mention email-ext?

          aristedes added a comment -

          Nothing I can see.

          aristedes added a comment - Nothing I can see.

          Alex Earl added a comment -

          What OS are you running on? What version of Jenkins?

          Alex Earl added a comment - What OS are you running on? What version of Jenkins?

          aristedes added a comment -
          1. uname -a
            FreeBSD delish.ish.com.au 10.1-RELEASE-p9 FreeBSD 10.1-RELEASE-p9 #0: Tue Apr 7 01:09:46 UTC 2015 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64

          Jenkins 1.612.

          I think a previous poster reported it in Linux though. I'm not the original poster... I just found this thread when I hit the same problem. For all I know this issue has been happening for a long time, since I don't often add new email messages to existing jobs. I have no clear idea when it might have started happening.

          aristedes added a comment - uname -a FreeBSD delish.ish.com.au 10.1-RELEASE-p9 FreeBSD 10.1-RELEASE-p9 #0: Tue Apr 7 01:09:46 UTC 2015 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 Jenkins 1.612. I think a previous poster reported it in Linux though. I'm not the original poster... I just found this thread when I hit the same problem. For all I know this issue has been happening for a long time, since I don't often add new email messages to existing jobs. I have no clear idea when it might have started happening.

          Alex Earl added a comment -

          Are you using Oracle Java, or another Java implementation? I'm trying to figure out why the defaultTriggers is not getting serialized correctly, or why a comparison is not happening correctly.

          Alex Earl added a comment - Are you using Oracle Java, or another Java implementation? I'm trying to figure out why the defaultTriggers is not getting serialized correctly, or why a comparison is not happening correctly.

          aristedes added a comment -
          1. java -version
            openjdk version "1.7.0_80"
            OpenJDK Runtime Environment (build 1.7.0_80-b15)
            OpenJDK 64-Bit Server VM (build 24.80-b11, mixed mode)

          aristedes added a comment - java -version openjdk version "1.7.0_80" OpenJDK Runtime Environment (build 1.7.0_80-b15) OpenJDK 64-Bit Server VM (build 24.80-b11, mixed mode)

          Alex Earl added a comment -

          Ok, I finally recreated this. I am looking in to how to fix it.

          Alex Earl added a comment - Ok, I finally recreated this. I am looking in to how to fix it.

          Jesse Glick added a comment -

          slide_o_mix if it is indeed a core regression, it is probably my fault, so if you know how to reproduce feel free to assign to me—I was expecting to have to dig into it anyway.

          Jesse Glick added a comment - slide_o_mix if it is indeed a core regression, it is probably my fault, so if you know how to reproduce feel free to assign to me—I was expecting to have to dig into it anyway.

          Alex Earl added a comment -

          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?

          Alex Earl added a comment - 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?

          Jesse Glick added a comment -

          Ah, apparently unrelated to JENKINS-26781.

          Jesse Glick added a comment - Ah, apparently unrelated to JENKINS-26781 .

          Code changed in jenkins
          User: Alex Earl
          Path:
          src/main/java/hudson/plugins/emailext/EmailRecipientUtils.java
          src/main/java/hudson/plugins/emailext/ExtendedEmailPublisherDescriptor.java
          src/main/resources/hudson/plugins/emailext/ExtendedEmailPublisher/config.groovy
          src/main/resources/hudson/plugins/emailext/ExtendedEmailPublisher/global.groovy
          http://jenkins-ci.org/commit/email-ext-plugin/faac7b4b7da32c1c45748629631a76989628a3cb
          Log:
          Fix JENKINS-28212

          Serialize the descriptor id's instead of the descriptors themselves.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Alex Earl Path: src/main/java/hudson/plugins/emailext/EmailRecipientUtils.java src/main/java/hudson/plugins/emailext/ExtendedEmailPublisherDescriptor.java src/main/resources/hudson/plugins/emailext/ExtendedEmailPublisher/config.groovy src/main/resources/hudson/plugins/emailext/ExtendedEmailPublisher/global.groovy http://jenkins-ci.org/commit/email-ext-plugin/faac7b4b7da32c1c45748629631a76989628a3cb Log: Fix JENKINS-28212 Serialize the descriptor id's instead of the descriptors themselves.

          Alex Earl added a comment -

          Should be fixed in the next release, which I will do later today.

          Alex Earl added a comment - Should be fixed in the next release, which I will do later today.

          aristedes added a comment -

          Thanks for your excellent and quick response on this.

          aristedes added a comment - Thanks for your excellent and quick response on this.

            slide_o_mix Alex Earl
            vignesh_ravi Vigneshwaran Ravimurugan
            Votes:
            2 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: