[jboss-jira] [JBoss JIRA] (WFLY-3396) NPE in TimerResourceDefinition

Serge Mürset (JIRA) issues at jboss.org
Fri May 23 04:36:59 EDT 2014


Serge Mürset created WFLY-3396:
----------------------------------

             Summary: NPE in TimerResourceDefinition
                 Key: WFLY-3396
                 URL: https://issues.jboss.org/browse/WFLY-3396
             Project: WildFly
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Application Client, Remoting
    Affects Versions: 8.1.0.CR2
         Environment: JDK 1.7.0_55
MacOSX
PostgreSQL 9.1
Wildfly 8.1.0.CR2
Arquillian 1.1.2.Final-wildfly-1
arquillian-protocol-servlet 1.1.2.Final-wildfly-1
wildfly-arquillian-container-remote 8.1.0.CR2
            Reporter: Serge Mürset
            Assignee: Stuart Douglas


I am experiencing race conditions when running test remotely from Arquillian to Wildfly 8.1.0.CR2. In 2 of 3 Cases i get a NPE in Wildfly in relation to some TimerService EJB.

Stacktrace:
{code}
10:08:56,169 INFO  [org.jboss.as.server] (management-handler-thread - 1) JBAS018559: Deployed "core-dist-0.6.ear" (runtime-name : "core-dist-0.6.ear")
10:08:58,102 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 2) JBAS014612: Operation ("read-attribute") failed - address: ([
    ("deployment" => "core-dist-0.6.ear"),
    ("subdeployment" => "core.jar"),
    ("subsystem" => "ejb3"),
    ("singleton-bean" => "FileDeploymentScanner"),
    ("service" => "timer-service"),
    ("timer" => "53ca8249-b0a1-42ab-810b-abad39cb3d19")
]): java.lang.NullPointerException
	at org.jboss.as.ejb3.subsystem.deployment.TimerResourceDefinition$10.readAttribute(TimerResourceDefinition.java:268)
	at org.jboss.as.ejb3.subsystem.deployment.TimerResourceDefinition$AbstractReadAttributeHandler.executeRuntime(TimerResourceDefinition.java:364)
	at org.jboss.as.ejb3.subsystem.deployment.TimerResourceDefinition$AbstractTimerHandler$1.execute(TimerResourceDefinition.java:330)
	at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:606) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:484) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.controller.AbstractOperationContext.completeStepInternal(AbstractOperationContext.java:281) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:276) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:271) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:145) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:199) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$300(ModelControllerClientOperationHandler.java:130) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:150) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:146) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_55]
	at javax.security.auth.Subject.doAs(Subject.java:415) [rt.jar:1.7.0_55]
	at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:94) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:146) [wildfly-controller-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.protocol.mgmt.AbstractMessageHandler$2$1.doExecute(AbstractMessageHandler.java:283) [wildfly-protocol-8.1.0.CR2.jar:8.1.0.CR2]
	at org.jboss.as.protocol.mgmt.AbstractMessageHandler$AsyncTaskRunner.run(AbstractMessageHandler.java:504) [wildfly-protocol-8.1.0.CR2.jar:8.1.0.CR2]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_55]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_55]
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_55]
	at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.1.Final.jar:2.1.1.Final]
{code}

The arquillian test prints:
{code}

com.ieffects.core.integration.ImportTest STANDARD_ERROR
    May 23, 2014 10:08:49 AM org.xnio.Xnio <clinit>
    INFO: XNIO version 3.2.2.Final
    May 23, 2014 10:08:49 AM org.xnio.nio.NioXnio <clinit>
    INFO: XNIO NIO Implementation Version 3.2.2.Final
    May 23, 2014 10:08:49 AM org.jboss.remoting3.EndpointImpl <clinit>
    INFO: JBoss Remoting version 4.0.3.Final
    May 23, 2014 10:08:58 AM org.jboss.as.arquillian.container.ManagementClient checkSuccessful
    ERROR: Operation {
        "operation" => "read-resource",
        "recursive" => "true",
        "address" => undefined
    } did not succeed. Result was {
        "outcome" => "failed",
        "result" => {
            "management-major-version" => 2,
            "management-micro-version" => 0,
            "management-minor-version" => 1,
            "name" => "cust",
            "namespaces" => [],
            "product-name" => undefined,
            "product-version" => undefined,
            "profile-name" => undefined,
            "release-codename" => "Kenny",
            "release-version" => "8.1.0.CR2",
            "schema-locations" => [],
            "core-service" => {
                "management" => {
                    "access" => {
                        "authorization" => {
... the complete wildfly configuration...
        },
        "rolled-back" => true
    }
{code}

The TimerService is somewhat special, it schedules the times itself (No Schedule annotation. Simplified it looks like this:
{code}
@ConcurrencyManagement(ConcurrencyManagementType.BEAN)
@Singleton
@Startup
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public class MyTimerService {

	@Resource
	private TimerService _timerService;

	/**
	 * Scans and deploys files according to configuration.
	 */
	@Timeout
	public void handleClick() {
		System.out.println("handle click");
	}

	/**
	 * Initializes the service.
	 */
	@PostConstruct
	public void startup() {
		System.out.println("Starting timer service");
		_timerService.createSingleActionTimer(10000, new TimerConfig("FileDeploymentScanner", false));
		try {
			Thread.sleep(10000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("Started timer service");
	}

}
{code}

What is happening, is, the arquillian client apparently tries to read complete wildfly configuration (dont know why), and during this step it fails to do so. I failed to write reproducer ear/app. I can't release my closed source though which produces this error. But hopefully, this NPE is easy to fix. 



--
This message was sent by Atlassian JIRA
(v6.2.3#6260)



More information about the jboss-jira mailing list