Bug 1024862 - NPE in ModelControllerLock
Summary: NPE in ModelControllerLock
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Domain Management
Version: 6.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: CR2
: EAP 6.2.0
Assignee: Emanuel Muckenhuber
QA Contact: Ladislav Thon
Russell Dickenson
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-10-30 14:14 UTC by Emanuel Muckenhuber
Modified: 2015-02-01 23:05 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2013-12-15 16:13:02 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker WFLY-1982 0 Major Resolved NPE in ModelControllerLock 2016-05-11 08:57:45 UTC

Description Emanuel Muckenhuber 2013-10-30 14:14:22 UTC
There is a race condition in the ModelControllerLock causing a NullPointerException when trying to acquire the controller lock.

Comment 1 JBoss JIRA Server 2013-11-01 14:19:05 UTC
Emanuel Muckenhuber <emuckenh> updated the status of jira WFLY-1982 to Resolved

Comment 2 Petr Kremensky 2013-11-11 12:19:12 UTC
This issue was verified using the 6.2.0.CR1 preview bits.

Comment 3 Ladislav Thon 2013-11-12 14:39:42 UTC
Petr only verified the presence of the patch, as he didn't have any reproducer. I should have been the one that was verifying this, as I do have a fairly consistent reproducer -- a soak test for RBAC. I decided to run it on the CR1 preview stuff (specifically, the EAP_6.2.0.CR1-dev GitHub tag)... and it failed.

Note that I was trying to run the soak test on one or two previous EAP ERx releases and it never failed. It only started to fail with CR1-dev.

Steps to reproduce:

1. cd jboss-eap (an up to date clone of the EAP "upstream" GitHub repo)
2. git checkout EAP_6.2.0.CR1-dev
3. ./build.sh clean install -DskipTests
4. ./integration-tests.sh -Dts.noSmoke -Dts.domain -Prbac-soak -Djboss.test.rbac.soak.clients=100

The resulting server log is in ./testsuite/domain/target/surefire-reports/org.jboss.as.test.integration.domain.rbac.RbacSoakTest-output.txt and it contains the same old NPEs. For example:

[Host Controller] 15:31:48,712 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 4) JBAS014612: Operation ("describe") failed - address: ([
[Host Controller]     ("profile" => "profile-b"),
[Host Controller]     ("subsystem" => "datasources")
[Host Controller] ]): java.lang.NullPointerException
[Host Controller] 	at org.jboss.as.controller.ModelControllerLock$Sync.tryAcquire(ModelControllerLock.java:75) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireInterruptibly(AbstractQueuedSynchronizer.java:1200) [rt.jar:1.6.0_45]
[Host Controller] 	at org.jboss.as.controller.ModelControllerLock.lockInterruptibly(ModelControllerLock.java:48) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.ModelControllerImpl.acquireLock(ModelControllerImpl.java:548) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.OperationContextImpl.takeWriteLock(OperationContextImpl.java:416) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.OperationContextImpl.acquireControllerLock(OperationContextImpl.java:713) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.domain.controller.operations.coordination.OperationCoordinatorStepHandler.executeTwoPhaseOperation(OperationCoordinatorStepHandler.java:210)
[Host Controller] 	at org.jboss.as.domain.controller.operations.coordination.OperationCoordinatorStepHandler.execute(OperationCoordinatorStepHandler.java:120)
[Host Controller] 	at org.jboss.as.domain.controller.operations.coordination.PrepareStepHandler.execute(PrepareStepHandler.java:94)
[Host Controller] 	at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:607) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:485) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:282) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:277) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:231) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:137) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:173) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$300(ModelControllerClientOperationHandler.java:105) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:125) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:121) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.6.0_45]
[Host Controller] 	at javax.security.auth.Subject.doAs(Subject.java:396) [rt.jar:1.6.0_45]
[Host Controller] 	at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:94) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:121) [jboss-as-controller-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.protocol.mgmt.AbstractMessageHandler$2$1.doExecute(AbstractMessageHandler.java:283) [jboss-as-protocol-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at org.jboss.as.protocol.mgmt.AbstractMessageHandler$AsyncTaskRunner.run(AbstractMessageHandler.java:504) [jboss-as-protocol-7.3.0.Final-redhat-SNAPSHOT.jar:7.3.0.Final-redhat-SNAPSHOT]
[Host Controller] 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_45]
[Host Controller] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_45]
[Host Controller] 	at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
[Host Controller] 	at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final-redhat-1.jar:2.1.1.Final-redhat-1]

Therefore, reopening.

Comment 4 Ladislav Thon 2013-11-12 14:47:27 UTC
I'm proposing a blocker. This is big.

Comment 9 Ladislav Thon 2013-11-13 07:42:27 UTC
I built the current EAP "upstream" branch which has the fix, and I can confirm that the issue is indeed fixed. Please take this as a preliminary feedback; once we get official build, we will provide official QA statement.

Comment 10 Ladislav Thon 2013-11-18 10:26:57 UTC
Verified with EAP 6.2.0.CR2 preview.


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