Skip to content

ConcurrentModificationException when calling SimpMessagingTemplate.convertAndSend [SPR-13185] #17777

@spring-projects-issues

Description

@spring-projects-issues

Henrik Olsson opened SPR-13185 and commented

18:35:42.312 [http-nio-8080-exec-47] ERROR o.s.w.s.m.StompSubProtocolHandler - Error publishing SessionSubscribeEvent[GenericMessage [payload=byte[0], headers={simpMessageType=SUBSCRIBE, stompCommand=SUBSCRIBE, nativeHeaders={id=[/api/event-lists/list], destination=[/api/event-lists/list]}, simpSessionAttributes={scopedTarget.scopedRequestsPerSessionCounter=session.ScopedRequestsPerSessionCounter@48538a7d, org.springframework.messaging.simp.SimpAttributes.DESTRUCTION_CALLBACK.scopedTarget.scopedRequestsPerSessionCounter=org.springframework.beans.factory.support.DisposableBeanAdapter@46758ba2}, simpSubscriptionId=/api/event-lists/list, simpSessionId=ialw0jal, simpDestination=/api/event-lists/list}]].
org.springframework.messaging.MessageDeliveryException: Failed to handle GenericMessage [payload=byte[3067], headers={simpMessageType=MESSAGE, stompCommand=SEND, nativeHeaders={id=[/api/event-lists/list], destination=[/api/event-lists/list], type=[FULL], simpOrigDestination=[/user/request-response]}, simpSessionAttributes={scopedTarget.scopedRequestsPerSessionCounter=session.ScopedRequestsPerSessionCounter@48538a7d, org.springframework.messaging.simp.SimpAttributes.DESTRUCTION_CALLBACK.scopedTarget.scopedRequestsPerSessionCounter=org.springframework.beans.factory.support.DisposableBeanAdapter@46758ba2}, simpSubscriptionId=/api/event-lists/list, contentType=application/json;charset=UTF-8, simpSessionId=ialw0jal, simpDestination=/request-response-userialw0jal}] to org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask@fe59cf8 in SimpleBroker[DefaultSubscriptionRegistry[cache[509 destination(s)], registry[584 sessions]]]; nested exception is java.util.ConcurrentModificationException
        at org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask.run(ExecutorSubscribableChannel.java:144) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.support.ExecutorSubscribableChannel.sendInternal(ExecutorSubscribableChannel.java:91) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.support.AbstractMessageChannel.send(AbstractMessageChannel.java:117) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.support.AbstractMessageChannel.send(AbstractMessageChannel.java:104) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.simp.SimpMessagingTemplate.sendInternal(SimpMessagingTemplate.java:184) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.simp.SimpMessagingTemplate.doSend(SimpMessagingTemplate.java:176) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.simp.SimpMessagingTemplate.doSend(SimpMessagingTemplate.java:47) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:95) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.simp.user.UserDestinationMessageHandler.handleMessage(UserDestinationMessageHandler.java:190) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask.run(ExecutorSubscribableChannel.java:135) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.support.ExecutorSubscribableChannel.sendInternal(ExecutorSubscribableChannel.java:91) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.support.AbstractMessageChannel.send(AbstractMessageChannel.java:117) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.support.AbstractMessageChannel.send(AbstractMessageChannel.java:104) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.simp.SimpMessagingTemplate.sendInternal(SimpMessagingTemplate.java:184) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.simp.SimpMessagingTemplate.doSend(SimpMessagingTemplate.java:176) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.simp.SimpMessagingTemplate.doSend(SimpMessagingTemplate.java:47) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:95) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.core.AbstractMessageSendingTemplate.convertAndSend(AbstractMessageSendingTemplate.java:133) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.simp.SimpMessagingTemplate.convertAndSendToUser(SimpMessagingTemplate.java:224) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.simp.SimpMessagingTemplate.convertAndSendToUser(SimpMessagingTemplate.java:208) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
   [  .... application frames ..... ] 
Caused by: java.util.ConcurrentModificationException: null
        at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:966) ~[na:1.8.0_45]
        at java.util.LinkedList$ListItr.next(LinkedList.java:888) ~[na:1.8.0_45]
        at org.springframework.messaging.simp.broker.SimpleBrokerMessageHandler.sendMessageToSubscribers(SimpleBrokerMessageHandler.java:201) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.simp.broker.SimpleBrokerMessageHandler.handleMessageInternal(SimpleBrokerMessageHandler.java:149) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.simp.broker.AbstractBrokerMessageHandler.handleMessage(AbstractBrokerMessageHandler.java:238) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        at org.springframework.messaging.support.ExecutorSubscribableChannel$SendTask.run(ExecutorSubscribableChannel.java:135) ~[spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
        ... 73 common frames omitted

Affects: 4.1.6

Issue Links:

Referenced from: commits ca9beea, 16cbfcf, f0175bc

Metadata

Metadata

Assignees

Labels

in: webIssues in web modules (web, webmvc, webflux, websocket)type: bugA general bug

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions