You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Scott Stanton (JIRA)" <ji...@apache.org> on 2008/09/08 19:59:52 UTC

[jira] Created: (AMQ-1930) NPE during shutdown of embedded activemq

NPE during shutdown of embedded activemq
----------------------------------------

                 Key: AMQ-1930
                 URL: https://issues.apache.org/activemq/browse/AMQ-1930
             Project: ActiveMQ
          Issue Type: Bug
          Components: Transport
    Affects Versions: 5.2.0
         Environment: revision 675393 of trunk, ActiveMQ 5.2.0
            Reporter: Scott Stanton


I received the following exception from the VMTransport thread when shutting down the broker:

{code}
Async error occurred: java.lang.NullPointerException
java.lang.NullPointerException
	at org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:542)
	at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:64)
	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292)
	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)
	at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
	at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:619)
{code}

The failure occurred at the following lines of code:
{code}
        TransportConnectionState cs = lookupConnectionState(connectionId);
        SessionState ss = cs.getSessionState(sessionId);
{code}

It appears that there is a race during shutdown where the connection state is discarded before the last consumer is removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1930) NPE during shutdown of embedded activemq

Posted by "Scott Stanton (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45546#action_45546 ] 

Scott Stanton commented on AMQ-1930:
------------------------------------

Not really.  It happens occasionally during our automated testing when
we shut down our server, but I haven't been able to force it to happen
on command.  I didn't see anything of note in the log prior to the
failure that would give any clues to the problem.  If you have a
suggestion for logging statements to add, I'd be happy to put them into
our system and see if we can collect some more details.




> NPE during shutdown of embedded activemq
> ----------------------------------------
>
>                 Key: AMQ-1930
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1930
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.2.0
>         Environment: revision 675393 of trunk, ActiveMQ 5.2.0
>            Reporter: Scott Stanton
>
> I received the following exception from the VMTransport thread when shutting down the broker:
> {code}
> Async error occurred: java.lang.NullPointerException
> java.lang.NullPointerException
> 	at org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:542)
> 	at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:64)
> 	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292)
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)
> 	at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
> 	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> 	at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
> 	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
> 	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> 	at java.lang.Thread.run(Thread.java:619)
> {code}
> The failure occurred at the following lines of code:
> {code}
>         TransportConnectionState cs = lookupConnectionState(connectionId);
>         SessionState ss = cs.getSessionState(sessionId);
> {code}
> It appears that there is a race during shutdown where the connection state is discarded before the last consumer is removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1930) NPE during shutdown of embedded activemq

Posted by "Eduardo Corral (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=47859#action_47859 ] 

Eduardo Corral commented on AMQ-1930:
-------------------------------------

Hi there

Happens to me with TcpTransport, also occasionally during embedded broker shutdown:

{noformat}
[ERROR][2008-12-04 13:11:48,770][ActiveMQ Transport: tcp:///127.0.0.1:37584][org.apache.activemq.broker.TransportConnection.Service] Async error occur
red: java.lang.NullPointerException
java.lang.NullPointerException
        at org.apache.activemq.broker.TransportConnection.processRemoveSession(TransportConnection.java:589)
        at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:62)
        at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
        at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
        at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
        at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
        at org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
        at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
        at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:203)
        at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
        at java.lang.Thread.run(Unknown Source)
{noformat}

> NPE during shutdown of embedded activemq
> ----------------------------------------
>
>                 Key: AMQ-1930
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1930
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.2.0
>         Environment: revision 675393 of trunk, ActiveMQ 5.2.0
>            Reporter: Scott Stanton
>             Fix For: 5.3.0
>
>
> I received the following exception from the VMTransport thread when shutting down the broker:
> {code}
> Async error occurred: java.lang.NullPointerException
> java.lang.NullPointerException
> 	at org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:542)
> 	at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:64)
> 	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292)
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)
> 	at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
> 	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> 	at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
> 	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
> 	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> 	at java.lang.Thread.run(Thread.java:619)
> {code}
> The failure occurred at the following lines of code:
> {code}
>         TransportConnectionState cs = lookupConnectionState(connectionId);
>         SessionState ss = cs.getSessionState(sessionId);
> {code}
> It appears that there is a race during shutdown where the connection state is discarded before the last consumer is removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (AMQ-1930) NPE during shutdown of embedded activemq

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-1930?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45545#action_45545 ] 

Gary Tully commented on AMQ-1930:
---------------------------------

is this easy to reproduce?

> NPE during shutdown of embedded activemq
> ----------------------------------------
>
>                 Key: AMQ-1930
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1930
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.2.0
>         Environment: revision 675393 of trunk, ActiveMQ 5.2.0
>            Reporter: Scott Stanton
>
> I received the following exception from the VMTransport thread when shutting down the broker:
> {code}
> Async error occurred: java.lang.NullPointerException
> java.lang.NullPointerException
> 	at org.apache.activemq.broker.TransportConnection.processRemoveConsumer(TransportConnection.java:542)
> 	at org.apache.activemq.command.RemoveInfo.visit(RemoveInfo.java:64)
> 	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292)
> 	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)
> 	at org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:104)
> 	at org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> 	at org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:205)
> 	at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122)
> 	at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
> 	at java.lang.Thread.run(Thread.java:619)
> {code}
> The failure occurred at the following lines of code:
> {code}
>         TransportConnectionState cs = lookupConnectionState(connectionId);
>         SessionState ss = cs.getSessionState(sessionId);
> {code}
> It appears that there is a race during shutdown where the connection state is discarded before the last consumer is removed.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.