Subject: Multiple alert errors in dashboard after install
From: "Dpto. Sistemas" <[email-masked]>
To: [email-masked]
Date: Mon, 2 Feb 2026 15:51:32 +0100

Hi all,

Tried to post this question in troubleshoting forum area, but seems I 
have no privileges yet for do it. Here the question:

Installed openboxes for testing in a Rocky9 VM following the guide in 
https://docs.openboxes.com/en/latest/admin-guide/installation/. After 
finish, default login and accessing to dashboard, multiple alerts shows 
"Internal server errorCannot get property 'inputStream' on null object" 
messages. Same errors in inboud movement area and others.

Same errors happens in  Release v0.9.6-hotfix1 and in the nightly build 
suggested in the manual versions.

I'm not familiar with the software, but errors seems related with folder 
location:

2026-02-02 13:26:34,776 ERROR [http-nio-8080-exec-4] 
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred 
when processing request: [GET] /openboxes/api/localizations

Trying to import product excel, other error happen because 
"/uploads/<name_of_the_file.xls" could not be found, despite 
CATALINA_HOME points to "/opt/tomcat", after making dir "uploads" in the 
system root '/' filesystem, it worked. Perhaps all errors could be 
related with this.

Any ideas?, here the log, thank you for your help.

2026-02-02 13:26:34,358 INFO [http-nio-8080-exec-2] 
org.pih.warehouse.LoggingInterceptor: /openboxes/ [user:admin, 
location:Main Warehouse]
2026-02-02 13:26:34,587 INFO  [http-nio-8080-exec-10] 
org.pih.warehouse.LoggingInterceptor: /openboxes/api/getAppContext 
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,604 INFO  [http-nio-8080-exec-3] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/locations?locationChooser=true&applyUserFilter=true&locationTypeCode=DEPOT&activityCodes=MANAGE_INVENTORY 
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,606 INFO  [http-nio-8080-exec-7] 
org.pih.warehouse.LoggingInterceptor: /openboxes/api/getMenuConfig 
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,610 INFO  [http-nio-8080-exec-6] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/helpscout/configuration/ [user:admin, location:Main 
Warehouse]
2026-02-02 13:26:34,611 INFO  [http-nio-8080-exec-4] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/dashboard/fillRateDestinations [user:admin, location:Main 
Warehouse]
2026-02-02 13:26:34,613 INFO  [http-nio-8080-exec-5] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/dashboard/mainDashboard/subdashboardKeys [user:admin, 
location:Main Warehouse]
2026-02-02 13:26:34,706 INFO  [http-nio-8080-exec-1] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/localizations?languageCode=&prefix=react.default 
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,707 INFO  [http-nio-8080-exec-2] 
org.pih.warehouse.LoggingInterceptor: /openboxes/api/getMenuConfig 
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,706 INFO  [http-nio-8080-exec-9] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/localizations?languageCode=&prefix=react.productsConfiguration 
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,706 INFO  [http-nio-8080-exec-8] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/localizations?languageCode=&prefix=react.locationsConfiguration 
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,708 INFO  [http-nio-8080-exec-10] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/localizations?languageCode=&prefix=react.combinedShipments 
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,706 INFO  [http-nio-8080-exec-6] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/localizations?languageCode=&prefix=react.dashboard 
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,725 ERROR [http-nio-8080-exec-8] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
     at 
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190)
     at 
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
     at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:299)
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Unknown 
Source)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:111)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:100)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
     at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:643)
     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
     at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
     at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
     at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:939)
     at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1832)
     at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
     at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,725 ERROR [http-nio-8080-exec-10] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
     at 
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190)
     at 
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
     at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:299)
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Unknown 
Source)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:111)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:100)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
     at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:643)
     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
     at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
     at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
     at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:939)
     at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1832)
     at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
     at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,726 ERROR [http-nio-8080-exec-8] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,726 ERROR [http-nio-8080-exec-10] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,730 ERROR [http-nio-8080-exec-6] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
     at 
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190)
     at 
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
     at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:299)
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Unknown 
Source)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:111)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:100)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
     at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:643)
     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
     at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
     at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
     at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:939)
     at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1832)
     at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
     at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,731 ERROR [http-nio-8080-exec-6] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,731 ERROR [http-nio-8080-exec-10] 
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred 
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,736 ERROR [http-nio-8080-exec-8] 
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred 
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,738 INFO  [http-nio-8080-exec-8] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/errors/handleException?id=localizations [user:admin, 
location:Main Warehouse]
2026-02-02 13:26:34,739 ERROR [http-nio-8080-exec-9] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
     at 
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190)
     at 
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
     at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:299)
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Unknown 
Source)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:111)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:100)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
     at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:643)
     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
     at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
     at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
     at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:939)
     at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1832)
     at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
     at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,740 ERROR [http-nio-8080-exec-9] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,733 INFO  [http-nio-8080-exec-10] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/errors/handleException?id=localizations [user:admin, 
location:Main Warehouse]
2026-02-02 13:26:34,742 ERROR [http-nio-8080-exec-6] 
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred 
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,745 ERROR [http-nio-8080-exec-9] 
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred 
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,746 INFO  [http-nio-8080-exec-9] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/errors/handleException?id=localizations [user:admin, 
location:Main Warehouse]
2026-02-02 13:26:34,751 INFO  [http-nio-8080-exec-5] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/localizations?languageCode=&prefix=react.loadData 
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,753 INFO  [http-nio-8080-exec-6] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/errors/handleException?id=localizations [user:admin, 
location:Main Warehouse]
2026-02-02 13:26:34,753 INFO  [http-nio-8080-exec-4] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/localizations?languageCode=&prefix=react.notification 
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,754 ERROR [http-nio-8080-exec-1] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
     at 
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190)
     at 
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
     at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:299)
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Unknown 
Source)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:111)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:100)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
     at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:643)
     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
     at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
     at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
     at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:939)
     at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1832)
     at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
     at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,755 ERROR [http-nio-8080-exec-1] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,756 INFO  [http-nio-8080-exec-6] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/api/dashboard/mainDashboard/config [user:admin, location:Main 
Warehouse]
2026-02-02 13:26:34,765 ERROR [http-nio-8080-exec-1] 
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred 
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,767 INFO  [http-nio-8080-exec-1] 
org.pih.warehouse.LoggingInterceptor: 
/openboxes/errors/handleException?id=localizations [user:admin, 
location:Main Warehouse]
2026-02-02 13:26:34,771 ERROR [http-nio-8080-exec-4] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
     at 
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190)
     at 
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
     at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:299)
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Unknown 
Source)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:111)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:100)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
     at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:643)
     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
     at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
     at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
     at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:939)
     at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1832)
     at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
     at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,772 ERROR [http-nio-8080-exec-4] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,773 ERROR [http-nio-8080-exec-5] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
     at 
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190)
     at 
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
     at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:299)
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Unknown 
Source)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:197)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:111)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:96)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:100)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:142)
     at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:166)
     at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
     at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491)
     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
     at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:643)
     at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
     at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
     at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
     at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
     at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:939)
     at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1832)
     at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
     at 
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
     at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,773 ERROR [http-nio-8080-exec-5] StackTrace: Full 
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,776 ERROR [http-nio-8080-exec-4] 
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred 
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,777 ERROR [http-nio-8080-exec-5] 
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred 
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on 
null object
     at 
org.pih.warehouse.core.LocalizationService.getMessagesProperties(LocalizationService.groovy:73)
     at 
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiController.groovy:34)
     at 
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(DefaultGrailsControllerClass.java:223)
     at 
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
     at 
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
     at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
     at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
     at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
     at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
     at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
     at 
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:54)
     at 
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
     at 
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
     at 
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracingFilter.java:91)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:128)
     at 
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:66)
     at 
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:103)
     at 
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:121)
     at 
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.java:76)
     at java.lang.Thread.run(Thread.java:750)

--