[
https://issues.apache.org/jira/browse/FINERACT-1037?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Vorburger updated FINERACT-1037:
----------------------------------------
Description:
See FINERACT-932 for general background; I'm currently seeing this in logs of
https://www.fineract.dev:
{noformat}java.io.FileNotFoundException:
/home/tomcat/.fineract/DefaultDemoTenant/documents/CLIENTS_PERSON/null/sf5694ypszb/CLIENTS_PERSON2020-05-06
(1).xls (No such file or directory)
at java.io.FileInputStream.open0 (Native Method)
at java.io.FileInputStream.open (FileInputStream.java:219)
at java.io.FileInputStream.<init> (FileInputStream.java:157)
at com.sun.jersey.core.impl.provider.entity.FileProvider.writeTo
(FileProvider.java:101)
at com.sun.jersey.core.impl.provider.entity.FileProvider.writeTo
(FileProvider.java:64)
at com.sun.jersey.spi.container.ContainerResponse.write
(ContainerResponse.java:302)
at
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest
(WebApplicationImpl.java:1510)
at
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest
(WebApplicationImpl.java:1419)
at
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest
(WebApplicationImpl.java:1409)
at com.sun.jersey.spi.container.servlet.WebComponent.service
(WebComponent.java:409)
at com.sun.jersey.spi.container.servlet.ServletContainer.service
(ServletContainer.java:558)
at com.sun.jersey.spi.container.servlet.ServletContainer.service
(ServletContainer.java:733)
at javax.servlet.http.HttpServlet.service (HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter
(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke
(FilterSecurityInterceptor.java:115)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
(FilterSecurityInterceptor.java:90)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:320)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke
(FilterSecurityInterceptor.java:115)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
(FilterSecurityInterceptor.java:90)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter
(ExceptionTranslationFilter.java:118)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter
(AnonymousAuthenticationFilter.java:111)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter
(SecurityContextHolderAwareRequestFilter.java:158)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.apache.fineract.infrastructure.security.filter.InsecureTwoFactorAuthenticationFilter.doFilter
(InsecureTwoFactorAuthenticationFilter.java:78)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter
(SecurityContextPersistenceFilter.java:82)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter
(ChannelProcessingFilter.java:157)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal
(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter
(FilterChainProxy.java:186)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:320)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke
(FilterSecurityInterceptor.java:126)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
(FilterSecurityInterceptor.java:90)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter
(ExceptionTranslationFilter.java:118)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter
(AnonymousAuthenticationFilter.java:111)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter
(SecurityContextHolderAwareRequestFilter.java:158)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.apache.fineract.infrastructure.security.filter.InsecureTwoFactorAuthenticationFilter.doFilter
(InsecureTwoFactorAuthenticationFilter.java:78)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter
(HeaderWriterFilter.java:92)
at
org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal
(HeaderWriterFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal
(WebAsyncManagerIntegrationFilter.java:56)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal
(BasicAuthenticationFilter.java:204)
at
org.apache.fineract.infrastructure.security.filter.TenantAwareBasicAuthenticationFilter.doFilterInternal
(TenantAwareBasicAuthenticationFilter.java:145)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter
(SecurityContextPersistenceFilter.java:105)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter
(ChannelProcessingFilter.java:157)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal
(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter
(FilterChainProxy.java:178)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate
(DelegatingFilterProxy.java:358)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter
(DelegatingFilterProxy.java:271)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal
(WebMvcMetricsFilter.java:109)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal
(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.web.filter.ForwardedHeaderFilter.doFilterInternal
(ForwardedHeaderFilter.java:158)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service
(Http11Processor.java:373)
at org.apache.coyote.AbstractProcessorLight.process
(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process
(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
(NioEndpoint.java:1590)
at org.apache.tomcat.util.net.SocketProcessorBase.run
(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1128)
at java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run
(TaskThread.java:61)
at java.lang.Thread.run (Thread.java:834){noformat}
The stack trace doesn't make it super clear exactly where in Fineract this is
coming from...
If I had to guess, it would be that we have a (or several?) REST Resource
classes that accept a POST file upload ("multi-part" ?) and attempts to write
it into a directory which... perhaps does not exist? Something somewhere should
have created the missing parent directories?
was:
See FINERACT-932 for general background; I'm currently seeing this in logs of
https://www.fineract.dev:
{noformat}java.io.FileNotFoundException:
/home/tomcat/.fineract/DefaultDemoTenant/documents/CLIENTS_PERSON/null/sf5694ypszb/CLIENTS_PERSON2020-05-06
(1).xls (No such file or directory)
at java.io.FileInputStream.open0 (Native Method)
at java.io.FileInputStream.open (FileInputStream.java:219)
at java.io.FileInputStream.<init> (FileInputStream.java:157)
at com.sun.jersey.core.impl.provider.entity.FileProvider.writeTo
(FileProvider.java:101)
at com.sun.jersey.core.impl.provider.entity.FileProvider.writeTo
(FileProvider.java:64)
at com.sun.jersey.spi.container.ContainerResponse.write
(ContainerResponse.java:302)
at
com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest
(WebApplicationImpl.java:1510)
at
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest
(WebApplicationImpl.java:1419)
at
com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest
(WebApplicationImpl.java:1409)
at com.sun.jersey.spi.container.servlet.WebComponent.service
(WebComponent.java:409)
at com.sun.jersey.spi.container.servlet.ServletContainer.service
(ServletContainer.java:558)
at com.sun.jersey.spi.container.servlet.ServletContainer.service
(ServletContainer.java:733)
at javax.servlet.http.HttpServlet.service (HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter
(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke
(FilterSecurityInterceptor.java:115)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
(FilterSecurityInterceptor.java:90)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:320)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke
(FilterSecurityInterceptor.java:115)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
(FilterSecurityInterceptor.java:90)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter
(ExceptionTranslationFilter.java:118)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter
(AnonymousAuthenticationFilter.java:111)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter
(SecurityContextHolderAwareRequestFilter.java:158)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.apache.fineract.infrastructure.security.filter.InsecureTwoFactorAuthenticationFilter.doFilter
(InsecureTwoFactorAuthenticationFilter.java:78)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:113)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter
(SecurityContextPersistenceFilter.java:82)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter
(ChannelProcessingFilter.java:157)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal
(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter
(FilterChainProxy.java:186)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:320)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke
(FilterSecurityInterceptor.java:126)
at
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
(FilterSecurityInterceptor.java:90)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter
(ExceptionTranslationFilter.java:118)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter
(AnonymousAuthenticationFilter.java:111)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter
(SecurityContextHolderAwareRequestFilter.java:158)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.apache.fineract.infrastructure.security.filter.InsecureTwoFactorAuthenticationFilter.doFilter
(InsecureTwoFactorAuthenticationFilter.java:78)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter
(HeaderWriterFilter.java:92)
at
org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal
(HeaderWriterFilter.java:77)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal
(WebAsyncManagerIntegrationFilter.java:56)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal
(BasicAuthenticationFilter.java:204)
at
org.apache.fineract.infrastructure.security.filter.TenantAwareBasicAuthenticationFilter.doFilterInternal
(TenantAwareBasicAuthenticationFilter.java:145)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter
(SecurityContextPersistenceFilter.java:105)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at
org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter
(ChannelProcessingFilter.java:157)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
(FilterChainProxy.java:334)
at org.springframework.security.web.FilterChainProxy.doFilterInternal
(FilterChainProxy.java:215)
at org.springframework.security.web.FilterChainProxy.doFilter
(FilterChainProxy.java:178)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate
(DelegatingFilterProxy.java:358)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter
(DelegatingFilterProxy.java:271)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal
(WebMvcMetricsFilter.java:109)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal
(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at
org.springframework.web.filter.ForwardedHeaderFilter.doFilterInternal
(ForwardedHeaderFilter.java:158)
at org.springframework.web.filter.OncePerRequestFilter.doFilter
(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke
(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke
(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke
(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service
(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service
(Http11Processor.java:373)
at org.apache.coyote.AbstractProcessorLight.process
(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process
(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
(NioEndpoint.java:1590)
at org.apache.tomcat.util.net.SocketProcessorBase.run
(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1128)
at java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run
(TaskThread.java:61)
at java.lang.Thread.run (Thread.java:834){noformat}
The stack trace doesn't make it super clear exactly where in Fineract this is
coming from... presumably this is REST Resource that accepts a POST file upload
("multi-part" ?) and attempts to write it into a directory which... perhaps
does not exist? Something somewhere should have created the missing parent
directories?
> FileNotFoundException:
> /home/tomcat/.fineract/DefaultDemoTenant/documents/CLIENTS_PERSON/null/sf5694ypszb/something.xls
> -----------------------------------------------------------------------------------------------------------------------
>
> Key: FINERACT-1037
> URL: https://issues.apache.org/jira/browse/FINERACT-1037
> Project: Apache Fineract
> Issue Type: Bug
> Reporter: Michael Vorburger
> Priority: Blocker
>
> See FINERACT-932 for general background; I'm currently seeing this in logs of
> https://www.fineract.dev:
> {noformat}java.io.FileNotFoundException:
> /home/tomcat/.fineract/DefaultDemoTenant/documents/CLIENTS_PERSON/null/sf5694ypszb/CLIENTS_PERSON2020-05-06
> (1).xls (No such file or directory)
> at java.io.FileInputStream.open0 (Native Method)
> at java.io.FileInputStream.open (FileInputStream.java:219)
> at java.io.FileInputStream.<init> (FileInputStream.java:157)
> at com.sun.jersey.core.impl.provider.entity.FileProvider.writeTo
> (FileProvider.java:101)
> at com.sun.jersey.core.impl.provider.entity.FileProvider.writeTo
> (FileProvider.java:64)
> at com.sun.jersey.spi.container.ContainerResponse.write
> (ContainerResponse.java:302)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest
> (WebApplicationImpl.java:1510)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest
> (WebApplicationImpl.java:1419)
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest
> (WebApplicationImpl.java:1409)
> at com.sun.jersey.spi.container.servlet.WebComponent.service
> (WebComponent.java:409)
> at com.sun.jersey.spi.container.servlet.ServletContainer.service
> (ServletContainer.java:558)
> at com.sun.jersey.spi.container.servlet.ServletContainer.service
> (ServletContainer.java:733)
> at javax.servlet.http.HttpServlet.service (HttpServlet.java:741)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:231)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:166)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter
> (WsFilter.java:53)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:193)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:166)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke
> (FilterSecurityInterceptor.java:115)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
> (FilterSecurityInterceptor.java:90)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:193)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:166)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:320)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke
> (FilterSecurityInterceptor.java:115)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
> (FilterSecurityInterceptor.java:90)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter
> (ExceptionTranslationFilter.java:118)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter
> (AnonymousAuthenticationFilter.java:111)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter
> (SecurityContextHolderAwareRequestFilter.java:158)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.apache.fineract.infrastructure.security.filter.InsecureTwoFactorAuthenticationFilter.doFilter
> (InsecureTwoFactorAuthenticationFilter.java:78)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter
> (OncePerRequestFilter.java:113)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter
> (OncePerRequestFilter.java:113)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter
> (OncePerRequestFilter.java:113)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter
> (SecurityContextPersistenceFilter.java:82)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter
> (ChannelProcessingFilter.java:157)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at org.springframework.security.web.FilterChainProxy.doFilterInternal
> (FilterChainProxy.java:215)
> at org.springframework.security.web.FilterChainProxy.doFilter
> (FilterChainProxy.java:186)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:193)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:166)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:320)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke
> (FilterSecurityInterceptor.java:126)
> at
> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter
> (FilterSecurityInterceptor.java:90)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter
> (ExceptionTranslationFilter.java:118)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter
> (AnonymousAuthenticationFilter.java:111)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter
> (SecurityContextHolderAwareRequestFilter.java:158)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.apache.fineract.infrastructure.security.filter.InsecureTwoFactorAuthenticationFilter.doFilter
> (InsecureTwoFactorAuthenticationFilter.java:78)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter
> (HeaderWriterFilter.java:92)
> at
> org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal
> (HeaderWriterFilter.java:77)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter
> (OncePerRequestFilter.java:119)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal
> (WebAsyncManagerIntegrationFilter.java:56)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter
> (OncePerRequestFilter.java:119)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal
> (BasicAuthenticationFilter.java:204)
> at
> org.apache.fineract.infrastructure.security.filter.TenantAwareBasicAuthenticationFilter.doFilterInternal
> (TenantAwareBasicAuthenticationFilter.java:145)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter
> (OncePerRequestFilter.java:119)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter
> (SecurityContextPersistenceFilter.java:105)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at
> org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter
> (ChannelProcessingFilter.java:157)
> at
> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter
> (FilterChainProxy.java:334)
> at org.springframework.security.web.FilterChainProxy.doFilterInternal
> (FilterChainProxy.java:215)
> at org.springframework.security.web.FilterChainProxy.doFilter
> (FilterChainProxy.java:178)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate
> (DelegatingFilterProxy.java:358)
> at org.springframework.web.filter.DelegatingFilterProxy.doFilter
> (DelegatingFilterProxy.java:271)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:193)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:166)
> at
> org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal
> (WebMvcMetricsFilter.java:109)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter
> (OncePerRequestFilter.java:119)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:193)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:166)
> at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal
> (CharacterEncodingFilter.java:201)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter
> (OncePerRequestFilter.java:119)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:193)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:166)
> at
> org.springframework.web.filter.ForwardedHeaderFilter.doFilterInternal
> (ForwardedHeaderFilter.java:158)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter
> (OncePerRequestFilter.java:119)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter
> (ApplicationFilterChain.java:193)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter
> (ApplicationFilterChain.java:166)
> at org.apache.catalina.core.StandardWrapperValve.invoke
> (StandardWrapperValve.java:202)
> at org.apache.catalina.core.StandardContextValve.invoke
> (StandardContextValve.java:96)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke
> (AuthenticatorBase.java:541)
> at org.apache.catalina.core.StandardHostValve.invoke
> (StandardHostValve.java:139)
> at org.apache.catalina.valves.ErrorReportValve.invoke
> (ErrorReportValve.java:92)
> at org.apache.catalina.core.StandardEngineValve.invoke
> (StandardEngineValve.java:74)
> at org.apache.catalina.connector.CoyoteAdapter.service
> (CoyoteAdapter.java:343)
> at org.apache.coyote.http11.Http11Processor.service
> (Http11Processor.java:373)
> at org.apache.coyote.AbstractProcessorLight.process
> (AbstractProcessorLight.java:65)
> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process
> (AbstractProtocol.java:868)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun
> (NioEndpoint.java:1590)
> at org.apache.tomcat.util.net.SocketProcessorBase.run
> (SocketProcessorBase.java:49)
> at java.util.concurrent.ThreadPoolExecutor.runWorker
> (ThreadPoolExecutor.java:1128)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run
> (ThreadPoolExecutor.java:628)
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run
> (TaskThread.java:61)
> at java.lang.Thread.run (Thread.java:834){noformat}
> The stack trace doesn't make it super clear exactly where in Fineract this is
> coming from...
> If I had to guess, it would be that we have a (or several?) REST Resource
> classes that accept a POST file upload ("multi-part" ?) and attempts to write
> it into a directory which... perhaps does not exist? Something somewhere
> should have created the missing parent directories?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)