You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Matthew Good (JIRA)" <ji...@apache.org> on 2011/06/28 23:20:28 UTC

[jira] [Created] (AMQNET-332) Rollback fails with Null Reference

Rollback fails with Null Reference
----------------------------------

                 Key: AMQNET-332
                 URL: https://issues.apache.org/jira/browse/AMQNET-332
             Project: ActiveMQ .Net
          Issue Type: Bug
          Components: NMS
    Affects Versions: 1.5.0
         Environment: Windows .NET client
            Reporter: Matthew Good
            Assignee: Jim Gomes


I call rollback several times and retries occur as expected.  At some point, the rollback fails and I no longer receive the message.  I would like to give information on how to produce this but it just happens randomly.  I'm hoping from the stack trace, you might have an idea of the cause.  

There are no errors logged on the server.  This error is on the client side:

Message: Unable to rollback transaction.
Stack:SessionExecutor.Dispatch => MessageConsumer.Dispatch => MessageListenerDelegate.OnMessage
System.NullReferenceException: Object reference not set to an instance of an object.
   at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.GetPriority(MessageDispatch message)
   at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.GetList(MessageDispatch md)
   at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.EnqueueFirst(MessageDispatch dispatch)
   at Apache.NMS.ActiveMQ.SessionExecutor.ExecuteFirst(MessageDispatch dispatch)
   at Apache.NMS.ActiveMQ.Session.Redispatch(MessageDispatchChannel channel)
   at Apache.NMS.ActiveMQ.MessageConsumer.Rollback()
   at Apache.NMS.ActiveMQ.MessageConsumer.MessageConsumerSynchronization.AfterRollback()
   at Apache.NMS.ActiveMQ.TransactionContext.AfterRollback()
   at Apache.NMS.ActiveMQ.TransactionContext.Rollback()
   at Apache.NMS.ActiveMQ.Session.DoRollback()
   at Apache.NMS.ActiveMQ.Session.Rollback()
   at Ipc.General.ActiveMQ.ActiveMqListenerBase.MessageListenerDelegate.OnMessage(IMessage message)


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (AMQNET-332) Rollback fails with Null Reference

Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQNET-332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13062137#comment-13062137 ] 

Timothy Bish commented on AMQNET-332:
-------------------------------------

Creating a NUnit test case that reproduces this would be helpful to us, I haven't seen such an error before.

> Rollback fails with Null Reference
> ----------------------------------
>
>                 Key: AMQNET-332
>                 URL: https://issues.apache.org/jira/browse/AMQNET-332
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.5.0
>         Environment: Windows .NET client
>            Reporter: Matthew Good
>            Assignee: Jim Gomes
>
> I call rollback several times and retries occur as expected.  At some point, the rollback fails and I no longer receive the message.  I would like to give information on how to produce this but it just happens randomly.  I'm hoping from the stack trace, you might have an idea of the cause.  
> There are no errors logged on the server.  This error is on the client side:
> Message: Unable to rollback transaction.
> Stack:SessionExecutor.Dispatch => MessageConsumer.Dispatch => MessageListenerDelegate.OnMessage
> System.NullReferenceException: Object reference not set to an instance of an object.
>    at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.GetPriority(MessageDispatch message)
>    at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.GetList(MessageDispatch md)
>    at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.EnqueueFirst(MessageDispatch dispatch)
>    at Apache.NMS.ActiveMQ.SessionExecutor.ExecuteFirst(MessageDispatch dispatch)
>    at Apache.NMS.ActiveMQ.Session.Redispatch(MessageDispatchChannel channel)
>    at Apache.NMS.ActiveMQ.MessageConsumer.Rollback()
>    at Apache.NMS.ActiveMQ.MessageConsumer.MessageConsumerSynchronization.AfterRollback()
>    at Apache.NMS.ActiveMQ.TransactionContext.AfterRollback()
>    at Apache.NMS.ActiveMQ.TransactionContext.Rollback()
>    at Apache.NMS.ActiveMQ.Session.DoRollback()
>    at Apache.NMS.ActiveMQ.Session.Rollback()
>    at Ipc.General.ActiveMQ.ActiveMqListenerBase.MessageListenerDelegate.OnMessage(IMessage message)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Closed] (AMQNET-332) Rollback fails with Null Reference

Posted by "Timothy Bish (Closed) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQNET-332?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timothy Bish closed AMQNET-332.
-------------------------------

    Resolution: Cannot Reproduce

I haven't been able to reproduce this.  If you find a test case that can show this happening I'd be happy to dig further but so far I can't create any scenarios where this happens.
                
> Rollback fails with Null Reference
> ----------------------------------
>
>                 Key: AMQNET-332
>                 URL: https://issues.apache.org/jira/browse/AMQNET-332
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.5.0
>         Environment: Windows .NET client
>            Reporter: Matthew Good
>            Assignee: Jim Gomes
>
> I call rollback several times and retries occur as expected.  At some point, the rollback fails and I no longer receive the message.  I would like to give information on how to produce this but it just happens randomly.  I'm hoping from the stack trace, you might have an idea of the cause.  
> There are no errors logged on the server.  This error is on the client side:
> Message: Unable to rollback transaction.
> Stack:SessionExecutor.Dispatch => MessageConsumer.Dispatch => MessageListenerDelegate.OnMessage
> System.NullReferenceException: Object reference not set to an instance of an object.
>    at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.GetPriority(MessageDispatch message)
>    at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.GetList(MessageDispatch md)
>    at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.EnqueueFirst(MessageDispatch dispatch)
>    at Apache.NMS.ActiveMQ.SessionExecutor.ExecuteFirst(MessageDispatch dispatch)
>    at Apache.NMS.ActiveMQ.Session.Redispatch(MessageDispatchChannel channel)
>    at Apache.NMS.ActiveMQ.MessageConsumer.Rollback()
>    at Apache.NMS.ActiveMQ.MessageConsumer.MessageConsumerSynchronization.AfterRollback()
>    at Apache.NMS.ActiveMQ.TransactionContext.AfterRollback()
>    at Apache.NMS.ActiveMQ.TransactionContext.Rollback()
>    at Apache.NMS.ActiveMQ.Session.DoRollback()
>    at Apache.NMS.ActiveMQ.Session.Rollback()
>    at Ipc.General.ActiveMQ.ActiveMqListenerBase.MessageListenerDelegate.OnMessage(IMessage message)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (AMQNET-332) Rollback fails with Null Reference

Posted by "Matthew Good (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/AMQNET-332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13064265#comment-13064265 ] 

Matthew Good commented on AMQNET-332:
-------------------------------------

I would love to create a unit test but I can't determine the cause.  If you look at the GetPriority method, there is only one possible place where a NRE could exist.  It seems like it lost track of the message.
This error is killing me because the message just hangs and doesn't get resent.

> Rollback fails with Null Reference
> ----------------------------------
>
>                 Key: AMQNET-332
>                 URL: https://issues.apache.org/jira/browse/AMQNET-332
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: NMS
>    Affects Versions: 1.5.0
>         Environment: Windows .NET client
>            Reporter: Matthew Good
>            Assignee: Jim Gomes
>
> I call rollback several times and retries occur as expected.  At some point, the rollback fails and I no longer receive the message.  I would like to give information on how to produce this but it just happens randomly.  I'm hoping from the stack trace, you might have an idea of the cause.  
> There are no errors logged on the server.  This error is on the client side:
> Message: Unable to rollback transaction.
> Stack:SessionExecutor.Dispatch => MessageConsumer.Dispatch => MessageListenerDelegate.OnMessage
> System.NullReferenceException: Object reference not set to an instance of an object.
>    at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.GetPriority(MessageDispatch message)
>    at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.GetList(MessageDispatch md)
>    at Apache.NMS.ActiveMQ.Util.SimplePriorityMessageDispatchChannel.EnqueueFirst(MessageDispatch dispatch)
>    at Apache.NMS.ActiveMQ.SessionExecutor.ExecuteFirst(MessageDispatch dispatch)
>    at Apache.NMS.ActiveMQ.Session.Redispatch(MessageDispatchChannel channel)
>    at Apache.NMS.ActiveMQ.MessageConsumer.Rollback()
>    at Apache.NMS.ActiveMQ.MessageConsumer.MessageConsumerSynchronization.AfterRollback()
>    at Apache.NMS.ActiveMQ.TransactionContext.AfterRollback()
>    at Apache.NMS.ActiveMQ.TransactionContext.Rollback()
>    at Apache.NMS.ActiveMQ.Session.DoRollback()
>    at Apache.NMS.ActiveMQ.Session.Rollback()
>    at Ipc.General.ActiveMQ.ActiveMqListenerBase.MessageListenerDelegate.OnMessage(IMessage message)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira