activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothy Bish (JIRA)" <>
Subject [jira] Resolved: (AMQNET-132) Deadlock with acknowledgement
Date Fri, 15 May 2009 14:08:51 GMT


Timothy Bish resolved AMQNET-132.

    Resolution: Fixed

I've made the Consumer use an AtomicBoolean for the closed flag which reduces the contention
for the lock.  I wasn't able to reproduce this lockup however to this issue could be reopened
if the consumer still locks.

> Deadlock with acknowledgement
> -----------------------------
>                 Key: AMQNET-132
>                 URL:
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: ActiveMQ Client
>         Environment: Windows Quadcore machine, running Visual Studio 2008, and .NET 2.0
>            Reporter: Christian Gross
>            Assignee: Jim Gomes
>             Fix For: 1.1
> When I send and receive very large number of text based messages the code doing the receiving
will lock up. This behavior occurs when you use async or the IMessageConsumer.Read method.

> The problem is that when the Receive method is called it calls the CheckClosed. In the
method CheckClosed there is a lock(this) statement, and it is waiting for the lock to be released.
The problem is that the method Dispatch that also uses the same lock is deadlocked on something.
In specific the following line is the deadlock:
> ackSession.Connection.OneWay(ack);
> If I switch the session settings from AutoAcknowledge to ClientAcknowledge then I can
retrieve all of the messages without any deadlocks occurring.

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

View raw message