Bug 1215786 - [GSS] (6.4.z) Concurrent message headers modification causes that message is never sent
Summary: [GSS] (6.4.z) Concurrent message headers modification causes that message is ...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Clustering
Version: 6.4.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: CR1
: EAP 6.4.2
Assignee: dereed
QA Contact: Jitka Kozana
URL:
Whiteboard:
Depends On:
Blocks: 1215788 1219165
TreeView+ depends on / blocked
 
Reported: 2015-04-27 17:34 UTC by dereed
Modified: 2019-07-11 09:02 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Sending a message through JGroups may fail under some race conditions with ArrayOutOfBoundException. The reliability mechanism will try to resend this message again, but all these subsequent attempts will fail with NullPointerException. Therefore, the message will be never received on the receiver node and will be held in unacknowledged messages buffer on the sender node. If this message is ordered within JGroups, no more ordered messages from this node will be delivered on the receiver node. Some following messages may be buffered as well, eventually leading to OutOfMemoryException.
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker JGRP-1752 0 Major Resolved Concurrent message headers modification causes that message is never sent 2018-02-23 11:19:37 UTC

Description dereed 2015-04-27 17:34:36 UTC
JGRP-1752: Concurrent message headers modification causes that message is never sent

Under some circumstances the TP protocol may try to add the TP header to message twice concurrently.
This happens for example when the stable message triggers retransmission while the message has been sent right now.
This may result in ArrayOutOfBoundException in Headers._putHeader and/or subsequent NullPointerException in Headers.size(). The retransmission attempt always fails, the message is never delivered. Moreover, keeping this (and possibly following) messages in the transmission table can lead to OOME.

Comment 1 dereed 2015-04-27 19:03:36 UTC
Test case: org/jgroups/tests/HeadersTest#testPutHeaderIfAbsent

Comment 4 Jitka Kozana 2015-06-25 08:51:16 UTC
Verified on 6.4.2.CP.CR1.

Comment 5 Petr Penicka 2017-01-17 10:15:40 UTC
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.

Comment 6 Petr Penicka 2017-01-17 10:16:11 UTC
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.


Note You need to log in before you can comment on or make changes to this bug.