Re: Internal connection fatal error
From: Angel Saenz-Badillos[MS] (angelsa_at_online.microsoft.com)
Date: 08/03/04
- Next message: Coding ADO in VB.Net environment: "Re: Coding ADO in VB.Net environment"
- Previous message: William Ryan eMVP: "Re: crystal reports error"
- In reply to: Max Metral: "Re: Internal connection fatal error"
- Messages sorted by: [ date ] [ thread ]
Date: Tue, 3 Aug 2004 16:42:38 -0700
Max,
Can you verify the connection number with the server side performance
counters? The client side counters are unfortunately next to useless because
of this: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q314429
-- Angel Saenz-Badillos [MS] Managed Providers This posting is provided "AS IS", with no warranties, and confers no rights.Please do not send email directly to this alias. This alias is for newsgroup purposes only. I am now blogging about ADO.NET: http://weblogs.asp.net/angelsb/ "Max Metral" <memetral@hotmail.com> wrote in message news:Oe39FgaeEHA.2544@TK2MSFTNGP10.phx.gbl... > Another note... I was monitoring perf when this error occurred. The DB CPU > went through the roof, and other connections failed. So here's my newest > flaky theory: > > 1) A "fatal error" happens, because of some bug somewhere, probably MSFTs in > ADO.Net, but who knows. > 2) The connection pool gets tossed out and rebuilt > 3) Everybody and their mother tries to connect to the db > 4) The db CPU gets pegged > 5) Goto step 1. > > One thing bolstering this theory: The perf counter "SqlClient: Current # > pooled and nonpooled connections" on one of the web servers reads 415, even > though there are only 30 conns to the db overall. > > "Max Metral" <memetral@hotmail.com> wrote in message > news:epyenbaeEHA.2852@tk2msftngp13.phx.gbl... > > I like this error even less. Anything interesting on this: > > > > MESSAGE: A severe error occurred on the current command. The results, if > > any, should be discarded. > > > > SOURCE: .Net SqlClient Data Provider > > > > STACKTRACE: at > > System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior > cmdBehavior, > > RunBehavior runBehavior, Boolean returnStream) > > > > at System.Data.SqlClient.SqlCommand.ExecuteReader() > > > > "Angel Saenz-Badillos[MS]" <angelsa@online.microsoft.com> wrote in message > > news:%236dTxqLeEHA.720@TK2MSFTNGP11.phx.gbl... > > > Max, > > > I believe from your description that you are running into Q814114. > Please > > > contact PSS directly for the fix > > > > > > http://support.microsoft.com/default.aspx?scid=/support/contact/default.asp > > > (this is a free call). > > > > > > The bug addressed by this QFE is almost exactly what you describe, a > dirty > > > connection gets in the pool. This only repros when the network you are > > using > > > is high traffic or high latency, this forces the network libraries to > > > include multiple TDS Packets per read. Normally on connection close we > > clean > > > the data waiting on the connection, there is a bug where we fail to > clean > > up > > > multiple packet TDS under certain conditions. > > > > > > I apologize for the obvious pain this is causing, let me know if this > does > > > not fix your problem. > > > -- > > > Angel Saenz-Badillos [MS] Managed Providers > > > This posting is provided "AS IS", with no warranties, and confers no > > > rights.Please do not send email directly to this alias. > > > This alias is for newsgroup purposes only. > > > I am now blogging about ADO.NET: http://weblogs.asp.net/angelsb/ > > > > > > > > > > > > > > > "Max Metral" <memetral@hotmail.com> wrote in message > > > news:OCIXOr1dEHA.3864@TK2MSFTNGP10.phx.gbl... > > > > LAN connection, which isn't especially loaded (.27% according to > > perfmon). > > > > The pool stabilizes at about 80 connections under heavy load, although > I > > > > just got one of these errors with 10 in the pool. I also wonder > whether > > > > it's some sort of "dirty" connection in the pool, is this possible? > > i.e. > > > > something like: > > > > > > > > 1) Expensive query in web page > > > > 2) user hits stop, recordset still "in" the connection > > > > 3) connection goes back in pool > > > > 4) another thread gets conn > > > > 5) conn is in weird state, all bets off (also would explain errors > like > > > > missing columns, sort of) > > > > > > > > I realize this kind of diagnosis is indistinguishable from guessing, > but > > > you > > > > never know > > > > > > > > "William (Bill) Vaughn" <billvaRemoveThis@nwlink.com> wrote in message > > > > news:OqP135xdEHA.384@TK2MSFTNGP10.phx.gbl... > > > > > Turn on Perfmon and watch the connection pool. Is it constantly > > growing > > > > over > > > > > time or does it flatten out after a few minutes under load? Is the > > > network > > > > > stable? Are you connecting over a LAN, WAN or web? If you lose a > > > > connection > > > > > due to IO problems on the wire, you can get this type of exception. > > > > > > > > > > -- > > > > > ____________________________________ > > > > > William (Bill) Vaughn > > > > > Author, Mentor, Consultant > > > > > Microsoft MVP > > > > > www.betav.com > > > > > Please reply only to the newsgroup so that others can benefit. > > > > > This posting is provided "AS IS" with no warranties, and confers no > > > > rights. > > > > > __________________________________ > > > > > > > > > > "Max Metral" <memetral@hotmail.com> wrote in message > > > > > news:OPsOqrmdEHA.3212@TK2MSFTNGP12.phx.gbl... > > > > > > I've seen other posts about such errors, but never a solution. It > > > seems > > > > > to > > > > > > appear randomly under load. We are pretty vigilant about "using" > > > > > > IDataReader's and Connections, so it's pretty unlikely that we're > > > doing > > > > > > something outwardly wrong that would excuse this sort of behavior. > > > The > > > > > > stack is: > > > > > > > > > > > > TARGETSITE: System.Data.SqlClient.SqlDataReader > > > > > > ExecuteReader(System.Data.CommandBehavior, > > > > > > System.Data.SqlClient.RunBehavior, Boolean) > > > > > > > > > > > > STACKTRACE: at > > > > > > System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior > > > > > cmdBehavior, > > > > > > RunBehavior runBehavior, Boolean returnStream) > > > > > > at System.Data.SqlClient.SqlCommand.ExecuteReader() > > > > > > at Web.MyPage.Page_Load(Object sender, EventArgs e) > > > > > > <removed by me> > > > > > > > > > > > > Perhaps related, we also see random errors like this about columns > > we > > > > KNOW > > > > > > exist in recordsets that are being returned: > > > > > > > > > > > > MESSAGE: EventId > > > > > > SOURCE: System.Data > > > > > > TARGETSITE: Int32 GetOrdinal(System.String) > > > > > > STACKTRACE: at > System.Data.Common.FieldNameLookup.GetOrdinal(String > > > > > > fieldName) > > > > > > at System.Data.SqlClient.SqlDataReader.GetOrdinal(String name) > > > > > > at MyObject..ctor(IDataReader eventReader, EventData eventData) > > > > > > <removed by me> > > > > > > > > > > > > This is definitely unacceptable behavior from ADO, SQL Server, or > > > > both... > > > > > No > > > > > > code that an end user writes in a managed language should be able > to > > > > > create > > > > > > this kind of untraceable havoc. > > > > > > > > > > > > Any thoughts? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
- Next message: Coding ADO in VB.Net environment: "Re: Coding ADO in VB.Net environment"
- Previous message: William Ryan eMVP: "Re: crystal reports error"
- In reply to: Max Metral: "Re: Internal connection fatal error"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|