You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by Phani Madgula <ph...@gmail.com> on 2006/05/08 12:33:48 UTC

ConcurrentModificationException while starting AG1.1

Hi,

I am getting the following exception, quite unfrequently, may be once
in 25 times, while starting AG1.1

jvm 1    | 08:24:25,762 ERROR [Registry] Error registering Geronimo:type=Request
Processor,worker=http-localhost%2F127.0.0.1-8453,name=HttpRequest0
jvm 1    | java.util.ConcurrentModificationException: concurrent access to HashM
ap attempted by Thread[http-localhost%2F127.0.0.1-8453-Processor25,5,main]
jvm 1    |      at java.util.HashMap.onEntry(HashMap.java:205)
jvm 1    |      at java.util.HashMap.transfer(HashMap.java:510)
jvm 1    |      at java.util.HashMap.resize(HashMap.java:500)
jvm 1    |      at java.util.HashMap.addEntry(HashMap.java:800)
jvm 1    |      at java.util.HashMap.put(HashMap.java:441)
jvm 1    |      at org.apache.commons.modeler.Registry.addManagedBean(Registry.j
ava:457)
jvm 1    |      at org.apache.commons.modeler.Registry.loadDescriptors(Registry.
java:938)
jvm 1    |      at org.apache.commons.modeler.Registry.findManagedBean(Registry.
java:719)
jvm 1    |      at org.apache.commons.modeler.Registry.findManagedBean(Registry.
java:1047)
jvm 1    |      at org.apache.commons.modeler.Registry.registerComponent(Registr
y.java:859)
jvm 1    |      at org.apache.coyote.http11.Http11Protocol$JmxHttp11ConnectionHa
ndler.init(Http11Protocol.java:175)
jvm 1    |      at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.getInit
Data(LeaderFollowerWorkerThread.java:48)
jvm 1    |      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
(ThreadPool.java:686)
jvm 1    |      at java.lang.Thread.run(Thread.java:797)
jvm 1    | 08:24:25,762 ERROR [Registry] Error loading jar:file:/D:/ccviews/d_sj
c_tk4s_f5887_pathfinder_wasce_only/v3tools/thirdparty/was_ce/test/was-ce-1.1.0/r
epository/tomcat/tomcat-ajp/5.5.15/tomcat-ajp-5.5.15.jar!/org/apache/jk/mbeans-d
escriptors.xml
jvm 1    | 08:24:25,762 WARN  [Http11BaseProtocol] Error registering request


I saw that the Registry class is not thread-safe. In the method,
Http11Protocol:JmxHttp11ConnectionHandler:init()
there is a call to Registry.getRegistry(null, null).registerComponent(
rp, rpName, null)

Should this be synchronized to resolve the problem?

Can we synchronize it? Any suggestions?

Regards
phani

Re: ConcurrentModificationException while starting AG1.1

Posted by Manu George <ma...@gmail.com>.
Hi ,
          Another Query regarding this issue to the experts. I find atleast
two different mbeans-descriptors.xml files for  commons-modeler to load,
catalina-5.5.15.jar and tomcat-ajp-5.5.15.jar has one each. Is this
occurring due to some problems in the sequence of loading gbeans since all
the gbeans are loaded in a single configuration?
 Also if there are many gbeans in a single configuration are they loaded in
the same sequence they are declared and in a single thread?

Regards
Manu

On 5/8/06, Phani Madgula <ph...@gmail.com> wrote:
>
> Hi,
>
> I am getting the following exception, quite unfrequently, may be once
> in 25 times, while starting AG1.1
>
> jvm 1    | 08:24:25,762 ERROR [Registry] Error registering
> Geronimo:type=Request
> Processor,worker=http-localhost%2F127.0.0.1-8453,name=HttpRequest0
> jvm 1    | java.util.ConcurrentModificationException: concurrent access to
> HashM
> ap attempted by Thread[http-localhost%2F127.0.0.1-8453-Processor25,5,main]
> jvm 1    |      at java.util.HashMap.onEntry(HashMap.java:205)
> jvm 1    |      at java.util.HashMap.transfer(HashMap.java:510)
> jvm 1    |      at java.util.HashMap.resize(HashMap.java:500)
> jvm 1    |      at java.util.HashMap.addEntry(HashMap.java:800)
> jvm 1    |      at java.util.HashMap.put(HashMap.java:441)
> jvm 1    |      at org.apache.commons.modeler.Registry.addManagedBean(
> Registry.j
> ava:457)
> jvm 1    |      at org.apache.commons.modeler.Registry.loadDescriptors
> (Registry.
> java:938)
> jvm 1    |      at org.apache.commons.modeler.Registry.findManagedBean
> (Registry.
> java:719)
> jvm 1    |      at org.apache.commons.modeler.Registry.findManagedBean
> (Registry.
> java:1047)
> jvm 1    |      at org.apache.commons.modeler.Registry.registerComponent
> (Registr
> y.java:859)
> jvm 1    |      at
> org.apache.coyote.http11.Http11Protocol$JmxHttp11ConnectionHa
> ndler.init(Http11Protocol.java:175)
> jvm 1    |      at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.getInit
> Data(LeaderFollowerWorkerThread.java:48)
> jvm 1    |      at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> (ThreadPool.java:686)
> jvm 1    |      at java.lang.Thread.run(Thread.java:797)
> jvm 1    | 08:24:25,762 ERROR [Registry] Error loading
> jar:file:/D:/ccviews/d_sj
> c_tk4s_f5887_pathfinder_wasce_only/v3tools/thirdparty/was_ce/test/was-
> ce-1.1.0/r
> epository/tomcat/tomcat-ajp/5.5.15/tomcat-
> ajp-5.5.15.jar!/org/apache/jk/mbeans-d
> escriptors.xml
> jvm 1    | 08:24:25,762 WARN  [Http11BaseProtocol] Error registering
> request
>
>
> I saw that the Registry class is not thread-safe. In the method,
> Http11Protocol:JmxHttp11ConnectionHandler:init()
> there is a call to Registry.getRegistry(null, null).registerComponent(
> rp, rpName, null)
>
> Should this be synchronized to resolve the problem?
>
> Can we synchronize it? Any suggestions?
>
> Regards
> phani
>

Re: ConcurrentModificationException while starting AG1.1

Posted by David Jencks <da...@yahoo.com>.
On May 8, 2006, at 11:25 PM, Manu George wrote:

> Hi David,
>       I just compared the file on your page with the file in one of  
> my builds of G. It seems to be missing two files mbeans- 
> descriptors.dtd and ant.properties. Was these files removed on  
> purpose?

I just ran maven -o jar:install -Dmaven.test.skip=true

I have no idea how the 1.1 release was built.  I can't see how  
ant.properties could be useful :-)  and apparently mbeans- 
descriptors.dtd isn't actually needed??

>
> Regards
> Manu
>
> On 5/9/06, Manu George <ma...@gmail.com> wrote:
> Thanks David. Can I take this jar
> (http://people.apache.org/~djencks/maven/commons-modeler/jars/ 
> commons-modeler-1.2-GERONIMO-SNAPSHOT.jar ) and replace the one in  
> a previous version of G say 1.0? Will it be fine? Or do I have to  
> do a rebuild?

I think it will work in G 1.0 if you rename it to have version 1.1.   
It should work in any recent build of 1.1 just by adding it to the  
geronimo repository without renaming.  Since it is used only by  
tomcat which I have not rebuilt I think its safe to say there are no  
interface changes since commons-modeler 1.1 :-)

thanks
david jencks



>
> Regards
> Manu
>
>
> On 5/9/06, David Jencks < david_jencks@yahoo.com> wrote:
> I've put a private build of commons-modeler on my apache page and  
> modified the g. build to use it.  Could you rebuild g (you will  
> need a clean build after dain's changes) and see if this CME is fixed?
>
> thanks
> david jencks
>
> On May 8, 2006, at 2:30 PM, David Jencks wrote:
>
>> I've opened
>> http://issues.apache.org/bugzilla/show_bug.cgi?id=39521
>>
>> for this and I wrote a patch to possibly fix it.  I'm going to  
>> push a private jar for this and set up the g. build to use it.
>>
>> I also opened  http://issues.apache.org/jira/browse/GERONIMO-1999  
>> for us to track this problem
>>
>> thanks
>> david jencks
>>
>>
>>
>> On May 8, 2006, at 3:33 AM, Phani Madgula wrote:
>>
>>> Hi,
>>>
>>> I am getting the following exception, quite unfrequently, may be  
>>> once
>>> in 25 times, while starting AG1.1
>>>
>>> jvm 1    | 08:24:25,762 ERROR [Registry] Error registering  
>>> Geronimo:type=Request
>>> Processor,worker=http-localhost%2F127.0.0.1-8453,name=HttpRequest0
>>> jvm 1    | java.util.ConcurrentModificationException: concurrent  
>>> access to HashM
>>> ap attempted by Thread[http-localhost%2F127.0.0.1-8453- 
>>> Processor25,5,main]
>>> jvm 1    |      at java.util.HashMap.onEntry(HashMap.java :205)
>>> jvm 1    |      at java.util.HashMap.transfer(HashMap.java:510)
>>> jvm 1    |      at java.util.HashMap.resize (HashMap.java:500)
>>> jvm 1    |      at java.util.HashMap.addEntry(HashMap.java:800)
>>> jvm 1    |      at java.util.HashMap.put (HashMap.java:441)
>>> jvm 1    |      at  
>>> org.apache.commons.modeler.Registry.addManagedBean(Registry.j
>>> ava:457)
>>> jvm 1    |      at  
>>> org.apache.commons.modeler.Registry.loadDescriptors(Registry.
>>> java:938)
>>> jvm 1    |      at  
>>> org.apache.commons.modeler.Registry.findManagedBean(Registry.
>>> java:719)
>>> jvm 1    |      at  
>>> org.apache.commons.modeler.Registry.findManagedBean (Registry.
>>> java:1047)
>>> jvm 1    |      at  
>>> org.apache.commons.modeler.Registry.registerComponent(Registr
>>> y.java:859)
>>> jvm 1    |      at org.apache.coyote.http11.Http11Protocol 
>>> $JmxHttp11ConnectionHa
>>> ndler.init(Http11Protocol.java:175)
>>> jvm 1    |      at  
>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.getInit
>>> Data(LeaderFollowerWorkerThread.java:48)
>>> jvm 1    |      at org.apache.tomcat.util.threads.ThreadPool 
>>> $ControlRunnable.run
>>> (ThreadPool.java:686)
>>> jvm 1    |       at java.lang.Thread.run(Thread.java:797)
>>> jvm 1    | 08:24:25,762 ERROR [Registry] Error loading jar:file:/ 
>>> D:/ccviews/d_sj
>>> c_tk4s_f5887_pathfinder_wasce_only/v3tools/thirdparty/was_ce/test/ 
>>> was- ce-1.1.0/r
>>> epository/tomcat/tomcat-ajp/5.5.15/tomcat-ajp-5.5.15.jar!/org/ 
>>> apache/jk/mbeans-d
>>> escriptors.xml
>>> jvm 1    | 08:24:25,762 WARN  [Http11BaseProtocol] Error  
>>> registering request
>>>
>>>
>>> I saw that the Registry class is not thread-safe. In the method,
>>> Http11Protocol:JmxHttp11ConnectionHandler:init()
>>> there is a call to Registry.getRegistry(null,  
>>> null).registerComponent(
>>> rp, rpName, null)
>>>
>>> Should this be synchronized to resolve the problem?
>>>
>>> Can we synchronize it? Any suggestions?
>>>
>>> Regards
>>> phani
>>
>
>
>


Re: ConcurrentModificationException while starting AG1.1

Posted by Manu George <ma...@gmail.com>.
Hi David,
      I just compared the file on your page with the file in one of my
builds of G. It seems to be missing two files mbeans-descriptors.dtd and
ant.properties. Was these files removed on purpose?

Regards
Manu

On 5/9/06, Manu George <ma...@gmail.com> wrote:
>
> Thanks David. Can I take this jar
> (
> http://people.apache.org/~djencks/maven/commons-modeler/jars/commons-modeler-1.2-GERONIMO-SNAPSHOT.jar<http://people.apache.org/%7Edjencks/maven/commons-modeler/jars/commons-modeler-1.2-GERONIMO-SNAPSHOT.jar>) and replace the one in a previous version of G say
> 1.0? Will it be fine? Or do I have to do a rebuild?
>
> Regards
> Manu
>
>
> On 5/9/06, David Jencks <da...@yahoo.com> wrote:
> >
> > I've put a private build of commons-modeler on my apache page and
> > modified the g. build to use it.  Could you rebuild g (you will need a clean
> > build after dain's changes) and see if this CME is fixed?
> > thanks
> > david jencks
> >
> > On May 8, 2006, at 2:30 PM, David Jencks wrote:
> >
> > I've opened http://issues.apache.org/bugzilla/show_bug.cgi?id=39521
> >
> > for this and I wrote a patch to possibly fix it.  I'm going to push a
> > private jar for this and set up the g. build to use it.
> >
> > I also opened  http://issues.apache.org/jira/browse/GERONIMO-1999 for us
> > to track this problem
> >
> > thanks
> > david jencks
> >
> > *
> > *
> > *
> > *On May 8, 2006, at 3:33 AM, Phani Madgula wrote:
> >
> > Hi,
> >
> > I am getting the following exception, quite unfrequently, may be once
> > in 25 times, while starting AG1.1
> >
> > jvm 1    | 08:24:25,762 ERROR [Registry] Error registering
> > Geronimo:type=Request
> > Processor,worker=http-localhost%2F127.0.0.1-8453,name=HttpRequest0
> > jvm 1    | java.util.ConcurrentModificationException: concurrent access
> > to HashM
> > ap attempted by
> > Thread[http-localhost%2F127.0.0.1-8453-Processor25,5,main]
> > jvm 1    |      at java.util.HashMap.onEntry(HashMap.java :205)
> > jvm 1    |      at java.util.HashMap.transfer(HashMap.java:510)
> > jvm 1    |      at java.util.HashMap.resize (HashMap.java:500)
> > jvm 1    |      at java.util.HashMap.addEntry(HashMap.java:800)
> > jvm 1    |      at java.util.HashMap.put (HashMap.java:441)
> > jvm 1    |      at org.apache.commons.modeler.Registry.addManagedBean(
> > Registry.j
> > ava:457)
> > jvm 1    |      at org.apache.commons.modeler.Registry.loadDescriptors
> > (Registry.
> > java:938)
> > jvm 1    |      at org.apache.commons.modeler.Registry.findManagedBean
> > (Registry.
> > java:719)
> > jvm 1    |      at org.apache.commons.modeler.Registry.findManagedBean(Registry.
> > java:1047)
> > jvm 1    |      at org.apache.commons.modeler.Registry.registerComponent
> > (Registr
> > y.java:859)
> > jvm 1    |      at
> > org.apache.coyote.http11.Http11Protocol$JmxHttp11ConnectionHa
> > ndler.init(Http11Protocol.java:175)
> > jvm 1    |      at
> > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.getInit
> > Data(LeaderFollowerWorkerThread.java:48)
> > jvm 1    |      at
> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> > (ThreadPool.java:686)
> > jvm 1    |      at java.lang.Thread.run(Thread.java:797)
> > jvm 1    | 08:24:25,762 ERROR [Registry] Error loading jar:file:/D
> > :/ccviews/d_sj
> > c_tk4s_f5887_pathfinder_wasce_only/v3tools/thirdparty/was_ce/test/was-
> > ce-1.1.0/r
> > epository/tomcat/tomcat-ajp/5.5.15/tomcat-
> > ajp-5.5.15.jar!/org/apache/jk/mbeans-d
> > escriptors.xml
> > jvm 1    | 08:24:25,762 WARN  [Http11BaseProtocol] Error registering
> > request
> >
> >
> > I saw that the Registry class is not thread-safe. In the method,
> > Http11Protocol:JmxHttp11ConnectionHandler:init()
> > there is a call to Registry.getRegistry(null, null).registerComponent(
> > rp, rpName, null)
> >
> > Should this be synchronized to resolve the problem?
> >
> > Can we synchronize it? Any suggestions?
> >
> > Regards
> > phani
> >
> >
> >
> >
>

Re: ConcurrentModificationException while starting AG1.1

Posted by Manu George <ma...@gmail.com>.
Thanks David. Can I take this jar
(
http://people.apache.org/~djencks/maven/commons-modeler/jars/commons-modeler-1.2-GERONIMO-SNAPSHOT.jar)
and replace the one in a previous version of G say 1.0? Will it be fine? Or
do I have to do a rebuild?

Regards
Manu

On 5/9/06, David Jencks <da...@yahoo.com> wrote:
>
> I've put a private build of commons-modeler on my apache page and modified
> the g. build to use it.  Could you rebuild g (you will need a clean build
> after dain's changes) and see if this CME is fixed?
> thanks
> david jencks
>
> On May 8, 2006, at 2:30 PM, David Jencks wrote:
>
> I've openedhttp://issues.apache.org/bugzilla/show_bug.cgi?id=39521
>
> for this and I wrote a patch to possibly fix it.  I'm going to push a
> private jar for this and set up the g. build to use it.
>
> I also opened http://issues.apache.org/jira/browse/GERONIMO-1999 for us to
> track this problem
>
> thanks
> david jencks
>
> *
> *
> *
> *On May 8, 2006, at 3:33 AM, Phani Madgula wrote:
>
> Hi,
>
> I am getting the following exception, quite unfrequently, may be once
> in 25 times, while starting AG1.1
>
> jvm 1    | 08:24:25,762 ERROR [Registry] Error registering
> Geronimo:type=Request
> Processor,worker=http-localhost%2F127.0.0.1-8453,name=HttpRequest0
> jvm 1    | java.util.ConcurrentModificationException: concurrent access to
> HashM
> ap attempted by Thread[http-localhost%2F127.0.0.1-8453-Processor25,5,main]
> jvm 1    |      at java.util.HashMap.onEntry(HashMap.java:205)
> jvm 1    |      at java.util.HashMap.transfer(HashMap.java:510)
> jvm 1    |      at java.util.HashMap.resize(HashMap.java:500)
> jvm 1    |      at java.util.HashMap.addEntry(HashMap.java:800)
> jvm 1    |      at java.util.HashMap.put(HashMap.java:441)
> jvm 1    |      at org.apache.commons.modeler.Registry.addManagedBean(
> Registry.j
> ava:457)
> jvm 1    |      at org.apache.commons.modeler.Registry.loadDescriptors
> (Registry.
> java:938)
> jvm 1    |      at org.apache.commons.modeler.Registry.findManagedBean
> (Registry.
> java:719)
> jvm 1    |      at org.apache.commons.modeler.Registry.findManagedBean
> (Registry.
> java:1047)
> jvm 1    |      at org.apache.commons.modeler.Registry.registerComponent
> (Registr
> y.java:859)
> jvm 1    |      at
> org.apache.coyote.http11.Http11Protocol$JmxHttp11ConnectionHa
> ndler.init(Http11Protocol.java:175)
> jvm 1    |      at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.getInit
> Data(LeaderFollowerWorkerThread.java:48)
> jvm 1    |      at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run
> (ThreadPool.java:686)
> jvm 1    |      at java.lang.Thread.run(Thread.java:797)
> jvm 1    | 08:24:25,762 ERROR [Registry] Error loading jar:file:/D
> :/ccviews/d_sj
> c_tk4s_f5887_pathfinder_wasce_only/v3tools/thirdparty/was_ce/test/was-
> ce-1.1.0/r
> epository/tomcat/tomcat-ajp/5.5.15/tomcat-
> ajp-5.5.15.jar!/org/apache/jk/mbeans-d
> escriptors.xml
> jvm 1    | 08:24:25,762 WARN  [Http11BaseProtocol] Error registering
> request
>
>
> I saw that the Registry class is not thread-safe. In the method,
> Http11Protocol:JmxHttp11ConnectionHandler:init()
> there is a call to Registry.getRegistry(null, null).registerComponent(
> rp, rpName, null)
>
> Should this be synchronized to resolve the problem?
>
> Can we synchronize it? Any suggestions?
>
> Regards
> phani
>
>
>
>

Re: ConcurrentModificationException while starting AG1.1

Posted by David Jencks <da...@yahoo.com>.
I've put a private build of commons-modeler on my apache page and  
modified the g. build to use it.  Could you rebuild g (you will need  
a clean build after dain's changes) and see if this CME is fixed?

thanks
david jencks

On May 8, 2006, at 2:30 PM, David Jencks wrote:

> I've opened
> http://issues.apache.org/bugzilla/show_bug.cgi?id=39521
>
> for this and I wrote a patch to possibly fix it.  I'm going to push  
> a private jar for this and set up the g. build to use it.
>
> I also opened http://issues.apache.org/jira/browse/GERONIMO-1999  
> for us to track this problem
>
> thanks
> david jencks
>
>
>
> On May 8, 2006, at 3:33 AM, Phani Madgula wrote:
>
>> Hi,
>>
>> I am getting the following exception, quite unfrequently, may be once
>> in 25 times, while starting AG1.1
>>
>> jvm 1    | 08:24:25,762 ERROR [Registry] Error registering  
>> Geronimo:type=Request
>> Processor,worker=http-localhost%2F127.0.0.1-8453,name=HttpRequest0
>> jvm 1    | java.util.ConcurrentModificationException: concurrent  
>> access to HashM
>> ap attempted by Thread[http-localhost%2F127.0.0.1-8453- 
>> Processor25,5,main]
>> jvm 1    |      at java.util.HashMap.onEntry(HashMap.java:205)
>> jvm 1    |      at java.util.HashMap.transfer(HashMap.java:510)
>> jvm 1    |      at java.util.HashMap.resize(HashMap.java:500)
>> jvm 1    |      at java.util.HashMap.addEntry(HashMap.java:800)
>> jvm 1    |      at java.util.HashMap.put(HashMap.java:441)
>> jvm 1    |      at  
>> org.apache.commons.modeler.Registry.addManagedBean(Registry.j
>> ava:457)
>> jvm 1    |      at  
>> org.apache.commons.modeler.Registry.loadDescriptors(Registry.
>> java:938)
>> jvm 1    |      at  
>> org.apache.commons.modeler.Registry.findManagedBean(Registry.
>> java:719)
>> jvm 1    |      at  
>> org.apache.commons.modeler.Registry.findManagedBean(Registry.
>> java:1047)
>> jvm 1    |      at  
>> org.apache.commons.modeler.Registry.registerComponent(Registr
>> y.java:859)
>> jvm 1    |      at org.apache.coyote.http11.Http11Protocol 
>> $JmxHttp11ConnectionHa
>> ndler.init(Http11Protocol.java:175)
>> jvm 1    |      at  
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.getInit
>> Data(LeaderFollowerWorkerThread.java:48)
>> jvm 1    |      at org.apache.tomcat.util.threads.ThreadPool 
>> $ControlRunnable.run
>> (ThreadPool.java:686)
>> jvm 1    |      at java.lang.Thread.run(Thread.java:797)
>> jvm 1    | 08:24:25,762 ERROR [Registry] Error loading jar:file:/ 
>> D:/ccviews/d_sj
>> c_tk4s_f5887_pathfinder_wasce_only/v3tools/thirdparty/was_ce/test/ 
>> was-ce-1.1.0/r
>> epository/tomcat/tomcat-ajp/5.5.15/tomcat-ajp-5.5.15.jar!/org/ 
>> apache/jk/mbeans-d
>> escriptors.xml
>> jvm 1    | 08:24:25,762 WARN  [Http11BaseProtocol] Error  
>> registering request
>>
>>
>> I saw that the Registry class is not thread-safe. In the method,
>> Http11Protocol:JmxHttp11ConnectionHandler:init()
>> there is a call to Registry.getRegistry(null,  
>> null).registerComponent(
>> rp, rpName, null)
>>
>> Should this be synchronized to resolve the problem?
>>
>> Can we synchronize it? Any suggestions?
>>
>> Regards
>> phani
>


Re: ConcurrentModificationException while starting AG1.1

Posted by David Jencks <da...@yahoo.com>.
I've opened
http://issues.apache.org/bugzilla/show_bug.cgi?id=39521

for this and I wrote a patch to possibly fix it.  I'm going to push a  
private jar for this and set up the g. build to use it.

I also opened http://issues.apache.org/jira/browse/GERONIMO-1999 for  
us to track this problem

thanks
david jencks



On May 8, 2006, at 3:33 AM, Phani Madgula wrote:

> Hi,
>
> I am getting the following exception, quite unfrequently, may be once
> in 25 times, while starting AG1.1
>
> jvm 1    | 08:24:25,762 ERROR [Registry] Error registering  
> Geronimo:type=Request
> Processor,worker=http-localhost%2F127.0.0.1-8453,name=HttpRequest0
> jvm 1    | java.util.ConcurrentModificationException: concurrent  
> access to HashM
> ap attempted by Thread[http-localhost%2F127.0.0.1-8453- 
> Processor25,5,main]
> jvm 1    |      at java.util.HashMap.onEntry(HashMap.java:205)
> jvm 1    |      at java.util.HashMap.transfer(HashMap.java:510)
> jvm 1    |      at java.util.HashMap.resize(HashMap.java:500)
> jvm 1    |      at java.util.HashMap.addEntry(HashMap.java:800)
> jvm 1    |      at java.util.HashMap.put(HashMap.java:441)
> jvm 1    |      at  
> org.apache.commons.modeler.Registry.addManagedBean(Registry.j
> ava:457)
> jvm 1    |      at  
> org.apache.commons.modeler.Registry.loadDescriptors(Registry.
> java:938)
> jvm 1    |      at  
> org.apache.commons.modeler.Registry.findManagedBean(Registry.
> java:719)
> jvm 1    |      at  
> org.apache.commons.modeler.Registry.findManagedBean(Registry.
> java:1047)
> jvm 1    |      at  
> org.apache.commons.modeler.Registry.registerComponent(Registr
> y.java:859)
> jvm 1    |      at org.apache.coyote.http11.Http11Protocol 
> $JmxHttp11ConnectionHa
> ndler.init(Http11Protocol.java:175)
> jvm 1    |      at  
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.getInit
> Data(LeaderFollowerWorkerThread.java:48)
> jvm 1    |      at org.apache.tomcat.util.threads.ThreadPool 
> $ControlRunnable.run
> (ThreadPool.java:686)
> jvm 1    |      at java.lang.Thread.run(Thread.java:797)
> jvm 1    | 08:24:25,762 ERROR [Registry] Error loading jar:file:/D:/ 
> ccviews/d_sj
> c_tk4s_f5887_pathfinder_wasce_only/v3tools/thirdparty/was_ce/test/ 
> was-ce-1.1.0/r
> epository/tomcat/tomcat-ajp/5.5.15/tomcat-ajp-5.5.15.jar!/org/ 
> apache/jk/mbeans-d
> escriptors.xml
> jvm 1    | 08:24:25,762 WARN  [Http11BaseProtocol] Error  
> registering request
>
>
> I saw that the Registry class is not thread-safe. In the method,
> Http11Protocol:JmxHttp11ConnectionHandler:init()
> there is a call to Registry.getRegistry(null, null).registerComponent(
> rp, rpName, null)
>
> Should this be synchronized to resolve the problem?
>
> Can we synchronize it? Any suggestions?
>
> Regards
> phani