[jacorb-bugs] [Bug 991] New: JacORBConfiguration's getAttributeXXX methods are not thread safe
bugzilla-daemon at jacorb.org
bugzilla-daemon at jacorb.org
Mon Sep 8 09:51:27 CEST 2014
http://www.jacorb.org/bugzilla/show_bug.cgi?id=991
Bug ID: 991
Summary: JacORBConfiguration's getAttributeXXX methods are not
thread safe
Product: JacORB
Version: 3.3
Hardware: PC
OS: Windows NT
Status: NEW
Severity: critical
Priority: P5
Component: ORB
Assignee: jacorb-bugs at lists.spline.inf.fu-berlin.de
Reporter: franky.bugzilla at gmail.com
Created attachment 445
--> http://www.jacorb.org/bugzilla/attachment.cgi?id=445&action=edit
thread dump
I have a setup where I connect to multiple CORBA enabled devices in parallel
from a thread pool. Once in a while I see that a number of threads used for the
CORBA communication are stuck in an endless loop (threads are running at 100%)
at start up of my application. A thread dump of a stuck thread can be found in
the attached file. The threads got stuck in HashMap.getEntry which is known
behavior when accessed and modified concurrently and the owner of this HashMap
is JacOrbConfiguration. In fact there are 3 HashMaps which can be accessed
concurrently in JacOrbConfiguration being stringAttributes, booleanAttributes
and numberAttributes. The problem is that some of the methods getAttribute,
getAttributeAsBoolean, getAttributeAsInteger try to get the value from the
HashMap and if not the default value is put into the HashMap. If those
getAttributeXXX methods are called concurrently the HashMaps can be accessed
and modified concurrently and result in an infinite loop. I encountered this on
3.3 but I guess it's also on 3.5 as I didn't find any bug report related to
this.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spline.inf.fu-berlin.de/pipermail/jacorb-bugs/attachments/20140908/ccc5ad4a/attachment.html>
More information about the jacorb-bugs
mailing list