Uploaded image for project: 'Apache Fineract'
  1. Apache Fineract
  2. FINERACT-1037

FileNotFoundException: /home/tomcat/.fineract/DefaultDemoTenant/documents/CLIENTS_PERSON/null/sf5694ypszb/something.xls

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Duplicate
    • None
    • None
    • None
    • None

    Description

      See FINERACT-932 for general background; I'm currently seeing this in logs of https://www.fineract.dev:

      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)

      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?

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              vorburger Michael Vorburger
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: