kartoza/docker-geoserver

Duplicate filter name [cross-origin]

krishnaglodha opened this issue · 2 comments

What is the bug or the crash?

I have a docker-compose file with

geoserver:
    image: kartoza/geoserver:2.22.0
    volumes:
      - geoserver-data:/opt/geoserver/data
    environment:
      - GEOSERVER_ADMIN_USER=admin
      - GEOSERVER_ADMIN_PASSWORD=myverylongDatabasePwd23
      - GEOSERVER_DATA_DIR=/opt/geoserver/data
      - HTTP_PROXY_NAME=dev.dronnav.com
      - HTTP_SCHEME=https
    restart: always
    ports:
      - 8081:8080
    healthcheck:
      test: curl --fail -s http://127.0.0.1:8080/geoserver/ || exit 1
      interval: 1m30s
      timeout: 10s
      retries: 5
      start_period: 100s
    depends_on:
      db:
        condition: service_healthy
    networks:
      - maindronnav

when I'm running docker-compose up --build I'm getting


	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
docker-geoserver-1      | 		at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
docker-geoserver-1      | 		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
docker-geoserver-1      | 		at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
docker-geoserver-1      | 		at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
docker-geoserver-1      | 		at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
docker-geoserver-1      | 		at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:265)
docker-geoserver-1      | 		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
docker-geoserver-1      | 		at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
docker-geoserver-1      | 		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
docker-geoserver-1      | 		at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
docker-geoserver-1      | 		at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
docker-geoserver-1      | 		at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
docker-geoserver-1      | 		at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
docker-geoserver-1      | 		at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
docker-geoserver-1      | 		at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
docker-geoserver-1      | 		at java.base/java.lang.reflect.Method.invoke(Method.java:566)
docker-geoserver-1      | 		at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
docker-geoserver-1      | 		at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
docker-geoserver-1      | 	Caused by: java.lang.IllegalArgumentException: Duplicate filter name [cross-origin]
docker-geoserver-1      | 		at org.apache.tomcat.util.descriptor.web.WebXml.addFilter(WebXml.java:288)
docker-geoserver-1      | 		... 64 more
docker-geoserver-1      | 04-Jul-2023 12:01:50.441 SEVERE [main] org.apache.tomcat.util.descriptor.web.WebXmlParser.parseWebXml Parse error in application web.xml file at [file:/usr/local/tomcat/webapps/geoserver/WEB-INF/web.xml]
docker-geoserver-1      | 	org.xml.sax.SAXParseException; systemId: file:/usr/local/tomcat/webapps/geoserver/WEB-INF/web.xml; lineNumber: 176; columnNumber: 14; Error at line [176] column [14]: [Duplicate filter name [cross-origin]]
docker-geoserver-1      | 		at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:1966)
docker-geoserver-1      | 		at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:1998)
docker-geoserver-1      | 		at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1049)
docker-geoserver-1      | 		at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
docker-geoserver-1      | 		at org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope(Unknown Source)
docker-geoserver-1      | 		at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
docker-geoserver-1      | 		at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
docker-geoserver-1      | 		at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
docker-geoserver-1      | 		at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
docker-geoserver-1      | 		at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
docker-geoserver-1      | 		at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

Steps to reproduce the issue

Create a docker-compose file with this service

Versions

2.22.0

Additional context

No response

I will take a look and fix

This error seems to happen in /usr/local/tomcat/webapps/geoserver/WEB-INF/web.xml which we do not touch at all as we set filters in tomcat rather than the application. So most likely a GeoServer bug