Community
Participate
Working Groups
With Hudson 3.1.2 and IRC plugin 2.19-h-1, When configuring the list of IRC channels for Hudson to join upon startup, if the list contains 2 or more channels, and the channels have different settings for 'Notification Only', then upon clicking 'submit' you will get a 500 error with the following stacktrace: javax.servlet.ServletException: java.lang.ArrayIndexOutOfBoundsException: 1 org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:607) org.kohsuke.stapler.Stapler.invoke(Stapler.java:650) org.kohsuke.stapler.Stapler.invoke(Stapler.java:481) org.kohsuke.stapler.Stapler.service(Stapler.java:152) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:86) org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:162) org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:134) hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:89) org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:162) org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:134) hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:89) hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66) hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:89) hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:78) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:81) hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:45) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:73) hudson.security.HudsonFilter.doFilter(HudsonFilter.java:157) hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70) root cause java.lang.ArrayIndexOutOfBoundsException: 1 hudson.plugins.ircbot.IrcPublisher$DescriptorImpl.configure(IrcPublisher.java:259) hudson.model.Hudson.configureDescriptor(Hudson.java:2747) hudson.model.Hudson.doConfigSubmit(Hudson.java:2702) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:606) org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:274) org.kohsuke.stapler.Function.bindAndInvoke(Function.java:141) org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:80) org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:95) org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:45) org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:565) org.kohsuke.stapler.Stapler.invoke(Stapler.java:650) org.kohsuke.stapler.Stapler.invoke(Stapler.java:481) org.kohsuke.stapler.Stapler.service(Stapler.java:152) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:86) org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:162) org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:134) hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:89) org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:162) org.hudsonci.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:134) hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:89) hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66) hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:89) hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:78) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:81) hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:45) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84) hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:73) hudson.security.HudsonFilter.doFilter(HudsonFilter.java:157) hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:70)