Configuration Manager 2007 : SMS_SITE_BACKUP SMS_SITE_VSS_WRITER not starting… whats my locale


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


 


 


 


 


 

Comments (0)