You may already realize this, but I believe this is what is happening: You have an action defined to use the stream result type. The stream result requires an InputStream to be available on the stack when it starts processing. This is usually provided by a getInputStream() method on the action. When, getInputSteam() returns null, Struts continues to look up the stack to try and find the InputStream to stream to the client. When it can't find it, it throws the exception you are seeing. I think you should look into what conditions could allow your getInputStream() method to return null (and probably log the heck out of those situations). (*Chris*)
On Wed Nov 12 2014 at 9:56:10 AM Burton Rhodes <burtonrho...@gmail.com> wrote: > I am having trouble tracking down an error we are experiencing on our > production server. This happens very rarely, but every once in a while we > will get flooded with 75+ error logs in about a 1 minute span with the > errors below. Having trouble identifying which action and/or class is > causing the issue. Any ideas? > > The two entries below are repeated over 70x in 2 minutes. > > > [2014-11-12 17:28:54,111] > > ERROR > > org.apache.struts2.dispatcher.StreamResult > > Can not find a java.io.InputStream with the name [inputStream] in the > invocation stack. Check the <param name="inputName"> tag specified for this > action. > > > [2014-11-12 17:28:52,576] > > ERROR > > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor > > Can not find a java.io.InputStream with the name [inputStream] in the > invocation stack. Check the <param name="inputName"> tag specified for this > action. > > java.lang.IllegalArgumentException: Can not find a java.io.InputStream > with > the name [inputStream] in the invocation stack. Check the <param > name="inputName"> tag specified for this action. > at > org.apache.struts2.dispatcher.StreamResult.doExecute( > StreamResult.java:237) > at > org.apache.struts2.dispatcher.StrutsResultSupport.execute( > StrutsResultSupport.java:186) > at > com.opensymphony.xwork2.DefaultActionInvocation.executeResult( > DefaultActionInvocation.java:371) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:275) > at > org.apache.struts2.interceptor.DeprecationInterceptor.intercept( > DeprecationInterceptor.java:41) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:246) > at > com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept( > ConversionErrorInterceptor.java:138) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:246) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept( > ParametersInterceptor.java:254) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:246) > at > com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept( > ParametersInterceptor.java:254) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:246) > at > org.apache.struts2.interceptor.MultiselectInterceptor.intercept( > MultiselectInterceptor.java:73) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:246) > at > org.apache.struts2.interceptor.CheckboxInterceptor.intercept( > CheckboxInterceptor.java:91) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:246) > at > com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept( > PrepareInterceptor.java:171) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:98) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:246) > at > org.apache.struts2.interceptor.ServletConfigInterceptor.intercept( > ServletConfigInterceptor.java:164) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:246) > at > com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept( > ExceptionMappingInterceptor.java:189) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:246) > at > com.afs.web.interceptor.SessionInterceptor.intercept( > SessionInterceptor.java:62) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:246) > at > org.apache.struts2.impl.StrutsActionProxy.execute( > StrutsActionProxy.java:54) > at > org.apache.struts2.dispatcher.Dispatcher.serviceAction( > Dispatcher.java:562) > at > org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction( > ExecuteOperations.java:77) > at > org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter. > doFilter(StrutsPrepareAndExecuteFilter.java:99) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:206) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:330) > at > org.springframework.security.web.access.intercept. > FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) > at > org.springframework.security.web.access.intercept. > FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.access.ExceptionTranslationFilter. > doFilter(ExceptionTranslationFilter.java:113) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.session.SessionManagementFilter.doFilter( > SessionManagementFilter.java:103) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication. > AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter. > java:113) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.rememberme. > RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter > .java:146) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.servletapi.SecurityContextHolderAwareRequ > estFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.savedrequest.RequestCacheAwareFilter. > doFilter(RequestCacheAwareFilter.java:45) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication. > AbstractAuthenticationProcessingFilter.doFilter( > AbstractAuthenticationProcessingFilter.java:183) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.authentication.logout. > LogoutFilter.doFilter(LogoutFilter.java:105) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.session.ConcurrentSessionFilter.doFilter( > ConcurrentSessionFilter.java:125) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.context.SecurityContextPersistenceFilt > er.doFilter(SecurityContextPersistenceFilter.java:87) > at > org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at > org.springframework.security.web.FilterChainProxy.doFilterInternal( > FilterChainProxy.java:192) > at > org.springframework.security.web.FilterChainProxy.doFilter( > FilterChainProxy.java:160) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate( > DelegatingFilterProxy.java:346) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter( > DelegatingFilterProxy.java:259) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:206) > at > org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter. > doFilterInternal(OpenEntityManagerInViewFilter.java:147) > at > org.springframework.web.filter.OncePerRequestFilter. > doFilter(OncePerRequestFilter.java:76) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( > ApplicationFilterChain.java:235) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:206) > at > org.apache.catalina.core.StandardWrapperValve.invoke( > StandardWrapperValve.java:233) > at > org.apache.catalina.core.StandardContextValve.invoke( > StandardContextValve.java:191) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke( > AuthenticatorBase.java:470) > at > org.apache.catalina.core.StandardHostValve.invoke( > StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke( > ErrorReportValve.java:102) > at > org.apache.catalina.core.StandardEngineValve.invoke( > StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service( > CoyoteAdapter.java:293) > at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190) > at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291) > at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776) > at > org.apache.jk.common.ChannelSocket.processConnection( > ChannelSocket.java:705) > at > org.apache.jk.common.ChannelSocket$SocketConnection.runIt( > ChannelSocket.java:898) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( > ThreadPool.java:690) > at java.lang.Thread.run(Thread.java:701) >