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

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: