[
https://issues.jboss.org/browse/ISPN-5522?page=com.atlassian.jira.plugin....
]
William Burns commented on ISPN-5522:
-------------------------------------
It is quite difficult to produce a test case for this. But it seems that essentially an
entry in a TreeBin (that is a segment that had at least 8 elements in it) had an element
that was at both the head of the LIRS hot stack and LIRS cold queue. It was being removed
from both at the same time.
The first thread removed it from the LIRS hot stack making it to HIR_NONRESIDENT and
setting the value to the NULL object and raising the notification
The second thread then removed from the cold queue and found it should transition to
EVICTING since it was no longer in a queue. This then tried to raise the event since it
didn't have the proper null check.
LIRS BoundedConcurrentHashMapv8 eviction for tree bin missing check
-------------------------------------------------------------------
Key: ISPN-5522
URL:
https://issues.jboss.org/browse/ISPN-5522
Project: Infinispan
Issue Type: Bug
Components: Eviction
Affects Versions: 7.2.2.Final
Reporter: William Burns
Assignee: William Burns
Fix For: 8.0.0.Alpha2, 7.2.3.Final
This was discovered at
https://developer.jboss.org/message/932819?et=watches.email.thread
The else if branch when a TreeBin is in place is missing a check to make sure eviction
removal is only done if the value is non null.
This line needs a {code} if (pv != null) {code} check around this
[
line|https://github.com/infinispan/infinispan/blob/40c2050c233c6fbfc382bd...]
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)