Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-23959

"Failed to handle event" error in the logs when adding or replacing a language in Administration

    XMLWordPrintable

Details

    • Bug
    • Resolution: Solved By
    • Blocker
    • 17.10.3, 18.1.0-rc-1
    • 17.10.2
    • Administration
    • Windows 11 Pro, Edge 144, using an instance of XWiki 17.10.2 on PostgreSQL 17, Tomcat 10, Docker, Java 21, reproducible also on Jetty/HSQL demo packaging
    • Unknown
    • N/A
    • N/A

    Description

      Steps to reproduce

      1. Login as Admin
      2. Go to Administer Wiki > Content > Localization
      3. Select another Default Language from the drop-down (e.g. FR)
      4. Click 'Save'
      5. Select again EN
      6. Click 'Save' as well
      7. Observe the XWiki logs

      Other steps on which the issue was reproduced:

      1. Go to Administer Wiki > Content > Localization
      2. On Multilingual, select 'Yes'
      3. Under Supported Languages, select another language (e.g. FR)
      4. Click 'Save'

      Expected results

      No errors are displayed in the logs.

      Actual results

      The following stacktrace is displayed in XWiki console:

      2026-01-29 13:27:04,447 [http-nio-8080-exec-3 - http://localhost:1113/bin/saveandcontinue/XWiki/XWikiPreferences] ERROR rIndexAvailableLocalesListener - Failed to handle event [org.xwiki.bridge.event.DocumentUpdatedEvent@bb170136] with source [XWiki.XWikiPreferences]
      org.apache.solr.client.solrj.SolrServerException: java.lang.RuntimeException: java.lang.IllegalArgumentException: Invalid locale format: stored,indexed,tokenized,omitNorms,indexOptions=DOCS<doclocale:>
              at org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:277)
              at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:234)
              at org.apache.solr.client.solrj.SolrClient.getQueryResponse(SolrClient.java:1010)
              at org.apache.solr.client.solrj.SolrClient.queryAndStreamResponse(SolrClient.java:993)
              at org.apache.solr.client.solrj.SolrClient.queryAndStreamResponse(SolrClient.java:1031)
              at org.xwiki.search.solr.internal.AbstractSolrInstance.queryAndStreamResponse(AbstractSolrInstance.java:134)
              at org.xwiki.search.solr.internal.SolrIndexAvailableLocalesListener.onEvent(SolrIndexAvailableLocalesListener.java:182)
              at org.xwiki.observation.internal.DefaultObservationManager.notify(DefaultObservationManager.java:338)
              at org.xwiki.observation.internal.DefaultObservationManager.notify(DefaultObservationManager.java:303)
              at com.xpn.xwiki.XWiki.afterSave(XWiki.java:2009)
              at com.xpn.xwiki.XWiki.saveDocument(XWiki.java:2097)
              at com.xpn.xwiki.web.SaveAction.save(SaveAction.java:309)
              at com.xpn.xwiki.web.SaveAndContinueAction.doWrappedAction(SaveAndContinueAction.java:114)
              at com.xpn.xwiki.web.SaveAndContinueAction.action(SaveAndContinueAction.java:156)
              at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:636)
              at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:339)
              at com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:111)
              at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
              at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:123)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
              at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:71)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
              at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
              at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:66)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
              at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:135)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
              at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:212)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
              at org.xwiki.container.servlet.filters.internal.SafeRedirectFilter.doFilter(SafeRedirectFilter.java:106)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
              at org.xwiki.container.servlet.filters.internal.ResolveRelativeRedirectFilter.doFilter(ResolveRelativeRedirectFilter.java:129)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
              at org.xwiki.container.servlet.filters.internal.SourceURLResolverFilter.doFilter(SourceURLResolverFilter.java:177)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
              at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:120)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
              at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:654)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
              at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
              at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
              at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
              at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1774)
              at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
              at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
              at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
              at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
              at java.base/java.lang.Thread.run(Unknown Source)
      Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: Invalid locale format: stored,indexed,tokenized,omitNorms,indexOptions=DOCS<doclocale:>
              at org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:267)
              ... 66 common frames omitted
      Caused by: java.lang.IllegalArgumentException: Invalid locale format: stored,indexed,tokenized,omitNorms,indexOptions=DOCS<doclocale:>
              at org.apache.commons.lang3.LocaleUtils.parseLocale(LocaleUtils.java:294)
              at org.apache.commons.lang3.LocaleUtils.toLocale(LocaleUtils.java:376)
              at org.xwiki.search.solr.internal.reference.SolrEntityReferenceResolver.getDocumentReferenceWithLocale(SolrEntityReferenceResolver.java:121)
              at org.xwiki.search.solr.internal.reference.SolrEntityReferenceResolver.getEntityReference(SolrEntityReferenceResolver.java:72)
              at org.xwiki.search.solr.internal.reference.SolrEntityReferenceResolver.resolve(SolrEntityReferenceResolver.java:63)
              at org.xwiki.search.solr.internal.reference.SolrEntityReferenceResolver.resolve(SolrEntityReferenceResolver.java:46)
              at org.xwiki.search.solr.internal.reference.SolrDocumentReferenceResolver.resolve(SolrDocumentReferenceResolver.java:48)
              at org.xwiki.search.solr.internal.reference.SolrDocumentReferenceResolver.resolve(SolrDocumentReferenceResolver.java:38)
              at org.xwiki.search.solr.internal.SolrIndexAvailableLocalesListener$1.streamSolrDocument(SolrIndexAvailableLocalesListener.java:173)
              at org.apache.solr.client.solrj.embedded.EmbeddedSolrServer$4.writeSolrDocument(EmbeddedSolrServer.java:333)
              at org.apache.solr.response.BinaryResponseWriter$Resolver.writeResultsBody(BinaryResponseWriter.java:143)
              at org.apache.solr.client.solrj.embedded.EmbeddedSolrServer$1.writeResults(EmbeddedSolrServer.java:245)
              at org.apache.solr.response.BinaryResponseWriter$Resolver.resolve(BinaryResponseWriter.java:100)
              at org.apache.solr.common.util.JavaBinCodec.writeVal(JavaBinCodec.java:267)
              at org.apache.solr.common.util.JavaBinCodec.writeNamedList(JavaBinCodec.java:252)
              at org.apache.solr.common.util.JavaBinCodec.writeKnownType(JavaBinCodec.java:360)
              at org.apache.solr.common.util.JavaBinCodec.writeVal(JavaBinCodec.java:257)
              at org.apache.solr.common.util.JavaBinCodec.marshal(JavaBinCodec.java:167)
              at org.apache.solr.client.solrj.embedded.EmbeddedSolrServer.request(EmbeddedSolrServer.java:257)
              ... 66 common frames omitted

      The issue doesn't seem to reproduce on XWiki 16.10.16 or 17.4.8.

      Attachments

        Issue Links

          Activity

            People

              tmortagne Thomas Mortagne
              iandriuta Ilie Andriuta
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: