I think im experiencing the same problem, but in our case it did't start
until we upgraded to SQL-server 2005.
It also happens on a random basis, if i shutdown/restart all com+
application + reset IIS + run
system.data.sqlclient.sqlconnection.clearallpools(). The problem dissapears
for a while.
When it starts happening it does so randomly for every 10th request or so.
From the debug message it seams to try to execute a Transaction, but the
component does not have DTC Transactions. It seams like a connection i beeing
pulled from the connection pool with an invalid context.
The funny thing is that this worked fine with .net 2.0 and SQL-server 2000,
maybe Servicepack 1 for windows 2003 generated the problem?
Microsoft should really focus on correcting this or supply a workaround.
It's been a while since the release of .net 2.0 and SQL-server. Usually
microsoft are fast with information regarding issues like this but this time
they've not supplied anything on their web-pages.
Our application has 220 simulatanues users who used to be happy.. now they
are angry.
System.Exception: System.Data.SqlClient.SqlException: New request is not
allowed to start because it should come with valid transaction descriptor. at
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean
breakConnection) at
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,
Boolean breakConnection) at
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject
stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,
SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet
bulkCopyHandler, TdsParserStateObject stateObj) at
System.Data.SqlClient.TdsParser.TdsExecuteTransactionManagerRequest(Byte[]
buffer, TransactionManagerRequestType request, String transactionName,
TransactionManagerIsolationLevel isoLevel, Int32 timeout,
SqlInternalTransaction transaction, TdsParserStateObject stateObj) at
System.Data.SqlClient.SqlInternalConnectionTds.PropagateTransactionCookie(Byte[]
cookie) at System.Data.SqlClient.SqlInternalConnection.EnlistNull() at
System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx) at
System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction
transaction) at
System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction
transaction) at
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection
owningObject) at
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection
owningConnection) at
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory) at
System.Data.SqlClient.SqlConnection.Open() at
TRADEXLib.SQLUtil.CSqlDB.CreateNetConn(String app, Boolean async) at
TRADEXLib.SQLUtil.CSqlDB.CreateNetCmd() at
TRXOrders.CLogin.GetDepartmentID(String departmentName) at
TRXOrders.CLogin.GetDepartmentFromQube(String username) at
TRXOrders.CLogin.GetTradexUserIDFromQube(String QubeUserID, String GroupCode)
Server stack trace: at Microsoft.VisualBasic.ErrObject.Raise(Int32 Number,
Object Source, Object Description, Object HelpFile, Object HelpContext) at
TRXOrders.CLogin.GetTradexUserIDFromQube(String QubeUserID, String GroupCode)
at TRXOrders.Advent.Qube.CQube.GetQubeAccountManager(String QubeCustomerID,
String DefaultuserID) at
TRXOrders.Advent.Qube.CQube.UpdateClientFromQube(String QubeCustomerID,
String UserID) at
System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr
md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext,
Object[]& outArgs) at
System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle
md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext,
Object[]& outArgs) at
System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage
msg, Int32 methodPtr, Boolean fExecuteInContext) Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage
reqMsg, IMessage retMsg) at
System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,
Int32 type) at TRXOrders.Advent.Qube.CQube.UpdateClientFromQube(String
QubeCustomerID, String UserID) at tradex.wCustomer.FillForm()
Geraldo Thomaz Jr. said:
I hear them back, but they didn't find a solution or a workarround until that
moment. I am interacting with Microsoft via a support case, on the support
site.
I will copy your message to them.
Jeff Glenn said:
Did you ever hear back from MS?
Do you have a link to the bug? Is it on labs.* or somewhere where I can
follow its progress?
This is making me and MS look very bad with the client since this problem
existed in a CTP (every request) then went away in the Sept bits and then
came back (ocassionally-even worse) for RTM. In our case, we annecdotally
believe that network issues (address conflict, connection lost, timeout?,
etc.) lead to the problem.
Jeff Glenn
MS Partner [1264822]
Geraldo Thomaz Jr. said:
Hi Jeff,
We have posted a simple code reproducing the behavior to Microsoft. They
confirmed to be a issue in ASP.NET 2.0 and asked to wait for a couple of
weeks until they find a way to fix it.
Meanwhile, you can try to avoid this exception by garanteeing that your
application doen't raise any exception during a distributed transaction. Once
this happens, the "New request" exceptions pops up through all your
application until you restart the IIS.
Regards,
:
We haven't seen this since an IP address conflict was found on the network
so that may be the problem. I'll repost if it shows itself again. If this
is caused by an IP address conflict it is still a MS bug that the transaction
or connection was left in this state requiring an IIS restart to fix the
problem.
Jeff
:
Did you ever figure this out?
I just finished our migration from
Visual Studio Beta 2 and SQL Server Beta 2 to RTM
These have started poping up in our application as well. I haven't been
able to determine if there is a cause in our application since I don't see
any exceptions that preceed this error. However, once we start to get this
error it randomly continues until we restart the web service.
Our application uses
-web services and
-ServiceDomain.Enter/Leave logic
This error always occurs when we issue the command to SQL Server.
We have had issues with interim builds and transactions so this certainly
seems like it could be related.
Any help would be appreciated,
Jeff
:
I am getting the following error in my application:
New request is not allowed to start because it should come with valid
transaction descriptor.
This is happening under a very singular circustance:
I have just migrated to SQL server 2005 and ASP.NET 2.0.
It is not happening all the time. It happens occasionally in all my pages
that are working correctly, and once in a while, throw this kind of exception.
When it happens, it happens on the first Connection.Open of the page.
I am using Windows 2003 Enterprise.
Please, somebody help me. I trusted Microsoft, migrated all my systems and
now these errors are killing my application.
And the message is a kind of message that doesn`t give me any clue of what
is wrong.
Thanks a lot.