IO Completion Listener Worker Appears To Be Non-yielding Message
Aug 3, 2006
We are using SQL Server 2005 (not on SP1), and keep getting the following message in the SQL Server log:
IO Completion Listener (0x15e8) Worker 0x00B7E0E8 appears to be non-yielding on Node 0. Approx CPU Used: kernel 0 ms, user 0 ms, Interval: 35092.
After receiving this message, the server slows down considerably and we receive numerous messages saying:
SQL Server has encountered 61 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [xxxxx.MDF] in database [xxxx] (22). The OS file handle is 0x00000CDC. The offset of the latest long I/O is: 0x000000fa21a000
I have not been able to find any documentation or explanation of what the IO Completion Listener message is about or how to correct whatever problem is causing it.
We are running SQL Server 2000 SP3 + security patches on Windows 2000 Advance Server.
After we did the security updates released before Jan 8th,
We are getting the below error 2 times within a month and the sql server is not responding after this error. After rebooting the server, it responds and works normally.
please give me a solution for this
2005-02-13 07:16:22.54 server Error: 17883, Severity: 1, State: 0 2005-02-13 07:16:22.54 server Process 89:0 (12a68) UMS Context 0x129E1EE8 appears to be non-yielding on Scheduler 0.
2005-02-13 07:16:26.27 server Stack Signature for the dump is 0x00000000 2005-02-13 07:16:26.27 server Error: 17883, Severity: 1, State: 0 2005-02-13 07:16:26.27 server Process 86:0 (1418c) UMS Context 0x12A36D98 appears to be non-yielding on Scheduler 5.
I have had an underwhelming amount of success hunting down the sourceof this error and am hoping that someone here may have some insight.Error logged in the event log:Source: MSSQLSERVERCategory: (2)EVENT ID: 17887Description: IO Completion Listener (0x754) Worker 0x00FEC0E8 appearsto be non-yielding on Node 1. Approx CPU Used: kernel 0 ms, user 0 ms,Interval: 15187.Immediately followed by 100% CPU utilization. The server remains ping-able and I can telnet to the SQL port, but it is otherwise effectivelyunresponsive (queries timeout, RDP times out, etc.). This is alsologged in the SQL error log:2008-03-19 15:52:37.80 Server Using 'dbghelp.dll' version '4.0.5'2008-03-19 15:52:46.80 Server **Dump thread - spid = 0, PSS =0x00000000, EC = 0x000000002008-03-19 15:52:46.80 Server ***Stack Dump being sent to D:Microsoft SQL ServerMSSQL.3MSSQLLOGSQLDump0004.txt2008-03-19 15:52:46.80 Server *************************************************** *****************************2008-03-19 15:52:46.80 Server *2008-03-19 15:52:46.80 Server * BEGIN STACK DUMP:2008-03-19 15:52:46.80 Server * 03/19/08 15:52:46 spid 02008-03-19 15:52:46.80 Server *2008-03-19 15:52:46.80 Server * Non-yielding IOCP Listener2008-03-19 15:52:46.80 Server *2008-03-19 15:52:46.80 Server *************************************************** *****************************2008-03-19 15:52:46.80 Server *-------------------------------------------------------------------------------2008-03-19 15:52:46.80 Server * Short Stack Dump2008-03-19 15:58:13.09 Server Stack Signature for the dump is0x000000062008-03-19 16:03:40.94 Server IO Completion Listener (0x730)Worker 0x00A060E8 appears to be non-yielding on Node 0. Approx CPUUsed: kernel 0 ms, user 0 ms, Interval: 15187.2008-03-19 16:06:10.47 Server Timeout waiting for external dumpprocess 6016.2008-03-19 16:06:10.47 Server IO Completion Listener (0x754)Worker 0x00FEC0E8 appears to be non-yielding on Node 1. Approx CPUUsed: kernel 0 ms, user 0 ms, Interval: 15187.2008-03-19 16:17:34.51 Server IO Completion Listener (0x754)Worker 0x00FEC0E8 appears to be non-yielding on Node 1. Approx CPUUsed: kernel 0 ms, user 0 ms, Interval: 15187.The server is Windows 2003 SP2 (32bit), dual dual-core AMD opteronprocessors, 8GB RAM, RAID 10. /3GB and /PAE are enabled in boot.ini."Lock pages in memory" has been granted to the account SQL runs as.SQL Server is 2005 Standard Edition SP1 (32bit). "Use AWE to allocatememory" is enabled. Min and max memory are set to 5GB.If there is any other info you think may be helpful introubleshooting, please let me know. Any insight you've had into thisor similar problem would be appreciated. Thanks in advance.
The problem is as follows. SQL Express 2008 R2, backup is made by the means of bat file and sp. Need to have a table that would hold columns like 'date_of_backup', 'duration', 'message' (the one that appears on 'messages' tab in the result area after backup completion/failure). This is an example of real message that I want to catch:
Server: Msg 911, Level 16, State 11, Line 1 Database 'not_existing_db' does not exist. Make sure that the name is entered correctly. Server: Msg 3013, Level 16, State 1, Line 1 BACKUP DATABASE is terminating abnormally.
http://technet.microsoft.com/en-us/library/ms187024.aspx http://sqlblogcasts.com/blogs/thepremiers/archive/2007/05/17/max-worker-threads-configuration-in-sql-server-2005.aspx and this is kind-of related: http://arstechnica.com/news.ars/post/20070529-microsoft-exec-next-version-of-windows-to-be-fundamentally-redesigned.html
How do you know how many threads are being used and how many of those are being shared? Or whether they are all even being used? Are there PerfMon stats for this?
our sql 05 server running on 64 bit slowed down and became non-responsive after getting this initial message Non-yielding Scheduler and then flooding the system with this message and become non-responsive.
Process 62:0:0 (0x11a0) Worker 0x00000001371DE1C0 appears to be non-yielding on Scheduler 0. Thread creation time: 12828422717058. Approx Thread CPU Used: kernel 0 ms, user 0 ms. Process Utilization 0%. System Idle 96%. Interval: 70050 ms.
i restarted the server as , i could not stop the services running , as the view processess window in sql server had become non responsive and i could not kill or even view the processes ...
no idea what caused it or how this can be stopped from happening again,
please advise if you have encountered this problem
Everyone,I have a data warehouse that at the moment includes around 2500hundred jobs. I am planning for a worst case scenario and would liketo increase the maximum number of sql server threads so that more jobscan execute simultaneously. Could this pose a problem and if so, atwhat number of maximum threads??Thanks!
that if you reduce your max worker threads it will enhance the ability to kill processes (spid###) which cannot be killed.
Recently, we have been experiencing runaway processes. If you run these processes continuously, eventually it will run without failure. We are investigating as to the reasons why this is happening. At this very moment I am sifting through the code to try and find an answer. Evidently, the process hangs and cannot be killed. We are then forced to down the server and I wish not to do this so often. If I reduce the max worker threads from it's current number now (512) to a lesser number. Will this help? and if so, by how much should this number be decreased.
SELECT TOP 100 PERCENT dbo._Options_Demographics.GradeLevel, dbo._Options_Demographics.Gender, dbo._Options_Demographics.Ethnicity, dbo._Options_Demographics.Age, SUM(dbo._Options_Demographics.Enrollment) AS Enrollment, dbo._Options_Demographics.OptionsYear, dbo._Options_Demographics.OptionsMonth FROM dbo._Options_Confirmed INNER JOIN dbo._Options_Demographics ON dbo._Options_Demographics.DistrictCode = dbo._Options_Confirmed.DistrictCode GROUP BY dbo._Options_Demographics.GradeLevel, dbo._Options_Demographics.Gender, dbo._Options_Demographics.Ethnicity, dbo._Options_Demographics.Age, dbo._Options_Demographics.OptionsYear, dbo._Options_Demographics.OptionsMonth ORDER BY dbo._Options_Demographics.OptionsYear, dbo._Options_Demographics.OptionsMonth, dbo._Options_Demographics.GradeLevel, dbo._Options_Demographics.Gender, dbo._Options_Demographics.Ethnicity, dbo._Options_Demographics.Age
which returns this data (the enrollment value is 4 times the correct value) grade gender eth ageenrollyearmonth 8FemaleBlack1618112003December 8FemaleBlack1716212003December 8FemaleBlack187932003December 8FemaleBlack18P2872003December
If I remove the sum function and manually add, my totals are correct ... SELECT TOP 100 PERCENT _Options_Demographics.GradeLevel, _Options_Demographics.Gender, _Options_Demographics.Ethnicity, _Options_Demographics.Age, _Options_Demographics.Enrollment, _Options_Demographics.OptionsYear, _Options_Demographics.OptionsMonth FROM _Options_Confirmed RIGHT OUTER JOIN _Options_Demographics ON _Options_Demographics.DistrictCode = _Options_Confirmed.DistrictCode GROUP BY _Options_Demographics.GradeLevel, _Options_Demographics.Gender, _Options_Demographics.Ethnicity, _Options_Demographics.Age, _Options_Demographics.Enrollment, _Options_Demographics.OptionsYear, _Options_Demographics.OptionsMonth ORDER BY _Options_Demographics.OptionsYear, _Options_Demographics.OptionsMonth, _Options_Demographics.GradeLevel, _Options_Demographics.Gender, _Options_Demographics.Ethnicity, _Options_Demographics.Age
I've been looking at this for too long and I know that is something very trivial ...
I don't even know where to begin looking... I have a page that loads multiple web user controls... I know I use one connection object class that is used in all my objects when executing the query (calling Stored Procedures). The problem is when the first page is rendered and each user control queries the database (SQL Server), it eventually slows down. In my controls, I use a lot of repeaters and internal queries per each repeater item. So I know it hits the database quite often.
Problem is when I look in SQL Server Enterprise Manager Process Info, I have multiple worker processes sleeping. My first thought is ASP.net is creating a new session connection (process) to the SQL Server? Why? How? What do I do to check either my code is creating the connection object properly. Thanks!
"Process 0:0:0 (0x1e10) Worker 0x00000006B6D341A0 appears to be non-yielding on Scheduler 13. Thread creation time: 12906028806348. Approx Thread CPU Used: kernel 0 ms, user 0 ms. Process Utilization 13%. System Idle 84%. Interval: 70189 ms."
Is it better to run the profiler or performan counter?
What are the filters we have to select in the profiler to monitor the Sql server
Everyday between 18:00 and 20:00 nearly 1000 PDA Subsriber anonymously synchronise via Merge Replication and at least two time he have the error :
IIS Worker Process Faulting application w3wp.exe, version 6.0.3790.1830, faulting module sscerp20.dll, version 2.0.7331.0, fault address 0x000110f4.
And subscriber which synchronising meanwhile becomes suspect.
Can someone offer a suggestion as to the cause of and correction for this error?
Thanks,
Hakan G
Here is some details about our system:
Client Side OS: Windows Mobile 2003 4.21.1088 DB: SQL CE 2.0 Microsoft SQL Server CE (ssce20.dll) 2.00.4415.0 Microsoft SQL Server CE Client Agent (ssceca20.dll) 2.00.4415.0 Development Tools: VB.NET 2003 Service Pack: .NET Compact Framework 1.0 SP3
Server Side OS: Microsoft 2003 SP1 Internet Information Services (INETINFO.EXE) 6.0.3790.1830 (srv03_sp1_rtm.050324-1447) IIS Worker Process (w3wp.exe) 6.0.3790.1830 (srv03_sp1_rtm.050324-1447) HW:IBM XSERIES_346 Intel(R) Xeon(TM) CPU 3.60GHZ (2CPU) 5,00 GB RAM DB: SQL CE 2.0 DB:SQL Server Standart Edition 8.00.2039(SP4)
SQL CE Server 2.0 Microsoft SQL Server CE Server Agent (sscesa20.dll) 2.00.7331.0 Microsoft SQL Server CE Replication Provider (sscerp20.dll) 2.00.7331.0
I've applied SP3 to a 2008 R2 instance in order to solve non yielding scheduler errors. Â However, I just had another one after applying the SP. Â
Select @@Version: 10.50.6000.34.
The minidump generated shows this stack trace, which unfortunately, did not point me to a specific bug.
0:039> ~~[0xe30]s sqlservr!CSqlHandleList::FResize+0x11a: 00000000`022c2b26 498b4108     mov   rax,qword ptr [r9+8] ds:00000000`a4c26088=???????????????? 0:039> k
Just started looking into Assemblies within SQL Server in the hope of creating a multi-threaded application and when writing a basic test assembly I came across the following problem...
When I create a worker thread within my assembly I am unable to do the following in my newly created thread:
Stop on a breakpoint in VS2005 Use Debug.Writeline to output to the output window
I know the thread is running as I am able to write to the EventLog, but VS2005 seems to be unaware of any thread other than the main SQL server thread.
If anyone could tell me whether there it is possible to debug non-SQL server threads, whether I am doing something wrong, or whether I should be doing things differently that would be great!
Thanks in advance for any help!!
The code is as follows (apologies as its not very well written!):
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
using System.Threading;
using System.Diagnostics;
public partial class StoredProcedures
{
/// <summary>
/// This stored procedure starts the comms
/// </summary>
[Microsoft.SqlServer.Server.SqlProcedure]
public static void StartComms()
{
try
{
// Output some debug output to show the thread is running
Debug.WriteLine("Comms is starting");
// Create the thread to run in the main thread class
Thread zThread = new Thread(new ThreadStart(ThreadFunction));
// Start the thread running
zThread.Start();
// Sleep to let the other one run
Thread.Sleep(2000);
// Output some debug output to show the thread is running
Debug.WriteLine("Comms is about to wait for thread to finish");
// Wait for the thread to complete
zThread.Join();
// Output some debug output to show the thread is running
Debug.WriteLine("Comms is ending");
}
catch
{
throw;
}
}
/// <summary>
/// The main thread function
/// </summary>
public static void ThreadFunction()
{
try
{
// Flag to keep thread running
bool bRunning = true;
// While the thread is running
while (bRunning == true)
{
// Output some debug output to show the thread is running
Hi, I'm running an application on a server which grabs data from a database table on another server using SqlConnection, SqlDataAdapter and DataSet. The application then updates every row in that DataSet's DataTable and the updates are saved back using DataAdapter. The code is pretty much straightforward code that you would find on MSDN documentation for using DataSets. The table contains a little over a million rows. When I run the application, I get an error saying the Server Application is not available. Upon looking into the application event log, I get this message. aspnet_wp.exe was recycled because memory consumption exceeded the 306 MB (60 percent of available RAM) How do I get round this? I thought DataSets were supposed to handle large datatables comfortably without having memory issues. -Thanks
Hi all, On our production server once in a while i found the following dump:
---> SQLDump0005.log Using 'dbghelp.dll' version '4.0.5' 2008-05-14 06:33:28.65 Server **Dump thread - spid = 0, PSS = 0x0000000000000000, EC = 0x0000000000000000 2008-05-14 06:33:28.67 Server ***Stack Dump being sent to E:Microsoft SQL ServerMSSQL.1MSSQLLOGSQLDump0005.txt 2008-05-14 06:33:28.67 Server * ******************************************************************************* 2008-05-14 06:33:28.67 Server * 2008-05-14 06:33:28.67 Server * BEGIN STACK DUMP: 2008-05-14 06:33:28.67 Server * 05/14/08 06:33:28 spid 0 2008-05-14 06:33:28.67 Server * 2008-05-14 06:33:28.67 Server * Non-yielding Resource Monitor 2008-05-14 06:33:28.67 Server * 2008-05-14 06:33:28.67 Server * ******************************************************************************* 2008-05-14 06:33:28.67 Server * ------------------------------------------------------------------------------- 2008-05-14 06:33:28.67 Server * Short Stack Dump 2008-05-14 06:33:28.88 Server Stack Signature for the dump is 0x00000000000003F3
I created a HelloWorld like example using InforPath 2007 and endpoint with SQL Server 2005. Very simple example.
I created a stored procedure that took in one parameter, a datetime field. This parameter is then inserted into a db table that has two columns, an id column and a datetime column.
I took the store procedure just discribed to create an endpoint. Cool. The WSDL is showing, I'm feeling good.
I go to InfoPath and make it so that submit a datetime to the webmethod associated with the endpoint. The data table shows one more row has been added and it is the datetime I sent from InfoPath. YEA!! I go to the Event View and see that I have an error message. The message is HTTP authenticaiton failed. [CLIENT: 10.8.2.26]. Bummer!!
This does not make sense to me. I am able to update the targeted database table but I get an exception. I do not like exceptions nor warnings without an explanation. Does anyone have an idea why this is happening?
I had to give up for the project I am currently working because of time constraints. But in the future, for out-of-the-box functionality for proof-of-concept/prototyping, I would like to use endpoints.
I have SQL Server 2000 SP3 and the default Code Page is:
I have a Table with a column of the type 'text'. In this column sometimes it's necessary introduce the euro symbol (€). Now, when we write this symbol, after the SQL Server show it with a '?'.
I tried change the column collation to 'Latin1_General_CI_AI', ‘SQL_Latin1_General_CP1_CI_AI’ and ‘SQL_Latin1_General_CP850_CI_AI’ but there is the same problem.
Here's what I did to a VS2005 Smart Device application.
Removed the reference to System.Data.SqlServerCe.dll. Set a reference to C:Program FilesMicrosoft SQL Server Compact Editionv3.1SDKinwce500 System.Data.SqlServerCe.dll. While it€™s loading in the emulator I notice that it appears to still be loading SQLCE3.0 instead of 3.1. Deploying 'C:Program FilesMicrosoft Visual Studio 8SmartDevicesSDKSQL ServerMobilev3.0wce500ARMV4isqlce30.ppc.wce5.armv4i.CAB' Deploying 'C:Program FilesMicrosoft Visual Studio 8SmartDevicesSDKSQL ServerMobilev3.0wce500ARMV4isqlce30.repl.ppc.wce5.armv4i.CAB' Deploying 'C:Program FilesMicrosoft Visual Studio 8SmartDevicesSDKSQL ServerMobilev3.0wce500ARMV4isqlce30.dev.enu.ppc.wce5.armv4i.CAB'
When I start "SQL Server Business Intelligence Development Studio" from the start menu it fires up Visual Studio 2005 with no SSIS project options. I appear to have it installed as the service is present in the Services control panel, and DTExecUI.exe and DTExec.exe are present, but there does not appear to be an integration with Visual Studio 2005. I have attempted to start up the SQLServer configuration application from the Add/Remove Programs control panel, however it always exits with an error. What do I need to do to get this running in Visual Studio 2005?
Okay, i'm learning VB.NET (and having quite a bit of fun with it). Well, I had the old beta version. Anyway, went away for a week and found I could no longer use it. Why?
"Beta period is over.".
Yeah, it sucks.
Well, I uninstalled it via the uninstaller. I upgraded my .NET framework, etc, and redownloaded VB.NET. Everything installed okay, save for the SQL server. It repeatedly fails.
I have hunted down and shot each component quite ruthlessly, but I don't know what beta component remains. I can't get it to install because it says I have beta components left.
And VB.NET works. Barely. I had to disable the hosting process, otherwise it gives me a message about an invalid binding handle. Not often that a Beta product works better than the production one.
The uninstall tool won't work for some reason. I'm this close to just reformatting.
I am new to Service Broker and Query Notification. I've used Books Online and the other help files to successfully create a class to subscribe and listen for mods to a table on a SqlServer 2005 (SP1 applied) server. My prototype worked exactly as expected.
However, when I put my code into production, the listener was calling my NotifyEvent() callback repeatedly, and without any changes being made to the table! Of course, I'd tested with a simple two column table and implemented with a more complex multi-column one. After some experimentation I discovered that the problem occured when the SELECT statement refrenced a "blob" column.
That is, the CREATE TABLE command included a column:
SqlServer called my NotifyEvent() continuously. If I removed the [Data] column from the select, then the code worked as I had tested. I also tried this on another table (fewer columns) that also had a [Data] defined similarly, and again the continuous notifications came. I've got a workaround because I also calculate a hash on the [Data] column, and I can "watch" the hash instead of the underlying [Data].
Oh, when I ask SSMS to script the table with the [Data] column it gives me:
I need some feedback on how this sql is perfroming a cast. I have used CAST before, but I amlooking at a stored procedure, and the CAST looks slightly different. Usually when I do acast, it is of the form CAST(ColumnName,DataType) but this cast is slightly different as theyappear to be using some type of template to cast with. Here is the code. I will put line numbers in for reference.
1 CREATE TABLE #Groups2 (PartyId uniqueidentifier)3 INSERT INTO #Groups (PartyId)4 SELECT PartyId5 FROM ttg_sfGroupsByPartyId(@PartyId)67 IF (@PortalId = CAST('00000000-0000-0000-0000-000000000000' AS uniqueidentifier) AND88 @TabId = CAST('00000000-0000-0000-0000-000000000000' AS uniqueidentifier))0 BEGIN Also just to let you know, the the values PartyId, and PortalId are GUIDS. So, I guess my question is, are they using a kind of template to format the data? So look at lines7 and 8. Are they using some type of template to signal the compiler, that the data will be of thatformat and will be seperated by dash symbols?
My @subject in an xp_sendmail job is appearing in the email subject where it's supposed to, but also as the first line of the body. Does anyone know of a way to disable this behavior?
I'm using VS2005 and I'm trying to create a report but two of the parameter, I think, have the same heirarchy? Well, I am getting this error when I go to view the report:
An error occurred during local report processing. An error has occurred during report processing. Query execution failed for data set 'dsWorkItemHistory' The System_State heirarchy already appears in the axis1 axis My problem is I want one parameter to be WorkItemType and another parameter to be WorkItemState. For WorkItemTypeParam I have:
Parameter: WorkItemTypeParam Dimension: Work Item Hierarchy: Work Item.Work Item Type Multi-Value with Default All For WorkItemState I have:
Parameter: WorkItemState Dimension: Work Item Hierarchy: Work Item.State Multi-Value with Default All My Dataset is:
All of my reports that are formatted 11x8.5 are outputting to PDF correctly. When I open the PDF in Adobe Acrobat, it appears in Landscape on the screen. However, when I click the print button, by default it is printing it in portrait. I can go to File-->Print Setup and change the orientation from Portrait to Landscape, but why doesn't it translate from the file orientation? This may just be a bug in the Adobe Acrobat software, but I want to make sure there isn't something I can do.
HiI am very new to SqlServer. I want to my java application, using JDBC,to connect to the SQLServer on port 1433 (Running on Windows NT). Howdo I configure it? I am using 2000 version of SQL Server.Thank you