Uploaded image for project: 'XWiki Commons'
  1. XWiki Commons
  2. XCOMMONS-3615

XWiki fails to start on Tomcat on Windows because critical resource files cannot be loaded

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Blocker
    • 18.3.0-rc-1, 18.2.1, 17.10.7
    • 17.10.6
    • Environment
    • Windows 11 Pro, Edge 146, using an instance of XWiki 17.10.6 on PostgreSQL 17, Tomcat 11.0.20
    • Unit
    • Unknown
    • N/A
    • N/A

    Description

      Steps to reproduce

      1. Configure an instance of XWiki 17.10.6 with Tomcat 11.0.20 on Windows 11
      2. Start the instance

      Expected results

      The issue starts without any errors.

      Actual results

      The instance fails to start. There are many errors in XWiki console like the following:

      2026-04-06 13:08:16,974 [http-nio-1115-exec-2 - http://localhost:1115/xwiki/bin/view/Main/] WARN  o.x.e.i.ServletEnvironment     - The resource path [/templates/macros.vm] is trying to access a resource outside of the resource root. It's expected to be located inside one of the allowed real locations [D:\Win 10 Backup\LUCRU_D\TOMCAT_HOME 11.0.20 - 17.10.6 PostgreSQL\webapps\xwiki\\, /etc/xwiki/], but its real location is [D:\Win 10 Backup\LUCRU_D\TOMCAT_HOME 11.0.20 - 17.10.6 PostgreSQL\webapps\xwiki\templates\macros.vm]. If this should actually be an allowed location, you can add it to the property 'environment.servlet.allowedRealPaths' in the configuration file 'xwiki.properties'.
      2026-04-06 13:08:16,990 [http-nio-1115-exec-2 - http://localhost:1115/xwiki/bin/view/Main/] WARN  o.x.e.i.ServletEnvironment     - The resource path [/skins/flamingo/skin.properties] is trying to access a resource outside of the resource root. It's expected to be located inside one of the allowed real locations [D:\Win 10 Backup\LUCRU_D\TOMCAT_HOME 11.0.20 - 17.10.6 PostgreSQL\webapps\xwiki\\, /etc/xwiki/], but its real location is [D:\Win 10 Backup\LUCRU_D\TOMCAT_HOME 11.0.20 - 17.10.6 PostgreSQL\webapps\xwiki\skins\flamingo\skin.properties]. If this should actually be an allowed location, you can add it to the property 'environment.servlet.allowedRealPaths' in the configuration file 'xwiki.properties'.
      2026-04-06 13:08:16,994 [XWiki initialization] ERROR c.x.x.XWiki                    - Failed to initialize mandatory document [XWiki.AverageRatingsClass]
      com.xpn.xwiki.XWikiException: Error number 3202 in 3: Exception while reading document [xwiki:XWiki.AverageRatingsClass()]
              at com.xpn.xwiki.store.XWikiHibernateStore.loadXWikiDoc(XWikiHibernateStore.java:1233)
              at com.xpn.xwiki.store.XWikiCacheStore.lambda$loadXWikiDoc$2(XWikiCacheStore.java:436)
              at org.xwiki.cache.internal.CacheLoader$LoaderEntry.lambda$new$0(CacheLoader.java:71)
              at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
              at org.xwiki.cache.internal.CacheLoader.runLoader(CacheLoader.java:179)
              at org.xwiki.cache.internal.CacheLoader.loadAndStoreInCache(CacheLoader.java:118)
              at com.xpn.xwiki.store.XWikiCacheStore.loadXWikiDoc(XWikiCacheStore.java:432)
              at com.xpn.xwiki.XWiki.getDocument(XWiki.java:2183)
              at com.xpn.xwiki.XWiki.getDocument(XWiki.java:2245)
              at com.xpn.xwiki.XWiki.initializeMandatoryDocument(XWiki.java:1443)
              at com.xpn.xwiki.XWiki.initializeMandatoryDocuments(XWiki.java:1410)
              at com.xpn.xwiki.XWiki.initXWiki(XWiki.java:1338)
              at com.xpn.xwiki.XWiki.initXWiki(XWiki.java:1275)
              at com.xpn.xwiki.XWiki.<init>(XWiki.java:1248)
              at com.xpn.xwiki.internal.XWikiInitializerJob.runInternal(XWikiInitializerJob.java:103)
              at org.xwiki.job.AbstractJob.runInContext(AbstractJob.java:246)
              at org.xwiki.job.AbstractJob.run(AbstractJob.java:223)
              at java.base/java.lang.Thread.run(Thread.java:1583)
      Caused by: java.lang.NullPointerException: Cannot invoke "java.net.URL.openStream()" because "url" is null
              at org.hibernate.boot.cfgxml.internal.ConfigLoader.loadConfigXmlUrl(ConfigLoader.java:92)
              at com.xpn.xwiki.internal.store.hibernate.HibernateStore.createSessionFactory(HibernateStore.java:265)
              at com.xpn.xwiki.internal.store.hibernate.HibernateStore.build(HibernateStore.java:368)
              at com.xpn.xwiki.internal.store.hibernate.HibernateStore.initHibernate(HibernateStore.java:295)
              at com.xpn.xwiki.store.XWikiHibernateBaseStore.checkHibernateSynchronized(XWikiHibernateBaseStore.java:504)
              at com.xpn.xwiki.store.XWikiHibernateBaseStore.checkHibernate(XWikiHibernateBaseStore.java:497)
              at com.xpn.xwiki.store.XWikiHibernateStore.loadXWikiDoc(XWikiHibernateStore.java:1079)
              ... 17 common frames omitted

      The issue fixed in XCOMMONS-3614 doesn't reproduce on Jetty anymore, but only on Tomcat it seems.

      Please find attached the full logs from Tomcat.
       

      Attachments

        1. Catalina log.txt
          576 kB
          Nikita Petrenko
        2. Tomcat_logs_17_10_6.txt
          572 kB
          Ilie Andriuta

        Issue Links

          Activity

            People

              mflorea Marius Dumitru Florea
              iandriuta Ilie Andriuta
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: