FIX: Infinite Loop During Full-Text Catalog Population (323038)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)

This article was previously published under Q323038
BUG #: 355725 (SHILOH_BUGS)

SYMPTOMS

SQL Server allows full-text population of documents that are stored in the database through filter DLLs that can interpret the document file format and expose the data through the IFilter interface. If the data that is being indexed includes documents with unusually large property sections (more than 16 KB), the full-text search (FTS) gatherer process may become stuck in an infinite loop. In this case, you will see the following symptoms after you start the catalog population:
  • CPU utilization will remain at 70 percent, or higher, for the Mssearch.exe process on a single CPU. The Mssdmn.exe daemon process will also be running and will use a smaller percentage of CPU time.

  • Population will not progress beyond the point of the error, and will never complete. For example, if you query the FULLTEXTCATALOGPROPERTY function in Transact-SQL, you will find that the PopulateStatus property remains at 1 or 6 ("population in progress") indefinitely, and the ItemCount property and the IndexSize property never increase.
One example of document properties is the ability of Microsoft Word to store meta data about a document such as author, and creation time and date, inside the document but separate from the document body. This problem may be exposed when a document's properties are larger than 16 KB.

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How To Obtain the Latest SQL Server 2000 Service Pack

NOTE: The following hotfix was created before the release of Microsoft SQL Server 2000 Service Pack 3.

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
   Date          Time    Version     Size            File name
   ---------------------------------------------------------------

   10-May-2002   22:18   8.00.0626   184,908 bytes   Sqlfth75.dll     
				
NOTE: Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
This problem was first corrected in Microsoft SQL Server 2000 Service Pack 3.

MORE INFORMATION

Another issue, which is similar to the one discussed in this article, is described in the following Microsoft Knowledge Base article:

323039 FIX: Full-Text Search Population of a Word Document Stored in SQL Server Causes CPU Spin with SQL Server 2000 Service Pack 2

You can use the following points to distinguish the issue described in Q323039 from the issue discussed in this article:

  • The issue in Q323039 only appears on SQL Server 2000 Service Pack 2, while this issue may appear on any build of SQL Server 2000 up to and including SQL Server 2000 Service Pack 2.

  • If you are experiencing the issue described in this article, the catalog population will never complete. If you experience the issue described in Q323039, the population may run several hours longer than it should; however, MSSearch will eventually timeout and cancel the population.

  • In this issue, the CPU utilization for the Mssearch.exe process will be much higher than the CPU utilization for Mssdmn.exe. These roles are reversed for the issue described in Q323039.

Modification Type:MinorLast Reviewed:9/27/2005
Keywords:kbHotfixServer kbQFE kbbug kbfix kbSQLServ2000preSP3fix KB323038