SMS: SMS_EXECUTIVE Exceptions Occur When Refreshing the Stored Procedure Cache (810465)



The information in this article applies to:

  • Microsoft Systems Management Server 2.0

SYMPTOMS

The Systems Management Server (SMS) SMS_EXECUTIVE service may cause an access violation when it is processing stored procedures from the SMS database. This may occur if the SMS site server is in the "(GMT+10:00) Canberra, Melbourne, Sydney" time zone. This problem may occur with various SMS components that include (but are not limited to) SMS Collection Evaluator (SMS_COLLECTION_EVALUATOR) and SMS Inventory Dataloader (SMS_INVENTORY_DATA_LOADER). When this problem occurs, the last log entry in the affected component's log file is:Refreshing procedure cache...

CAUSE

This problem is caused by a date that is not valid in the SMSProcedures table. The problem occurs only when the SMS site server is using daylight saving time.

RESOLUTION

Service Pack Information

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

288239 How to Obtain the Latest Systems Management Server 2.0 Service Pack

Hotfix Information

A supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem. This fix may receive additional testing. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next Systems Management Server service pack that contains this hotfix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site: NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The typical support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

The English version of this fix for SMS 2.0 Service Pack 4 (SP4) sites 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    Platform
   -----------------------------------------------------------------
   01-May-2002  18:10  2.0.1493.4166  415,504  Basesql.dll  Alpha
   01-May-2002  18:10  2.0.1493.4166  252,816  Basesql.dll  x86
Note Because of file dependencies, the most recent hotfix or feature that contains these files may also contain additional files.

How to Install the Hotfix

Using the Hotfix Installer

Note This method is only for Intel-based computers.
  1. Create a folder in a location that is accessible to your SMS site servers.
  2. Copy the update file (Q810465.exe) and platform folders to the new folder. You must arrange the folder structure so that the update file is located one folder "above" the platform folders.
  3. From each of the primary and secondary SMS site servers in your environment, log on to your site server by using an account with administrator permissions.
  4. Quit the SMS Administrator console if it is running.
  5. Run Q810465.exe, and then follow the instructions in the wizard.

Performing a Manual Installation

  1. Create a folder in a location that is accessible to your SMS site servers.
  2. Copy the platform folders that contain the hotfix files to the new folder.
  3. From each of the primary and secondary SMS site servers in your environment, log on to your site server by using an account with administrator permissions.
  4. Quit the SMS Administrator console if it is running.
  5. Stop all SMS services.
  6. Replace the Basesql.dll file in the SmsRootFolder\Bin\Platform folder with the version from the hotfix.
  7. Restart the SMS services.
Note that this hotfix does not correct any dates that are not valid in the SMSProcedures table, but prevent any more dates that are not valid from being added by SMS. To correct dates that are not valid that are already in the SMS database, contact Microsoft Product Support Services. For information about how to contact Product Support Services, visit the following Microsoft Web site:

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 Systems Management Server 2.0 Service Pack 5.

MORE INFORMATION

SMS sometimes incorrectly adds a value of "1/1/1970 10:00:00 AM" (when viewed on a computer in the "Canberra, Melbourne, Sydney" time zone) to a stored procedure's CreateDate column in the SMSProcedures table. When the SMS site server switches to daylight saving time and the time difference to coordinated universal time (UTC) time becomes 11 hours, the "1/1/1970 10:00:00 AM" date becomes a CTime date that is not valid. This causes an access violation in Msvcrt.dll. If you experience this issue, you see information that is similar to this in the Crash.log file:


EXCEPTION INFORMATION

Time = 11/02/2002 03:03:46.723
Service name = SMS_EXECUTIVE
Thread name = SMS_INVENTORY_DATA_LOADER
Executable = D:\SMS\bin\i386\smsexec.exe
Process ID = 2268 (0x8dc)
Thread ID = 1764 (0x6e4)
Instruction address = 78029ca1
Exception = c0000005 (EXCEPTION_ACCESS_VIOLATION)
Description = "The thread tried to read from the virtual address 00000000 for which it does not have the appropriate access."
Raised inside CService mutex = No
CService mutex description = ""


STACK TRACE FOR SMS_INVENTORY_DATA_LOADER THREAD 1764 (0x6e4) AT 11/02/2002 03:03:46.723

EAX: fffff1f0 CS: 001b EIP: 78029ca1 EFLAGS: 00010246
EBX: 038b67d0 SS: 0023 ESP: 0419f6a8
ECX: 00000009 DS: 0023 EBP: 0419f6b0
EDX: 0000000b ES: 0023
ESI: 00000000 FS: 0038
EDI: 0419f6cc GS: 0000

Module Address Offset Function + Displacement

MSVCRT.dll 78029ca1 00029ca1 mktime() + 441 bytes
MSVCRT.dll 78029af3 00029af3 mktime() + 11 bytes
basesql.dll 1433d9e4 0000d9e4 CSqlData::operator CTime *() + 340 bytes
basesql.dll 1434cbe5 0001cbe5 CSqlProcedureCache::EnumProceduresFromDB() + 981 bytes
basesql.dll 1434c6ec 0001c6ec CSqlProcedureCache::EnumProcedures() + 76 bytes
basesql.dll 1434d487 0001d487 CSqlSchema::EnumProcedures() + 23 bytes
dataldr.dll 14cc2f1a 00002f1a CDataLdrService::~CDataLdrService() + 7834 bytes
dataldr.dll 14cc75da 000075da CDataLdrService::~CDataLdrService() + 25946 bytes
dataldr.dll 14cc76f1 000076f1 ThreadMain() + 33 bytes


Modification Type:MinorLast Reviewed:10/11/2005
Keywords:kbHotfixServer kbQFE kbSMS200preSP5fix kbHardware kbfix kbbug KB810465