This happens while building paging backlinks for GetFeature responses:
java.lang.Thread.State: BLOCKED (on object monitor)
at java.util.zip.ZipFile.getEntry(java.base@anonymised.com/ZipFile.java:347)
- waiting to lock <0x00000000c45e3038> (a java.util.jar.JarFile)
at java.util.zip.ZipFile$1.getEntry(java.base@anonymised.com/ZipFile.java:1143)
at java.util.jar.JarFile.getEntry0(java.base@anonymised.com/JarFile.java:586)
at java.util.jar.JarFile.getEntry(java.base@anonymised.com/JarFile.java:516)
at java.util.jar.JarFile.getJarEntry(java.base@anonymised.com/JarFile.java:478)
at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.getArchiveEntry(AbstractSingleArchiveResourceSet.java:98)
at org.apache.catalina.webresources.AbstractArchiveResourceSet.getResource(AbstractArchiveResourceSet.java:263)
at org.apache.catalina.webresources.StandardRoot.getResourceInternal(StandardRoot.java:281)
at org.apache.catalina.webresources.CachedResource.validateResource(CachedResource.java:128)
at org.apache.catalina.webresources.Cache.getResource(Cache.java:78)
at org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:216)
at org.apache.catalina.webresources.StandardRoot.getClassLoaderResource(StandardRoot.java:225)
at org.apache.catalina.loader.WebappClassLoaderBase.getResourceAsStream(WebappClassLoaderBase.java:1165)
at org.apache.xerces.parsers.SecuritySupport$6.run(Unknown Source)
at java.security.AccessController.doPrivileged(java.base@anonymised.com/Native Method)
at org.apache.xerces.parsers.SecuritySupport.getResourceAsStream(Unknown Source)
at org.apache.xerces.parsers.ObjectFactory.findJarServiceProvider(Unknown Source)
at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source)
at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source)
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.parsers.DOMParser.<init>(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.<init>(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderFactoryImpl.newDocumentBuilder(Unknown Source)
at org.geotools.xsd.Encoder.encode(Encoder.java:633)
at org.geotools.xsd.Encoder.encode(Encoder.java:551)
at org.geotools.xsd.Encoder.encodeAsString(Encoder.java:1163)
at org.geoserver.wfs.GetFeature.encodeQueryAsKvp(GetFeature.java:1236)
at org.geoserver.wfs.GetFeature.buildKvpFromRequest(GetFeature.java:1152)
Notice the scalability issue… wondering what is causing it.
I see a new FESConfiguration is created for each encode, but in turn that uses singleton XSD objects so that should not really be the cause… From the trace it seems it’s Xerces doing some initialization.
See also here: https://help.mulesoft.com/s/article/Blocked-thread-on-finding-org-apache-xerces-parsers-DOMParser-service-provider
To be noted, Xerces is not part of the normal WAR file, must have been added by an extension. Looking at the packaging instructions, looks like it’s the printing one.
|