[Spacewalk-list] ISE when attempting to view failed action.

Tomas Lestach tlestach at redhat.com
Wed Sep 10 08:31:53 UTC 2014


Hello, 

it looks like the completion date isn't set for certain actions. I do not see such entries on our server.
What does following command say?
  echo "select server_id,action_id,result_code,result_msg from rhnServerAction where status = 3 and completion_time is null;" | spacewalk-sql -i


Regards,
--
Tomas Lestach
Red Hat Satellite Engineering, Red Hat



----- Original Message -----
> From: "Ron Helzer" <helzerr at gmail.com>
> To: spacewalk-list at redhat.com
> Sent: Tuesday, September 9, 2014 8:01:46 PM
> Subject: [Spacewalk-list] ISE when attempting to view failed action.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Hello list,
> 
> I'm experiencing a consistent ISE when I click a link to view a
> failed action - like https://spacewalk.
> ********.com/rhn/schedule/FailedSystems.do?aid=85213
> 
> This is Spacewalk 2.2 on CentOS 5.10 i386 PostgreSQL; all Spacewalk
> packages are up to date.
> 
> Here's what's in the Tomcat log:
> 
> 2014-09-09 13:53:29,824 [ajp-127.0.0.1-8009-6] ERROR
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/rhn].[org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp]
> - Servlet.service() for servlet
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp threw
> exception
> java.lang.NullPointerException
> at java.util.Calendar.setTime(Calendar.java:1092)
> at java.text.SimpleDateFormat.format(SimpleDateFormat.java:876)
> at java.text.SimpleDateFormat.format(SimpleDateFormat.java:869)
> at java.text.DateFormat.format(DateFormat.java:333)
> at
> com.redhat.rhn.common.localization.LocalizationService.formatDate(LocalizationService.java:451)
> at
> com.redhat.rhn.common.localization.LocalizationService.formatDate(LocalizationService.java:393)
> at
> com.redhat.rhn.frontend.dto.ActionedSystem.getDisplayDate(ActionedSystem.java:49)
> 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:622)
> at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:314)
> at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
> at
> org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:264)
> at
> org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
> at
> org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:929)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspx_meth_rhn_005fcolumn_005f1(Unknown
> Source)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspx_meth_rhn_005flistdisplay_005f0(Unknown
> Source)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspx_meth_rhn_005flist_005f0(Unknown
> Source)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspService(Unknown
> Source)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
> at
> org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
> at
> org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
> at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
> at
> com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:102)
> at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
> at
> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:127)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:142)
> at
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:58)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:100)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:57)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at
> org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:444)
> at
> org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:472)
> at
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
> at java.lang.Thread.run(Thread.java:701)
> 2014-09-09 13:53:29,825 [ajp-127.0.0.1-8009-6] ERROR
> com.redhat.rhn.frontend.servlets.SessionFilter - Error during
> transaction. Rolling back
> javax.servlet.ServletException: javax.servlet.jsp.el.ELException: An
> error occurred while getting property "displayDate" from an instance
> of class com.redhat.rhn.frontend.dto.ActionedSystem
> at
> org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:842)
> at
> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspService(Unknown
> Source)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
> at
> org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
> at
> org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
> at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
> at
> com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:102)
> at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
> at
> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:127)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:142)
> at
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:58)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:100)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:57)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at
> org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:444)
> at
> org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:472)
> at
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
> at java.lang.Thread.run(Thread.java:701)
> Caused by: java.lang.NullPointerException
> at java.util.Calendar.setTime(Calendar.java:1092)
> at java.text.SimpleDateFormat.format(SimpleDateFormat.java:876)
> at java.text.SimpleDateFormat.format(SimpleDateFormat.java:869)
> at java.text.DateFormat.format(DateFormat.java:333)
> at
> com.redhat.rhn.common.localization.LocalizationService.formatDate(LocalizationService.java:451)
> at
> com.redhat.rhn.common.localization.LocalizationService.formatDate(LocalizationService.java:393)
> at
> com.redhat.rhn.frontend.dto.ActionedSystem.getDisplayDate(ActionedSystem.java:49)
> 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:622)
> at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:314)
> at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
> at
> org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:264)
> at
> org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
> at
> org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:929)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspx_meth_rhn_005fcolumn_005f1(Unknown
> Source)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspx_meth_rhn_005flistdisplay_005f0(Unknown
> Source)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspx_meth_rhn_005flist_005f0(Unknown
> Source)
> ... 48 more
> 2014-09-09 13:53:29,828 [ajp-127.0.0.1-8009-6] ERROR
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/rhn].[action]
> - Servlet.service() for servlet action threw exception
> java.lang.NullPointerException
> at java.util.Calendar.setTime(Calendar.java:1092)
> at java.text.SimpleDateFormat.format(SimpleDateFormat.java:876)
> at java.text.SimpleDateFormat.format(SimpleDateFormat.java:869)
> at java.text.DateFormat.format(DateFormat.java:333)
> at
> com.redhat.rhn.common.localization.LocalizationService.formatDate(LocalizationService.java:451)
> at
> com.redhat.rhn.common.localization.LocalizationService.formatDate(LocalizationService.java:393)
> at
> com.redhat.rhn.frontend.dto.ActionedSystem.getDisplayDate(ActionedSystem.java:49)
> 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:622)
> at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:314)
> at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
> at
> org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:264)
> at
> org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
> at
> org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:929)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspx_meth_rhn_005fcolumn_005f1(Unknown
> Source)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspx_meth_rhn_005flistdisplay_005f0(Unknown
> Source)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspx_meth_rhn_005flist_005f0(Unknown
> Source)
> at
> org.apache.jsp.WEB_002dINF.pages.schedule.failedsystems_jsp._jspService(Unknown
> Source)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
> at
> org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
> at
> org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:398)
> at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
> at
> com.redhat.rhn.frontend.struts.RhnRequestProcessor.process(RhnRequestProcessor.java:102)
> at
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
> at
> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.AuthFilter.doFilter(AuthFilter.java:127)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:142)
> at
> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:58)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.LocalizedEnvironmentFilter.doFilter(LocalizedEnvironmentFilter.java:67)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.EnvironmentFilter.doFilter(EnvironmentFilter.java:100)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.SessionFilter.doFilter(SessionFilter.java:57)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> com.redhat.rhn.frontend.servlets.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:97)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
> at
> org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:444)
> at
> org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:472)
> at
> org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1286)
> at java.lang.Thread.run(Thread.java:701)
> 
> Any ideas why this error is occurring?
> 
> Regards,
> 
> - Ron -
> 
> _______________________________________________
> Spacewalk-list mailing list
> Spacewalk-list at redhat.com
> https://www.redhat.com/mailman/listinfo/spacewalk-list




More information about the Spacewalk-list mailing list