SRCDS Steam group


Help resolving server crash problem
#1
Core2 Duo 2.33GHZ, 4GB RAM
Windows Server 2003 Standard, SP2
MetaMod, Sourcemod (Hacks and ZombieRiot), Mani, Mattie Eventscripts (ALL DISABLED for this debug)
Command line is included in the debug log.


Alright, so my server keeps crashing with a memory exception, and I've been trying for some time to get to the bottom of it. Here's some things I've noticed in the debug logs that I'm hoping someone can shed some light upon.

Please keep in mind, that for this debug log, I was running SRCDS with with ALL addons DISABLED.

By the way, any other beginners out there who find this post while trying to debug, take note of the symbol path.
If you set that from the file menu in WinDbg, you will get much more useable output.


Code:
Microsoft (R) Windows Debugger Version 6.11.0001.404 X86
Copyright (c) Microsoft Corporation. All rights reserved.

CommandLine: "D:\TCAdmin Master Server\UserFiles\JDRS\GameServers\CssFreshInstall\srcds.exe" -game cstrike -console +ip 192.168.1.201 -port 27016 +maxplayers 32 -tickrate 100 +map zombie_grimoffice_b3 heapsize 2097152 -nohltv
Starting directory: D:\TCAdmin Master Server\UserFiles\JDRS\GameServers\CssFreshInstall
[b]Symbol search path is: symsrv*symsrv.dll*c:\symbols*
http://msdl.microsoft.com/download/symbols[/b]
Executable search path is:
ModLoad: 00400000 00427000   dedicated_main.exe
ModLoad: 7c800000 7c8c2000   ntdll.dll
ModLoad: 77e40000 77f42000   C:\WINDOWS\system32\kernel32.dll
ModLoad: 7d1e0000 7d27c000   C:\WINDOWS\system32\ADVAPI32.dll
ModLoad: 77c50000 77cef000   C:\WINDOWS\system32\RPCRT4.dll
ModLoad: 76f50000 76f63000   C:\WINDOWS\system32\Secur32.dll
ModLoad: 77380000 77411000   C:\WINDOWS\system32\USER32.dll
ModLoad: 77c00000 77c49000   C:\WINDOWS\system32\GDI32.dll
(a1c.c30): Break instruction exception - code 80000003 (first chance)
eax=77d00000 ebx=7ffdd000 ecx=00000004 edx=00000010 esi=7c8897f4 edi=00141f38
eip=7c81a3e1 esp=0012fb70 ebp=0012fcb4 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
ntdll!DbgBreakPoint:
7c81a3e1 cc              int     3
0:000> k
ChildEBP RetAddr  
0012fb6c 7c849b14 ntdll!DbgBreakPoint
0012fcb4 7c835571 ntdll!LdrpInitializeProcess+0xffd
0012fd14 7c8284e5 ntdll!_LdrpInitialize+0xd0
00000000 00000000 ntdll!KiUserApcDispatcher+0x25
0:000> !analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

*** WARNING: Unable to verify checksum for dedicated_main.exe
*** ERROR: Module load completed but symbols could not be loaded for dedicated_main.exe
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: kernel32!pNlsUserInfo                         ***
***                                                                   ***
*************************************************************************
*************************************************************************
***                                                                   ***
***                                                                   ***
***    Your debugger is not using the correct symbols                 ***
***                                                                   ***
***    In order for this command to work properly, your symbol path   ***
***    must point to .pdb files that have full type information.      ***
***                                                                   ***
***    Certain .pdb files (such as the public OS symbols) do not      ***
***    contain the required information.  Contact the group that      ***
***    provided you with these symbols if you need this command to    ***
***    work.                                                          ***
***                                                                   ***
***    Type referenced: kernel32!pNlsUserInfo                         ***
***                                                                   ***
*************************************************************************

FAULTING_IP:
ntdll!DbgBreakPoint+0
7c81a3e1 cc              int     3

EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 7c81a3e1 (ntdll!DbgBreakPoint)
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 3
   Parameter[0]: 00000000
   Parameter[1]: 864ce418
   Parameter[2]: 00000010

FAULTING_THREAD:  00000c30

PROCESS_NAME:  dedicated_main.exe

ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION}  Breakpoint  A breakpoint has been reached.

EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid

EXCEPTION_PARAMETER1:  00000000

EXCEPTION_PARAMETER2:  864ce418

EXCEPTION_PARAMETER3:  00000010

NTGLOBALFLAG:  70

APPLICATION_VERIFIER_FLAGS:  0

ADDITIONAL_DEBUG_TEXT:  Followup set based on attribute [ProcessName] from Frame:[ffffffff] on thread:[ffffffff]

BUGCHECK_STR:  APPLICATION_FAULT_LOADER_INIT_FAILURE_80000003

PRIMARY_PROBLEM_CLASS:  LOADER_INIT_FAILURE_80000003

DEFAULT_BUCKET_ID:  LOADER_INIT_FAILURE_80000003

LAST_CONTROL_TRANSFER:  from 7c849b14 to 7c81a3e1

STACK_TEXT:  
0012fb6c 7c849b14 00000001 7ffdd000 00000000 ntdll!DbgBreakPoint
0012fcb4 7c835571 0012fd28 7c800000 0012fd28 ntdll!LdrpInitializeProcess+0xffd
0012fd14 7c8284e5 0012fd28 7c800000 00000000 ntdll!_LdrpInitialize+0xd0
00000000 00000000 00000000 00000000 00000000 ntdll!KiUserApcDispatcher+0x25


SYMBOL_NAME:  dedicated_main.exe!Unknown

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: dedicated_main

IMAGE_NAME:  dedicated_main.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  444d93d2

STACK_COMMAND:  dt ntdll!LdrpLastDllInitializer BaseDllName ; dt ntdll!LdrpFailureData ; ~0s ; kb

FAILURE_BUCKET_ID:  LOADER_INIT_FAILURE_80000003_80000003_dedicated_main.exe!Unknown

BUCKET_ID:  APPLICATION_FAULT_LOADER_INIT_FAILURE_80000003_dedicated_main.exe!Unknown

FOLLOWUP_IP:
dedicated_main+0
00400000 4d              dec     ebp

Followup: MachineOwner
---------

If I'm reading this right, this exception is being caused by something dedicated_main does prior to dedicated.dll being loaded, which will occur immediately following C:\WINDOWS\system32\IMM32.DLL once I press F5 in WinDbg to continue. Following that, I get a long list of modloads, which I'll omit from this post, before I get to the follwing section:

Code:
ModLoad: 0f6e0000 0f950000   D:\TCAdmin Master Server\UserFiles\JDRS\GameServers\CssFreshInstall\bin\steamclient.dll
ModLoad: 0e3b0000 0e42a000   D:\TCAdmin Master Server\UserFiles\JDRS\GameServers\CssFreshInstall\bin\vstdlib_s.dll
ModLoad: 0e430000 0e46f000   D:\TCAdmin Master Server\UserFiles\JDRS\GameServers\CssFreshInstall\bin\tier0_s.dll
ModLoad: 76cf0000 76d0a000   C:\WINDOWS\system32\iphlpapi.dll
ModLoad: 76b70000 76b7b000   C:\WINDOWS\system32\PSAPI.DLL
ModLoad: 68000000 68035000   C:\WINDOWS\system32\rsaenh.dll
(a1c.e28): C++ EH exception - code e06d7363 (first chance)
(a1c.c30): C++ EH exception - code e06d7363 (first chance)

The a1c.e28 error occurs 3 times, and the a1c.e30 error occurs 43 times, by which point the map is loaded and the server is waiting for players. I can't be certain, but I'm guessing that if this was normal to see in a debug log for a vanilla CSS server, I'd have found that in a search here, but I only found 5 threads referencing ntdll!DbgBreakPoint, so I'm inclined to think that these errors have something to do with my persistent memory exceptions.

I ran sfc /scannow and found no errors. Any thoughts?
Reply
#2
Remove all this: "heapsize 2097152 -nohltv"
~ Mooga ...w00t? - SRCDS.com on Twitter
[Image: 76561197965445574.png]
Please do not PM me for server related help
fqdn Wrote:if you've seen the any of the matrix movies, a game server is not all that different. it runs a version of the game that handles the entire world for each client connected. that's the 2 sentence explanation.
Reply
#3
(05-16-2010, 11:56 AM)Mooga Wrote:  Remove all this: "heapsize 2097152 -nohltv"

Okay, that's been done, but I still get the exception in ntdll.dll before the console is initialized.
Not exactly sure why these needed to be removed though. Are they a problem, or does this simply help troubleshoot?

Thanks!
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)