Created attachment 691558 [details] CLI script with reproduction steps Description of problem: $Summary Version-Release number of selected component (if applicable): Version: 4.6.0-SNAPSHOT Build Number: a74896a How reproducible: Always Steps to Reproduce: 1. create two new roles 2. create a resource group (can be empty) 3. assign two roles to the resource group 4. delete the resource group Actual results: Resource group is not deleted and exception is thrown to the server log. Expected results: Resource group is deleted without exception. Additional info: Attached CLI script which does the reproduction steps. Exception from the RHQ server log: 05:31:04,828 WARN [org.rhq.enterprise.gui.coregui.server.gwt.ResourceGroupGWTServiceImpl] (http--0.0.0.0-7080-2) Sending exception to client: [1359714664828] : javax.ejb.EJBException: java.util.ConcurrentModificationException at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:166) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final] at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:230) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final] at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final] at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.11.Final] at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:32) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-innvocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:165) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final] at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:173) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jjboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:72) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final] at org.rhq.enterprise.server.resource.group.ResourceGroupManagerLocal$$$view73.deleteResourceGroups(Unknown Source) [rhq-enterprise-server-ejb3.jar:4.6.0-SNAPSHOT] at org.rhq.enterprise.gui.coregui.server.gwt.ResourceGroupGWTServiceImpl.deleteResourceGroups(ResourceGroupGWTServiceImpl.java:120) [classes:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_24] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561) [gwt-servlet-2.5.0.jar:] at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208) [gwt-servlet-2.5.0.jar:] at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248) [gwt-servlet-2.5.0.jar:] at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62) [gwt-servlet-2.5.0.jar:] at javax.servlet.http.HttpServlet.service(HttpServlet.java:754) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] at org.rhq.enterprise.gui.coregui.server.gwt.AbstractGWTServiceImpl.service(AbstractGWTServiceImpl.java:89) [classes:] at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] at sun.reflect.GeneratedMethodAccessor140.invoke(Unknown Source) [:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:275) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:273) [jbossweb-7.0.13.Final.jar:] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_24] at javax.security.auth.Subject.doAsPrivileged(Subject..java:537) [rt.jar:1.6.0_24] at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:307) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:167) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:322) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:86) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:231) [jbossweb-7.0.13.Final.jar:] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_24] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:227) [jbossweb-7.0.13.Final.jar:] at org.rhq.helpers.rtfilter.filter.RtFilter.doFilter(RtFilter.java:125) [rhq-rtfilter-4.6.0-SNAPSHOT.jar:4.6.0-SNAPSHOT] at sun.reflect.GeneratedMethodAccessor153.invoke(Unknown Source) [:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:275) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:273) [jbossweb-7.0.13.Final.jar:] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_24] at javax.security..auth.Subject.doAsPrivileged(Subject.java:537) [rt.jar:1.6.0_24] at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:307) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:248) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:275) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:86) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:231) [jbossweb-7.0.13.Final.jar:] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_24] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:227) [jbossweb-7.0.13.Final.jar:] at org.rhq.enterprise.gui.coregui.server.filter.CacheControlFilter.doFilter(CacheControlFilter.java:70) [classes:] at sun.reflect.GeneratedMethodAccessor154.invoke(Unknown Source) [:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:275) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:273) [jbossweb-7.0.13.Final.jar:] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_24] at javax.security.auth.Subject.doAsPrivileged(Subject.java:537) [rt.jar:1.6.0_24] at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:307) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:248) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:275) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:86) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:231) [jbossweb-7.0.13.Final.jar:] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_24] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:227) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb--7.0.13.Final.jar:] at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.connector.CoyoteAdaapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.13.Final.jar:] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:6671) [jbossweb-7.0.13.Final.jar:] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.13.Final.jar:] at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24] Caused by: java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810) [rt.jar:1.6.0_24] at java.util.HashMap$KeyIterator.next(HashMap.java:845) [rt.jar:1.6.0_24] at org.hibernate.collection.internal.AbstractPersistentCollection$IteratorProxy.next(AbstractPersistentCollection.java:593) [hibernate-core-4.0.1.Final.jar:4.0.1.Final] at org.rhq.enterprise.server.resource.group.ResourceGroupManagerBean.deleteResourceGroup(ResourceGroupManagerBean.java:296) [rhq-enterprise-server-ejb3.jar:4.6.0-SNAPSHOT] at org.rhq.enterprise.server.resource.group.ResourceGroupManagerBean.deleteResourceGroups(ResourceGroupManagerBean.java:326) [rhq-enterprise-server-ejb3.jar:4.6.0-SNAPSHOT] at sun.reeflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_24] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.rhq.enterprise.server.common.PerformanceMonitorInterceptor.monitorHibernatePerformance(PerformanceMonitorInterceptor.java:32) [rhq-enterprise-server-ejb3.jar:4.6.0-SNAPSHOT] at sun.reflect.GeneratedMethodAccessor105.invoke(Unknown Source) [:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:123) [jboss-as-ee-7.1.1.Final.jar:7.1.11.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.rhq.enterprise.server.common.TransactionInterruptInterceptor.addCheckedActionToTransactionManager(TransactionInterruptInterceptor.java:78) [rhq-enterprise-server-ejb3.jar:4.6.0-SNAPSHOT] at sun.reflect.GeneratedMethodAccessor104.invoke(Unknown Source) [:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:123) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.rhq.enterprise.server.authz.RequiredPermissionsInterceptor.checkRequiredPermissions(RequiredPermissionsInterceptor.java:156) [rhq-enterprise-server-ejb3.jar:4.6.0-SNAPSHOT] at sun.reflect.GeneratedMethodAccessor103.invoke(Unknown Source) [:1.6.0_24] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.6.0_24] at java.lang.reflect.Method.invoke(Method.java:616) [rt.jar:1.6.0_24] at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:123) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:36) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47) [jboss-as-jpa-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53) [jboss-as-ee-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1..Final.jar:1.1.1.Final] at org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final] at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final] at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228) [jboss-as-ejb3-7.1.1.Final.jar:7.1.1.Final]
Created attachment 691560 [details] CLI script with reproduction steps
fixed in master http://git.fedorahosted.org/cgit/rhq/rhq.git/diff/?id=76267c6d2 time: Fri Feb 1 15:26:25 2013 +0100 commit: 76267c6d230bd088ebc09d682f113d11a93202fc author: Jirka Kremser - jkremser message: [BZ 906754 - It is not possible to delete a resource group which is assigned to more than one roles.] ConcurrentModificationException was thrown when iterating through the set and removing its elements at the same time. I created a copy of the set.
Verified on Version: 4.6.0-SNAPSHOT Build Number: 73a33d5 Added the cli script to our automation (bug906754.js)
Bulk close of old bugs in VERIFIED state.