Delivered-To: discuss@openboxes.com
Received: by 2002:a05:7300:72d0:b0:2b7:c2bd:f9c5 with SMTP id g16csp1927540dyc;
        Mon, 2 Feb 2026 06:51:34 -0800 (PST)
X-Received: by 2002:a05:6000:1ac7:b0:431:656:c73a with SMTP id ffacd0b85a97d-435f3aaa5c5mr17406757f8f.31.1770043894033;
        Mon, 02 Feb 2026 06:51:34 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1770043894; cv=none;
        d=google.com; s=arc-20240605;
        b=N4/ui7F+eEuU03Z14s17J2D94Yv/HGDAtc4OQ6J5yRgp574fk4bE88HhtYKn5otg8d
         wwhzWstNkXbUAPrvsssd7VI5jOqJl9cMjLl+dQwKOzmcl0lcHe5utA+icd65zQB4mZet
         139YqHvZmjRBjC/J7IHHC0yctWtEdwgicR+JKolSZzoESfQpKeBIylrbmgwqMizhCWvN
         wUVamVtrx8zmTXIiVUhYO7EU//fRctWGzg6U0+rO5Rv1im105aJriGlKwbkpGL9+Y/6N
         tT4hVeIjG6w9WEy2n8j5i+cXlA3Sw6h02OHC0crmQ49/iOdj1wIBsBZNGq75HL8mPcH0
         pF9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605;
        h=ui-outboundreport:content-transfer-encoding:subject:from:to
         :content-language:user-agent:mime-version:date:message-id
         :dkim-signature;
        bh=kcGODdBgjDXEZa8gLTqJsfhOmknWw8x+nVcS9tE/qTA=;
        fh=urhlGgXIIBjaXjnZp1DOMZg27IIdRri5z/jxjwpecTU=;
        b=PTjhhNX5Q3aJlCvNW0fMitHPsAJ8mtlVKmdcjdT8+B1wkIl6Is398ZuwR4tKpUtS+i
         EuxncY+fPtVRGOKL7z/Jtmz3nplcwZrQJ198CYlOemkKyuTxNEdQ+xp7DiaMiK19iIw9
         3GZobdh9zvP+S0omqE1begSh/J9UsC/arO1/3N3VDcj6o7FLYypqAezkeJS0+/ouMW8n
         nBJ4ojba4R//CAM1NKOS3kZMse8ctL5jGKFndiijINv19RUqMVRJRp2lz01tyQtMJMMR
         SBt9n/xbcqUPAuK+cRaKbGS3D0kHdAzgxENxef1cRpuxCmLCxKmkI77Zst6g2IpNkJXv
         bF5g==;
        dara=google.com
ARC-Authentication-Results: i=1; mx.google.com;
       dkim=pass header.i=@innovatrans.net header.s=s1-ionos header.b=krobUpEF;
       spf=pass (google.com: domain of sistemas@innovatrans.net designates 212.227.17.13 as permitted sender) smtp.mailfrom=sistemas@innovatrans.net;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=innovatrans.net
Return-Path: <sistemas@innovatrans.net>
Received: from mout.kundenserver.de (mout.kundenserver.de. [212.227.17.13])
        by mx.google.com with ESMTPS id ffacd0b85a97d-435e1389c30si27061662f8f.185.2026.02.02.06.51.33
        for <discuss@openboxes.com>
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Mon, 02 Feb 2026 06:51:33 -0800 (PST)
Received-SPF: pass (google.com: domain of sistemas@innovatrans.net designates 212.227.17.13 as permitted sender) client-ip=212.227.17.13;
Authentication-Results: mx.google.com;
       dkim=pass header.i=@innovatrans.net header.s=s1-ionos header.b=krobUpEF;
       spf=pass (google.com: domain of sistemas@innovatrans.net designates 212.227.17.13 as permitted sender) smtp.mailfrom=sistemas@innovatrans.net;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=innovatrans.net
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=innovatrans.net;
	s=s1-ionos; t=1770043893; x=1770648693; i=sistemas@innovatrans.net;
	bh=kcGODdBgjDXEZa8gLTqJsfhOmknWw8x+nVcS9tE/qTA=;
	h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:To:From:Subject:
	 Content-Type:Content-Transfer-Encoding:cc:
	 content-transfer-encoding:content-type:date:from:message-id:
	 mime-version:reply-to:subject:to;
	b=krobUpEFLNzuVgpkEqNSaLVEjz5FrZ6Oa1yjndb5ZA8e2cXOcWAejUSFQBOVxCGD
	 M/ugVPCL2rJmD34UDR9KITxO9m7HND6Jba6epRiRLHqB6iJ2HkzcZlToIBqGtISJ/
	 RNhnEFeO6EUItkTpLvQI887+HJkpFuwa8U6fsAVPAhgC9v/cApN5h8VCg1Xz8KOlR
	 XlcQAHwcMgZjr5BYepl9NLA0L7ZZYVPcajTH1a9QMF1bKf8cKDH5qLMz+zsT2OI04
	 teFMkRecAkug/8DxSmhjprBVqV+udJRW8sznOY+Wkm2Ek+tNtMGRvVX/aMjgo6KAF
	 oNgwAeIrM+Hkprpsvw==
X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6
Received: from [192.168.3.11] ([46.27.2.146]) by mrelayeu.kundenserver.de
 (mreue109 [213.165.67.118]) with ESMTPSA (Nemesis) id
 1MWiYo-1wJveG42R6-00OXOc for <discuss@openboxes.com>; Mon, 02 Feb 2026
 15:51:33 +0100
Message-ID: <41a1cfd3-65ce-45fb-86d9-dcf8b48c1dd4@innovatrans.net>
Date: Mon, 2 Feb 2026 15:51:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: es-ES, en-US
To: discuss@openboxes.com
From: "Dpto. Sistemas" <sistemas@innovatrans.net>
Subject: Multiple alert errors in dashboard after install
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: quoted-printable
X-Provags-ID: V03:K1:tCsIwyyX1+yQ4uJw54vGGXHjp2DJMiVGASZ2wHpzRJTzzVI5tJk
 ZvMy5foGJmMXqMvD8OTqA9/1RrGah1l1+lX1o0OOtNoZP3yaJ0LMTxdU5xKfZr5LzJrUakv
 YE2HexmL2D76xAMkxzkFUrJ82sTeAeBBehasIVNAZEMwBhMNUIa9jZ8CHLUKI78slRK1Vs7
 x3si3xEzym9xpf1fuH/UQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:Sl9OGSFW28I=;07RRsLF6W4c4sJeHsJL4Z7jV83g
 2IBWUpcyOhhWf9zfvOTZ20spsZa/cZcEeTMt+hxamPjrjpc6J1re2MQrukuBb49vaImzpkRF6
 yBHW5s+zmFJv8ACzcu8/TUe/kBodbR80ry095Afu5dcATmNvDMKKQokhxo2yj5Nd5TwFlAL+i
 wxCE002NlqQfVs1laMj7cXnLuph4sBeKCbjVhkWF3Dob+9t3Sn6DxoLtirobAMtNc9JFz/LHj
 vxa+S3kNGeiuttqiOZQ0+QqcaXlL49RqlLm5ry/KtW1HfZnYsxbeznYgrscp0lHHuv//oSdAy
 uKl3JM90TX/0at8FVdF6e2Ob/sG6GOZz+3VnYMumB6EgyFVxHlUawqZqXlgiILfi7gisJvCB9
 WH1D3qQzFkOUezxZQdBpE5pR8I6O8t5rVUinT+4LhZjpB2LnkImsedqwq2gASpRhtl2jb1jhw
 Na4TSs+LxO13Mg5p4+zbvmmpDuwAsmXWM762HgpQsmMAfsd4ZTjXL3PhrUrRfeZgJKFbSvGPS
 oryZZXdGRsv0xaoSHFJU9kLWhi+avKSNheLOdiEHXoyHoDWYnj5LCoYA7TMsHYzJnid4jgTzR
 s2/UvII8SAXfKlGJcJU7hjhYL43brTRppztLdoEQ4ln72OBhx11cDyAmUX2xZFqPspVrjDddr
 2LjODhmVwHHDTBki7ZbipFTtarQKFVGlKnPXLFIRAT/at/49BZEtZysJiz5LB+Kw9uhbzFToV
 OExdK6JQIZbZUpceICAdwNgNoHN5YWjMXi6tTTKNGYkRuiVICeuo1EYNZdkH4w+kwFX7VHtPM
 VYG3+SaWJDB4aO5j02RrGa0spWUQB6R4mHXvxjDpEUADZgrZQT4guNzRTXzLCXORARUNS/SdC
 GxLZZAR+9ZTn+OSH7tdNgjgWpEDU64yynGwJVB0S9sABd4bNHz97CiF+jrb2H0KRyNBcIRVcn
 VVaaR7usZGUBExu56ZMj5ZusKy1ryuTJyYlv7f8fX8WmyAxbT2AOdjtsL/RxmwcHHTWFDzfXc
 gQR9wwLXvML3laReF1+qwvl6l7pW7rOJKdJsj2hTia3/sfWuDS236nXX/ND2ktPjLu3exOL+U
 YMg3lvSXJySAk3FUgG2hMFr/8M4NGQHbMtl3KLY8s+HJrGYrHT9dfF3GgPk8asAgTCjMjbwYh
 PrUo67Aj7Ctnz4vg89zayuuPznBZR+UztuZHZ486XJG6rO22fXlepbsXfLIcA29ngW2P+8Am3
 YRICaAKmXAX07niKz1Nf4Zh6u61GlZrk+ypW7fhukc+daNVIjpyj52xQGmxJ/Odd7K9x17Piu
 q7jqxyRL2RIqNaJrTHK7WgLyZlYoC8NeNkCS1rXuBbct3V1ONuC8EiWt/rsZfsNtdqTuxkqN6
 qn0YAYGW3yoMPXuzCyBw/Qo4uRtckkhztafp/4yc7lnaJLs653vO1UCtpFo4wRYKGAbk0v+SS
 UZHzfV6/3tQkOv9UFXRnNendp6eEfcf27MHldazSbcAyW5nMMmP8k41pIuxVjv98s6a/XQwuT
 n3059uhwfrIQJwJgqR0updzryWW+YNjedKOyihxY+gEsLN4svLT/YxyZJk3d++kU8jy663lxg
 42BfFKSYL0oORqq55mBzBHwK2SgBxr/1ZSztk8SJaOJQQh5tbIM0d6W5t2pZqzeG9NX0WaXYb
 +rzC6gQiSYjWhwClhAV3b54KKr/ZlOO+YiQfhs9Iea9AtTzF+967KmvmUZTILMHMs=

Hi all,

Tried to post this question in troubleshoting forum area, but seems I=20
have no privileges yet for do it. Here the question:

Installed openboxes for testing in a Rocky9 VM following the guide in=20
https://docs.openboxes.com/en/latest/admin-guide/installation/. After=20
finish, default login and accessing to dashboard, multiple alerts shows=20
"Internal server errorCannot get property 'inputStream' on null object"=20
messages. Same errors in inboud movement area and others.

Same errors happens in=C2=A0 Release v0.9.6-hotfix1 and in the nightly bui=
ld=20
suggested in the manual versions.

I'm not familiar with the software, but errors seems related with folder=
=20
location:

2026-02-02 13:26:34,776 ERROR [http-nio-8080-exec-4]=20
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred=20
when processing request: [GET] /openboxes/api/localizations

Trying to import product excel, other error happen because=20
"/uploads/<name_of_the_file.xls" could not be found, despite=20
CATALINA_HOME points to "/opt/tomcat", after making dir "uploads" in the=
=20
system root '/' filesystem, it worked. Perhaps all errors could be=20
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]=20
org.pih.warehouse.LoggingInterceptor: /openboxes/ [user:admin,=20
location:Main Warehouse]
2026-02-02 13:26:34,587 INFO=C2=A0 [http-nio-8080-exec-10]=20
org.pih.warehouse.LoggingInterceptor: /openboxes/api/getAppContext=20
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,604 INFO=C2=A0 [http-nio-8080-exec-3]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/locations?locationChooser=3Dtrue&applyUserFilter=3Dtrue&loc=
ationTypeCode=3DDEPOT&activityCodes=3DMANAGE_INVENTORY=20
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,606 INFO=C2=A0 [http-nio-8080-exec-7]=20
org.pih.warehouse.LoggingInterceptor: /openboxes/api/getMenuConfig=20
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,610 INFO=C2=A0 [http-nio-8080-exec-6]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/helpscout/configuration/ [user:admin, location:Main=20
Warehouse]
2026-02-02 13:26:34,611 INFO=C2=A0 [http-nio-8080-exec-4]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/dashboard/fillRateDestinations [user:admin, location:Main=
=20
Warehouse]
2026-02-02 13:26:34,613 INFO=C2=A0 [http-nio-8080-exec-5]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/dashboard/mainDashboard/subdashboardKeys [user:admin,=20
location:Main Warehouse]
2026-02-02 13:26:34,706 INFO=C2=A0 [http-nio-8080-exec-1]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/localizations?languageCode=3D&prefix=3Dreact.default=20
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,707 INFO=C2=A0 [http-nio-8080-exec-2]=20
org.pih.warehouse.LoggingInterceptor: /openboxes/api/getMenuConfig=20
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,706 INFO=C2=A0 [http-nio-8080-exec-9]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/localizations?languageCode=3D&prefix=3Dreact.productsConfig=
uration=20
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,706 INFO=C2=A0 [http-nio-8080-exec-8]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/localizations?languageCode=3D&prefix=3Dreact.locationsConfi=
guration=20
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,708 INFO=C2=A0 [http-nio-8080-exec-10]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/localizations?languageCode=3D&prefix=3Dreact.combinedShipme=
nts=20
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,706 INFO=C2=A0 [http-nio-8080-exec-6]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/localizations?languageCode=3D&prefix=3Dreact.dashboard=20
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,725 ERROR [http-nio-8080-exec-8] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:1=
90)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite=
.java:46)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(Abst=
ractCallSite.java:299)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Un=
known=20
Source)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
529)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
623)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:197)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInter=
nal(WebRequestTraceFilter.java:111)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Ch=
aracterEncodingFilter.java:197)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java=
:96)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInter=
nal(MetricsFilter.java:100)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.=
java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.=
java:88)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBa=
se.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1=
27)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:8=
3)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLog=
Valve.java:643)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja=
va:72)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344=
)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.ja=
va:63)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProto=
col.java:939)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.j=
ava:1832)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.jav=
a:52)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExec=
utor.java:973)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExe=
cutor.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.=
java:63)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,725 ERROR [http-nio-8080-exec-10] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:1=
90)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite=
.java:46)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(Abst=
ractCallSite.java:299)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Un=
known=20
Source)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
529)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
623)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:197)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInter=
nal(WebRequestTraceFilter.java:111)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Ch=
aracterEncodingFilter.java:197)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java=
:96)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInter=
nal(MetricsFilter.java:100)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.=
java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.=
java:88)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBa=
se.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1=
27)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:8=
3)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLog=
Valve.java:643)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja=
va:72)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344=
)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.ja=
va:63)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProto=
col.java:939)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.j=
ava:1832)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.jav=
a:52)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExec=
utor.java:973)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExe=
cutor.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.=
java:63)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,726 ERROR [http-nio-8080-exec-8] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,726 ERROR [http-nio-8080-exec-10] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,730 ERROR [http-nio-8080-exec-6] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:1=
90)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite=
.java:46)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(Abst=
ractCallSite.java:299)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Un=
known=20
Source)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
529)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
623)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:197)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInter=
nal(WebRequestTraceFilter.java:111)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Ch=
aracterEncodingFilter.java:197)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java=
:96)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInter=
nal(MetricsFilter.java:100)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.=
java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.=
java:88)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBa=
se.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1=
27)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:8=
3)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLog=
Valve.java:643)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja=
va:72)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344=
)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.ja=
va:63)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProto=
col.java:939)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.j=
ava:1832)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.jav=
a:52)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExec=
utor.java:973)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExe=
cutor.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.=
java:63)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,731 ERROR [http-nio-8080-exec-6] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,731 ERROR [http-nio-8080-exec-10]=20
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred=20
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,736 ERROR [http-nio-8080-exec-8]=20
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred=20
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,738 INFO=C2=A0 [http-nio-8080-exec-8]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/errors/handleException?id=3Dlocalizations [user:admin,=20
location:Main Warehouse]
2026-02-02 13:26:34,739 ERROR [http-nio-8080-exec-9] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:1=
90)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite=
.java:46)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(Abst=
ractCallSite.java:299)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Un=
known=20
Source)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
529)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
623)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:197)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInter=
nal(WebRequestTraceFilter.java:111)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Ch=
aracterEncodingFilter.java:197)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java=
:96)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInter=
nal(MetricsFilter.java:100)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.=
java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.=
java:88)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBa=
se.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1=
27)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:8=
3)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLog=
Valve.java:643)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja=
va:72)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344=
)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.ja=
va:63)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProto=
col.java:939)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.j=
ava:1832)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.jav=
a:52)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExec=
utor.java:973)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExe=
cutor.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.=
java:63)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,740 ERROR [http-nio-8080-exec-9] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,733 INFO=C2=A0 [http-nio-8080-exec-10]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/errors/handleException?id=3Dlocalizations [user:admin,=20
location:Main Warehouse]
2026-02-02 13:26:34,742 ERROR [http-nio-8080-exec-6]=20
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred=20
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,745 ERROR [http-nio-8080-exec-9]=20
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred=20
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,746 INFO=C2=A0 [http-nio-8080-exec-9]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/errors/handleException?id=3Dlocalizations [user:admin,=20
location:Main Warehouse]
2026-02-02 13:26:34,751 INFO=C2=A0 [http-nio-8080-exec-5]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/localizations?languageCode=3D&prefix=3Dreact.loadData=20
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,753 INFO=C2=A0 [http-nio-8080-exec-6]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/errors/handleException?id=3Dlocalizations [user:admin,=20
location:Main Warehouse]
2026-02-02 13:26:34,753 INFO=C2=A0 [http-nio-8080-exec-4]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/localizations?languageCode=3D&prefix=3Dreact.notification=
=20
[user:admin, location:Main Warehouse]
2026-02-02 13:26:34,754 ERROR [http-nio-8080-exec-1] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:1=
90)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite=
.java:46)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(Abst=
ractCallSite.java:299)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Un=
known=20
Source)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
529)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
623)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:197)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInter=
nal(WebRequestTraceFilter.java:111)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Ch=
aracterEncodingFilter.java:197)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java=
:96)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInter=
nal(MetricsFilter.java:100)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.=
java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.=
java:88)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBa=
se.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1=
27)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:8=
3)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLog=
Valve.java:643)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja=
va:72)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344=
)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.ja=
va:63)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProto=
col.java:939)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.j=
ava:1832)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.jav=
a:52)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExec=
utor.java:973)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExe=
cutor.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.=
java:63)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,755 ERROR [http-nio-8080-exec-1] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,756 INFO=C2=A0 [http-nio-8080-exec-6]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/api/dashboard/mainDashboard/config [user:admin, location:Main=
=20
Warehouse]
2026-02-02 13:26:34,765 ERROR [http-nio-8080-exec-1]=20
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred=20
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,767 INFO=C2=A0 [http-nio-8080-exec-1]=20
org.pih.warehouse.LoggingInterceptor:=20
/openboxes/errors/handleException?id=3Dlocalizations [user:admin,=20
location:Main Warehouse]
2026-02-02 13:26:34,771 ERROR [http-nio-8080-exec-4] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:1=
90)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite=
.java:46)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(Abst=
ractCallSite.java:299)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Un=
known=20
Source)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
529)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
623)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:197)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInter=
nal(WebRequestTraceFilter.java:111)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Ch=
aracterEncodingFilter.java:197)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java=
:96)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInter=
nal(MetricsFilter.java:100)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.=
java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.=
java:88)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBa=
se.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1=
27)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:8=
3)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLog=
Valve.java:643)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja=
va:72)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344=
)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.ja=
va:63)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProto=
col.java:939)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.j=
ava:1832)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.jav=
a:52)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExec=
utor.java:973)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExe=
cutor.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.=
java:63)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,772 ERROR [http-nio-8080-exec-4] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,773 ERROR [http-nio-8080-exec-5] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:1=
90)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite=
.java:46)
 =C2=A0 =C2=A0 at=20
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(Abst=
ractCallSite.java:299)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService$getMessagesProperties$0.call(Un=
known=20
Source)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
529)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at javax.servlet.http.HttpServlet.service(HttpServlet.java:=
623)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:197)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInter=
nal(WebRequestTraceFilter.java:111)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(Ch=
aracterEncodingFilter.java:197)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java=
:96)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInter=
nal(MetricsFilter.java:100)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at=20
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReques=
tFilter.java:107)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicati=
onFilterChain.java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilter=
Chain.java:142)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.=
java:166)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.=
java:88)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBa=
se.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:1=
27)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:8=
3)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLog=
Valve.java:643)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.ja=
va:72)
 =C2=A0 =C2=A0 at=20
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344=
)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.ja=
va:63)
 =C2=A0 =C2=A0 at=20
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProto=
col.java:939)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.j=
ava:1832)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.jav=
a:52)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExec=
utor.java:973)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExe=
cutor.java:491)
 =C2=A0 =C2=A0 at=20
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.=
java:63)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,773 ERROR [http-nio-8080-exec-5] StackTrace: Full=20
Stack Trace:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,776 ERROR [http-nio-8080-exec-4]=20
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred=20
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)
2026-02-02 13:26:34,777 ERROR [http-nio-8080-exec-5]=20
o.g.web.errors.GrailsExceptionResolver: NullPointerException occurred=20
when processing request: [GET] /openboxes/api/localizations
Cannot get property 'inputStream' on null object. Stacktrace follows:
java.lang.NullPointerException: Cannot get property 'inputStream' on=20
null object
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.core.LocalizationService.getMessagesProperties(Localizat=
ionService.groovy:73)
 =C2=A0 =C2=A0 at=20
org.pih.warehouse.api.LocalizationApiController.list(LocalizationApiContro=
ller.groovy:34)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass$MethodHandleInvoker.invoke(De=
faultGrailsControllerClass.java:223)
 =C2=A0 =C2=A0 at=20
org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControlle=
rClass.java:188)
 =C2=A0 =C2=A0 at=20
org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMapping=
sInfoHandlerAdapter.groovy:90)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherSer=
vlet.java:967)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServ=
let.java:901)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkS=
ervlet.java:970)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.ja=
va:861)
 =C2=A0 =C2=A0 at=20
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.=
java:846)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilte=
rInternal(ApplicationContextHeaderFilter.java:54)
 =C2=A0 =C2=A0 at=20
org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsW=
ebRequestFilter.java:77)
 =C2=A0 =C2=A0 at=20
org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpM=
ethodFilter.java:67)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.tracing.SentryTracingFilter.doFilterInternal(SentryTracin=
gFilter.java:91)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:128)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageF=
ilter.java:66)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(Er=
rorPageFilter.java:103)
 =C2=A0 =C2=A0 at=20
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFil=
ter.java:121)
 =C2=A0 =C2=A0 at=20
io.sentry.spring.SentrySpringFilter.doFilterInternal(SentrySpringFilter.ja=
va:76)
 =C2=A0 =C2=A0 at java.lang.Thread.run(Thread.java:750)


=2D-=20

