Warning for Microsoft.Data.SqlClient 2.1.3 and 3.0.0

Hi everyone,

We have discovered a bug in Microsoft.Data.SqlClient that affects DTC transactions on .NET Framework.

How to know if you are affected

You are affected if all of the following 4 points are true:

  1. You use one of these Particular Software packages:
  2. You use the Microsoft.Data.SqlClient package
  3. Your version for the Microsoft.Data.SqlClient package is either 2.1.3 or 3.0.0.
  4. You use distributed transactions

Problem

These versions of the Microsoft.Data.SqlClient package contain a bug in the DTC implementation that can cause threads to deadlock when a TransactionScope is disposed. This is not a database deadlock, but instead the in-memory thread locks up and cannot proceed past the point where the transaction is disposed.

We have raised an issue with Microsoft including steps to reproduce the issue. Microsoft has confirmed and reproduced the bug and promised to investigate.

What to do

Here is what you should do for the time being:

  1. If you have not upgraded past Microsoft.Data.SqlClient 2.1.2, don’t upgrade.
  2. If you have already upgraded to Microsoft.Data.SqlClient 2.1.3 or later, downgrade to version 2.1.2.

If you have any questions or concerns, please reach out to us at support@particular.net.

With thanks,

The team
in Particular