This is probably one of the rare occurence but worth mentioning I thought, The SMS_SITE_BACKUP and SMS_SITE_VSS_WRITER Services are set to run under the LOCALSYSTEM.Whenever you attempt to start the service it would generate CRASHDUMP and stop with below exception, SMS Executive was not effected in this case.

 

===========================================

 

EXCEPTION INFORMATION

Time = 02/10/2009 16:54:25.183

Service name =

Thread name = Unknown

Executable = D:\Program Files\Microsoft Configuration Manager\bin\i386\smssqlbkup.exe

Process ID = 4380 (0x111c)

Thread ID = 4388 (0x1124)

Instruction address = 764342eb

Exception = e06d7363 (Unknown exception code)

Description = ""

Raised inside CService mutex = No

CService mutex description = ""

 

===========================================

 

EXCEPTION INFORMATION

Time = 02/10/2009 16:54:27.367

Service name = SMS_SITE_VSS_WRITER

Thread name = SMS_SITE_VSS_WRITER

Executable = D:\Program Files\Microsoft Configuration Manager\bin\i386\smswriter.exe

Process ID = 3456 (0xd80)

Thread ID = 4756 (0x1294)

Instruction address = 764342eb

Exception = e06d7363 (Unknown exception code)

Description = ""

Raised inside CService mutex = No

CService mutex description = ""

 

===========================================

Log Name: System

Source: Service Control Manager

Date: 2/25/2009 3:06:07 PM

Event ID: 7034

Task Category: None

Level: Error

Keywords: Classic

User: N/A

Computer: <SMSSERVER>

Description:

The SMS_SITE_VSS_WRITER service terminated unexpectedly. It has done this 27 time(s).

 

===========================================

Log Name: System

Source: Service Control Manager

Date: 2/25/2009 3:06:02 PM

Event ID: 7034

Task Category: None

Level: Error

Keywords: Classic

User: N/A

Computer: <SMSSERVER>

Description:

The SMS_SITE_SQL_BACKUP service terminated unexpectedly. It has done this 27 time(s).

 

===========================================

 

 

We do not get any access denied in procmon.

Based on crash dump It seemed like it was crashing on reading Locale Info

 

STACK TRACE FOR SMS_SITE_VSS_WRITER THREAD 348 (0x15c) AT 02/25/2009 21:22:07.940

 

EAX: 00c8faac  CS: 001b  EIP: 00000000  EFLAGS: 00000206

EBX: 00c8fe74  SS: 2c0023  ESP: 00000008

ECX: 00000000  DS: 0023  EBP: 00000000

EDX: 00000003  ES: 0023

ESI: 00c8fb34  FS: 77ec003b

EDI: 00000000  GS: 77e60000

 

Module        Address   Offset    Function + Displacement                                                           # Params  Possible Values Of First Four Params  Decorated Function Name

===================================================================================================================================================

kernel32.dll  77e4bee7  0000bee7  RaiseException() + 60 bytes                                                       Unknown   e06d7363 00000001 00000003 00c8fb28   RaiseException

                                             

MSVCR80.dll   78158e89  00028e89  CxxThrowException() + 70 bytes                                                    Unknown   00c8fb54 7c458cd4 2BAAE639 00000000   _CxxThrowException 

                                        

MSVCP80.dll   7c425093  00005093  std::_Locinfo::_Locinfo() + 113 bytes                                             Unknown   0000003f 00000000 2BAAE1B5 00000000   ??0_Locinfo@std@@QAE@HPBD@Z

                               

MSVCP80.dll   7c425433  00005433  std::locale::locale() + 102 bytes     

 

                                           Unknown   00000000 00c8fc8c 78138CED 53795290   ??0locale@std@@QAE@PBDH@Z                                  

Unknown       00c8fc08  Unknown   Unknown                  

 

 

 

We attempted to test reading Locale outside SCCM

http://msdn.microsoft.com/en-us/library/x99tb11d(VS.71).aspx

==========================================

#include "stdafx.h"
#include <iostream>
#include <locale.h>

int _tmain(int argc, _TCHAR* argv[])
{
char* Loc;
using std::locale;

Loc=setlocale(LC_ALL, "");
if(Loc==NULL)
{
try{
locale OSLocale(Loc);
}catch(...){printf("Exception ");}
printf("\locale returned NULL\n");
}
else
{
printf("\nLocale Set to %s\n",Loc);
}
return 0;
}

=================================

## Compile on Visual Studio 2005 (VCRT8.0)

 

Condition1:

========

Ran the sample.exe (locale test program) it ran fine

 

Condition2:

========

Ran the same program with System context (using AT command) it threw exception as excepted

 

 

Collected the procmon trace with both conditions

Procmon with Condition2 had addtional reference to locale hi-in

 

17 10:53:00.0498428 AM vc8.exe 10296 RegOpenKey HKLM\System\CurrentControlSet\Control\Nls\CustomLocale SUCCESS Desired Access: Read

 

18 10:53:00.0498601 AM vc8.exe 10296 RegQueryValue HKLM\System\CurrentControlSet\Control\Nls\CustomLocale\hi-IN NAME NOT FOUND Length: 532

 

The Locale was set to US-English everywhere but system seems to be picking hi-in

 

Solution

=========

Since it was running with User profile

 

We went to Regional and Language Options (everything was US-English)

> Clicked on the Administrative TAB

> Clicked Copy to Reserved Accounts

> Selected Check box System account (Local System, Local Service, and network service)

 

 

We ran the sample.exe from above code, this time it worked with System Credentials

So did the   SMS_SITE_BACKUP and SMS_SITE_VSS_WRITER Services.

 

I hope you find this post useful

 

Jeevan Bisht | Support Escalation Engineer