You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Bartosz Baranowski (JIRA)" <ji...@apache.org> on 2016/03/25 12:16:25 UTC

[jira] [Updated] (ARTEMIS-459) ActiveMQActivation start/shutdown sequence may cause NPE

     [ https://issues.apache.org/jira/browse/ARTEMIS-459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bartosz Baranowski updated ARTEMIS-459:
---------------------------------------
    Affects Version/s: 1.1.0

> ActiveMQActivation start/shutdown sequence may cause NPE
> --------------------------------------------------------
>
>                 Key: ARTEMIS-459
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-459
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>    Affects Versions: 1.1.0
>            Reporter: Bartosz Baranowski
>
> It is possible to trigger NPE with resource activation.
> If MDB is deployed without proper queue, AMQ dumps:
> {quote}
> 15:12:22,474 INFO  [org.apache.activemq.artemis.ra] (default-threads - 6) AMQ151000: awaiting topic/queue creation queue/HELLOWORLDMDBQueue123
> 15:12:24,480 INFO  [org.apache.activemq.artemis.ra] (default-threads - 6) AMQ151001: Attempting to reconnect org.apache.activemq.artemis.ra.inflow.ActiveMQActiv
> ationSpec(ra=org.apache.activemq.artemis.ra.ActiveMQResourceAdapter@78712571 destination=queue/HELLOWORLDMDBQueue123 destinationType=javax.jms.Queue ack=Auto-ac
> knowledge durable=false clientID=null user=null maxSession=15)
> {quote}
> and starts retry cycle - in which it set up everything and than calls "teardown" on connection failure(iirc).
> If some other entity call "teardown" it will cause NPE, since instance variables are not initialized due to previous teardown call from retry section:
> {quote}
> ava.lang.NullPointerException
>         at org.jboss.as.server.suspend.SuspendController.suspend(SuspendController.java:72)
>         at org.jboss.as.server.operations.ServerSuspendHandler$1.execute(ServerSuspendHandler.java:117)
>         at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:890)
>         at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:659)
>         at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:370)
>         at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1344)
>         at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:392)
>         at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:217)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:208)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$300(ModelControllerClientOperationHandler.java:130)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:152)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:148)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:422)
>         at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:92)
>         at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:148)
>         at org.jboss.as.protocol.mgmt.AbstractMessageHandler$ManagementRequestContextImpl$1.doExecute(AbstractMessageHandler.java:363)
>         at org.jboss.as.protocol.mgmt.AbstractMessageHandler$AsyncTaskRunner.run(AbstractMessageHandler.java:472)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>         at java.lang.Thread.run(Thread.java:745)
>         at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> {quote}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)