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

Possible ConcurrentModificationException when serializing the document archive

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • 14.10.20
    • Old Core
    • None
    • Unknown

    Description

      The following exception was reported for the Replication extension (REPLICAT-231):

      2026-02-19 06:52:36,271 [Replication serializing] ERROR r.i.m.DefaultReplicationSender - Failed to store the message [id = [19f419a7-1dc2-4bac-87ff-0676718e71c5], type = [entity_update], source = [<null>], date = [Thu Feb 19 06:52:36 GMT 2026], receivers = [<null>], ...] on disk. It will be lost. 
      org.xwiki.contrib.replication.ReplicationException: Failed to store sender message with id [19f419a7-1dc2-4bac-87ff-0676718e71c5]
      	at org.xwiki.contrib.replication.internal.message.ReplicationSenderMessageQueue.add(ReplicationSenderMessageQueue.java:230)
      	at org.xwiki.contrib.replication.internal.message.DefaultReplicationSender.addSend(DefaultReplicationSender.java:148)
      	at org.xwiki.contrib.replication.internal.message.DefaultReplicationSender.syncStore(DefaultReplicationSender.java:243)
      	at org.xwiki.contrib.replication.internal.message.DefaultReplicationSender.store(DefaultReplicationSender.java:204)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      Caused by: org.xwiki.contrib.replication.ReplicationException: Failed to write on disk the data of the message with id [19f419a7-1dc2-4bac-87ff-0676718e71c5]
      	at org.xwiki.contrib.replication.internal.message.AbstractReplicationMessageStore.storeMessage(AbstractReplicationMessageStore.java:256)
      	at org.xwiki.contrib.replication.internal.message.ReplicationSenderMessageStore.store(ReplicationSenderMessageStore.java:136)
      	at org.xwiki.contrib.replication.internal.message.ReplicationSenderMessageQueue.add(ReplicationSenderMessageQueue.java:228)
      	... 4 common frames omitted
      Caused by: java.io.IOException: Failed to serialize the document with reference [wiki:Docs.908d75c4-0d5f-11f1-add4-bdd1bf7811a0.WebHome()] and version [8.1]
      	at org.xwiki.contrib.replication.entity.internal.update.DocumentUpdateReplicationMessage.write(DocumentUpdateReplicationMessage.java:211)
      	at org.xwiki.contrib.replication.internal.WrappingMutableReplicationSenderMessage.write(WrappingMutableReplicationSenderMessage.java:38)
      	at org.xwiki.contrib.replication.internal.message.ReplicationSenderMessageStore.storeData(ReplicationSenderMessageStore.java:119)
      	at org.xwiki.contrib.replication.internal.message.ReplicationSenderMessageStore.storeData(ReplicationSenderMessageStore.java:48)
      	at org.xwiki.contrib.replication.internal.message.AbstractReplicationMessageStore.storeMessage(AbstractReplicationMessageStore.java:253)
      	... 6 common frames omitted
      Caused by: com.xpn.xwiki.XWikiException: Error number 2001 in 2: Error serializing document to XML
      	at org.xwiki.contrib.replication.entity.internal.update.DocumentUpdateReplicationMessage.toXML(DocumentUpdateReplicationMessage.java:237)
      	at org.xwiki.contrib.replication.entity.internal.update.DocumentUpdateReplicationMessage.write(DocumentUpdateReplicationMessage.java:209)
      	... 10 common frames omitted
      Caused by: com.xpn.xwiki.XWikiException: Error number 2001 in 2: Error serializing XML
      	at com.xpn.xwiki.doc.XWikiDocument.toXML(XWikiDocument.java:5226)
      	at org.xwiki.contrib.replication.entity.internal.update.DocumentUpdateReplicationMessage.toXML(DocumentUpdateReplicationMessage.java:235)
      	... 11 common frames omitted
      Caused by: java.util.ConcurrentModificationException: null
      	at java.base/java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1208)
      	at java.base/java.util.TreeMap$ValueIterator.next(TreeMap.java:1253)
      	at com.xpn.xwiki.doc.rcs.XWikiRCSArchive.<init>(XWikiRCSArchive.java:77)
      	at com.xpn.xwiki.doc.XWikiDocumentArchive.getArchive(XWikiDocumentArchive.java:248)
      	at com.xpn.xwiki.internal.filter.input.XWikiDocumentLocaleEventGenerator.write(XWikiDocumentLocaleEventGenerator.java:129)
      	at com.xpn.xwiki.internal.filter.input.XWikiDocumentLocaleEventGenerator.write(XWikiDocumentLocaleEventGenerator.java:62)
      	at org.xwiki.filter.instance.internal.input.AbstractBeanEntityEventGenerator.write(AbstractBeanEntityEventGenerator.java:131)
      	at com.xpn.xwiki.internal.filter.XWikiDocumentFilterUtils.exportEntity(XWikiDocumentFilterUtils.java:334)
      	at com.xpn.xwiki.doc.XWikiDocument.toXML(XWikiDocument.java:5223)
      	... 12 common frames omitted
      

      It seems to suggest that the archive was modified while Replication was trying to serialize it. It's possible we are missing some cloning of the cached archive when it's modified while saving a document, or some other history writing use cases.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              tmortagne Thomas Mortagne
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated: