[2003] Geheugencorruptie in een virtuele server?

Pagina: 1
Acties:
  • 488 views sinds 30-01-2008
  • Reageer

  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 01:11

Jazzy

Moderator SSC/PB

Moooooh!

Topicstarter
Het volgende is het probleem, op een virtuele server (Server 2003 SP2 TS) crasht een bepaalde applicatie geregeld: slagent.exe. Na een upgrade en herinstallatie krijg ik maar geen grip op het probleem. Daarom heb ik de minidump maar eens geanaliseerd met windbg en dat levert onderstaande logfile op.

Het enige leesbare wat ik hier uit kan halen is dit:
code:
1
ERROR_CODE: (NTSTATUS) 0xc0000005 - De instructie op 0x%08lx verwijst naar geheugen op 0x%08lx. Een lees- of schrijfbewerking op het geheugen is mislukt:  The memory could not be %s.
Op een fysieke machine zou ik nu verder kijken naar het geheugen, maar hoe ga ik hier mee om in een virtuele server?

Hij draait trouwens in VMware Server 1.0.4 onder Server 2003 SP2. De host heeft 6 GB en er is het maximale (3,6 GB) toegewezen aan deze virtuele server.

Logfile:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
Opened log file 'c:\debuglog.txt'

Microsoft (R) Windows Debugger Version 6.8.0004.0 X86
Copyright (c) Microsoft Corporation. All rights reserved.


Loading Dump File [C:\Documents and Settings\gebruikersnaam\Local Settings\Application Data\Microsoft\Dr Watson\user.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available

Comment: 'Dr. Watson generated MiniDump'
Symbol search path is: SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
Executable search path is: C:\WINDOWS;C:\WINDOWS\system32;C:\WINDOWS\system32\drivers
Windows Server 2003 Version 3790 (Service Pack 2) MP (2 procs) Free x86 compatible
Product: Server, suite: Enterprise TerminalServer
Debug session time: Wed Nov 28 10:54:10.000 2007 (GMT+1)
System Uptime: not available
Process Uptime: 0 days 2:02:57.000
........................................................
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(2684.284): Access violation - code c0000005 (first/second chance not available)
eax=00000054 ebx=00160000 ecx=01610001 edx=01610002 esi=001608f8 edi=0000000d
eip=7c92bd02 esp=0012f594 ebp=001608f8 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010202
ntdll!ExpInterlockedPopEntrySListFault:
7c92bd02 8b18            mov     ebx,dword ptr [eax]  ds:0023:00000054=????????
0:000> !analyze -v;r;kv;lmtn;.logclose;q
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************

*** ERROR: Symbol file could not be found.  Defaulted to export symbols for SLAgent.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!ExpInterlockedPopEntrySListFault+0
7c92bd02 8b18            mov     ebx,dword ptr [eax]

EXCEPTION_RECORD:  ffffffff -- (.exr 0xffffffffffffffff)
.exr 0xffffffffffffffff
ExceptionAddress: 7c92bd02 (ntdll!ExpInterlockedPopEntrySListFault)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000000
   Parameter[1]: 00000054
Attempt to read from address 00000054

DEFAULT_BUCKET_ID:  HEAP_CORRUPTION

PROCESS_NAME:  SLAgent.exe

ERROR_CODE: (NTSTATUS) 0xc0000005 - De instructie op 0x%08lx verwijst naar geheugen op 0x%08lx. Een lees- of schrijfbewerking op het geheugen is mislukt:  The memory could not be %s.

READ_ADDRESS:  00000054 

LAST_CONTROL_TRANSFER:  from 7c93a124 to 7c92bd02

STACK_TEXT:  
0012f598 7c93a124 001608f8 0012f7cc 7c93a0b8 ntdll!ExpInterlockedPopEntrySListFault
0012f5a4 7c93a0b8 001608f8 0012f81c 0012f824 ntdll!RtlpAllocateFromHeapLookaside+0x13
0012f7cc 7c93aaa8 00160000 00000000 0000005b ntdll!RtlAllocateHeap+0x1dd
0012f7e0 7c93eb41 0000005b 7c947538 001c95e0 ntdll!NtdllpAllocateStringRoutine+0x1b
0012f7fc 7c8296ce 0012f824 0012f81c 00000001 ntdll!RtlUnicodeStringToAnsiString+0x52
0012f840 0045cfea 0000005a 00000104 0012f9e8 kernel32!GetFullPathNameA+0xf7
WARNING: Stack unwind information not available. Following frames may be wrong.
0012f9c0 0045d14a 0012f9e8 01567598 00000000 SLAgent!PathIsUNCServerShareA+0x4c019
0012faf0 0045bd4e 01567598 00001002 00000000 SLAgent!PathIsUNCServerShareA+0x4c179
0012fb10 004022d9 01567598 00001002 00000000 SLAgent!PathIsUNCServerShareA+0x4ad7d
0012fba8 00402757 01567328 474d3aa7 00000000 SLAgent+0x22d9
0012fbec 00424f75 00e65068 00000000 00493dfc SLAgent+0x2757
0012fc14 0046040f 00001635 00e65068 00e65068 SLAgent!PathIsUNCServerShareA+0x13fa4
0012fca0 0045d907 00000113 00001635 004764e0 SLAgent!PathIsUNCServerShareA+0x4f43e
0012fcc0 0045f13f 00000113 00001635 00000000 SLAgent!PathIsUNCServerShareA+0x4c936
0012fd20 0045f1cf 00000000 0003001e 00000113 SLAgent!PathIsUNCServerShareA+0x4e16e
0012fd40 77f4b6e3 0003001e 00000113 00001635 SLAgent!PathIsUNCServerShareA+0x4e1fe
0012fd6c 77f4b874 0045f19b 0003001e 00000113 user32!InternalCallWinProc+0x28
0012fde4 77f4ba92 00000000 0045f19b 0003001e user32!UserCallWinProcCheckWow+0x151
0012fe4c 77f516e5 0018a608 00000001 00000000 user32!DispatchMessageWorker+0x327
0012fe5c 0046198d 0018a608 0018a608 00491c08 user32!DispatchMessageA+0xf
00000000 00000000 00000000 00000000 00000000 SLAgent!PathIsUNCServerShareA+0x509bc


STACK_COMMAND:  ~0s; .ecxr ; kb

ADDITIONAL_DEBUG_TEXT:  Enable Pageheap/AutoVerifer

FAULTING_THREAD:  00000284

PRIMARY_PROBLEM_CLASS:  HEAP_CORRUPTION

BUGCHECK_STR:  APPLICATION_FAULT_HEAP_CORRUPTION_INVALID_POINTER_WRITE

SYMBOL_NAME:  heap_corruption!heap_corruption

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: heap_corruption

IMAGE_NAME:  heap_corruption

DEBUG_FLR_IMAGE_TIMESTAMP:  0

FAILURE_BUCKET_ID:  heap_corruption!heap_corruption_c0000005_HEAP_CORRUPTION

BUCKET_ID:  APPLICATION_FAULT_HEAP_CORRUPTION_INVALID_POINTER_WRITE_heap_corruption!heap_corruption

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

eax=00000054 ebx=00160000 ecx=01610001 edx=01610002 esi=001608f8 edi=0000000d
eip=7c92bd02 esp=0012f594 ebp=001608f8 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010202
ntdll!ExpInterlockedPopEntrySListFault:
7c92bd02 8b18            mov     ebx,dword ptr [eax]  ds:0023:00000054=????????
ChildEBP RetAddr  Args to Child              
0012f598 7c93a124 001608f8 0012f7cc 7c93a0b8 ntdll!ExpInterlockedPopEntrySListFault (FPO: [0,2,0])
0012f5a4 7c93a0b8 001608f8 0012f81c 0012f824 ntdll!RtlpAllocateFromHeapLookaside+0x13 (FPO: [Non-Fpo])
0012f7cc 7c93aaa8 00160000 00000000 0000005b ntdll!RtlAllocateHeap+0x1dd (FPO: [Non-Fpo])
0012f7e0 7c93eb41 0000005b 7c947538 001c95e0 ntdll!NtdllpAllocateStringRoutine+0x1b (FPO: [Non-Fpo])
0012f7fc 7c8296ce 0012f824 0012f81c 00000001 ntdll!RtlUnicodeStringToAnsiString+0x52 (FPO: [Non-Fpo])
0012f840 0045cfea 0000005a 00000104 0012f9e8 kernel32!GetFullPathNameA+0xf7 (FPO: [Non-Fpo])
WARNING: Stack unwind information not available. Following frames may be wrong.
0012f9c0 0045d14a 0012f9e8 01567598 00000000 SLAgent!PathIsUNCServerShareA+0x4c019
0012faf0 0045bd4e 01567598 00001002 00000000 SLAgent!PathIsUNCServerShareA+0x4c179
0012fb10 004022d9 01567598 00001002 00000000 SLAgent!PathIsUNCServerShareA+0x4ad7d
0012fba8 00402757 01567328 474d3aa7 00000000 SLAgent+0x22d9
0012fbec 00424f75 00e65068 00000000 00493dfc SLAgent+0x2757
0012fc14 0046040f 00001635 00e65068 00e65068 SLAgent!PathIsUNCServerShareA+0x13fa4
0012fca0 0045d907 00000113 00001635 004764e0 SLAgent!PathIsUNCServerShareA+0x4f43e
0012fcc0 0045f13f 00000113 00001635 00000000 SLAgent!PathIsUNCServerShareA+0x4c936
0012fd20 0045f1cf 00000000 0003001e 00000113 SLAgent!PathIsUNCServerShareA+0x4e16e
0012fd40 77f4b6e3 0003001e 00000113 00001635 SLAgent!PathIsUNCServerShareA+0x4e1fe
0012fd6c 77f4b874 0045f19b 0003001e 00000113 user32!InternalCallWinProc+0x28
0012fde4 77f4ba92 00000000 0045f19b 0003001e user32!UserCallWinProcCheckWow+0x151 (FPO: [Non-Fpo])
0012fe4c 77f516e5 0018a608 00000001 00000000 user32!DispatchMessageWorker+0x327 (FPO: [Non-Fpo])
0012fe5c 0046198d 0018a608 0018a608 00491c08 user32!DispatchMessageA+0xf (FPO: [Non-Fpo])
start    end        module name
00400000 004c4000   SLAgent  SLAgent.exe  Sat Nov 03 07:07:25 2007 (472C101D)
00e70000 01145000   xpsp2res xpsp2res.dll Sat Feb 17 06:35:20 2007 (45D69418)
10000000 10011000   SLAgent_10000000 SLAgent.dll  Sat Nov 03 07:05:50 2007 (472C0FBE)
5c7c0000 5c81b000   hnetcfg  hnetcfg.dll  Sat Feb 17 18:52:40 2007 (45D740E8)
5f290000 5f29e000   ntlanman ntlanman.dll Sat Feb 17 18:55:53 2007 (45D741A9)
5f9e0000 5fa11000   netui1   netui1.dll   Mon Apr 14 20:39:57 2003 (3E9B007D)
5fa20000 5fa36000   netui0   netui0.dll   Mon Apr 14 20:39:56 2003 (3E9B007C)
68000000 68035000   rsaenh   rsaenh.dll   Sat Feb 17 06:49:58 2007 (45D69786)
71960000 719a2000   mswsock  mswsock.dll  Sat Feb 17 18:56:44 2007 (45D741DC)
719f0000 719fa000   wsock32  wsock32.dll  Mon Apr 14 20:38:21 2003 (3E9B001D)
71a00000 71a08000   rdpsnd   rdpsnd.dll   Mon Apr 14 20:38:21 2003 (3E9B001D)
71a10000 71a21000   mpr      mpr.dll      Sat Feb 17 18:54:28 2007 (45D74154)
71a30000 71a38000   ws2help  ws2help.dll  Sat Feb 17 19:00:16 2007 (45D742B0)
71a40000 71a57000   ws2_32   ws2_32.dll   Sat Feb 17 19:00:15 2007 (45D742AF)
71a60000 71a72000   tsappcmp tsappcmp.dll Sat Feb 17 18:58:16 2007 (45D74238)
71a80000 71ad7000   netapi32 netapi32.dll Sat Feb 17 18:55:14 2007 (45D74182)
72eb0000 72ed7000   winspool winspool.drv Sat Feb 17 18:59:11 2007 (45D7426F)
743e0000 74430000   msctf    msctf.dll    Sat Feb 17 18:55:14 2007 (45D74182)
744d0000 7478e000   msi      msi.dll      Sat Mar 17 12:08:16 2007 (45FBCC20)
74a30000 74a53000   oledlg   oledlg.dll   Sat Feb 17 18:56:13 2007 (45D741BD)
75c90000 75d4d000   sxs      sxs.dll      Sat Feb 17 18:58:19 2007 (45D7423B)
75d80000 75d87000   drprov   drprov.dll   Sat Feb 17 18:52:43 2007 (45D740EB)
75d90000 75d9a000   davclnt  davclnt.dll  Sat Feb 17 18:51:24 2007 (45D7409C)
761b0000 761fa000   comdlg32 comdlg32.dll Sat Feb 17 18:51:57 2007 (45D740BD)
764a0000 765ac000   setupapi setupapi.dll Sat Feb 17 18:57:07 2007 (45D741F3)
767e0000 767e8000   linkinfo linkinfo.dll Sat Feb 17 18:53:30 2007 (45D7411A)
767f0000 76816000   ntshrui  ntshrui.dll  Sat Feb 17 18:56:02 2007 (45D741B2)
76820000 768e3000   userenv  userenv.dll  Sat Feb 17 18:58:28 2007 (45D74244)
769a0000 769ce000   winmm    winmm.dll    Sat Feb 17 18:59:24 2007 (45D7427C)
76a70000 76a7b000   psapi    psapi.dll    Sat Feb 17 18:56:29 2007 (45D741CD)
76b10000 76b38000   imagehlp imagehlp.dll Sat Feb 17 18:53:13 2007 (45D74109)
76dd0000 76dfb000   dnsapi   dnsapi.dll   Sat Feb 17 18:52:19 2007 (45D740D3)
76e00000 76e08000   wtsapi32 wtsapi32.dll Sat Feb 17 19:00:29 2007 (45D742BD)
76e10000 76e3f000   wldap32  wldap32.dll  Sat Feb 17 18:59:21 2007 (45D74279)
76e50000 76e63000   secur32  secur32.dll  Sat Feb 17 18:57:18 2007 (45D741FE)
76e70000 76e77000   winrnr   winrnr.dll   Sat Feb 17 18:59:07 2007 (45D7426B)
76e80000 76e85000   rasadhlp rasadhlp.dll Sat Feb 17 18:56:21 2007 (45D741C5)
76f10000 7709d000   comres   comres.dll   Sat Feb 17 18:52:01 2007 (45D740C1)
77340000 77443000   comctl32_77340000 comctl32.dll Sat Feb 17 18:49:38 2007 (45D74032)
774f0000 77629000   ole32    ole32.dll    Sat Feb 17 18:56:07 2007 (45D741B7)
77630000 776b3000   clbcatq  clbcatq.dll  Sat Feb 17 18:51:02 2007 (45D74086)
77790000 777b1000   ntmarta  ntmarta.dll  Sat Feb 17 18:55:54 2007 (45D741AA)
77990000 779a1000   winsta   winsta.dll   Sat Feb 17 18:59:14 2007 (45D74272)
77b60000 77b68000   version  version.dll  Sat Feb 17 18:58:35 2007 (45D7424B)
77b70000 77bca000   msvcrt   msvcrt.dll   Sat Feb 17 18:56:37 2007 (45D741D5)
77bd0000 77c18000   gdi32    gdi32.dll    Fri Mar 02 07:41:51 2007 (45E7C72F)
77c20000 77cbf000   rpcrt4   rpcrt4.dll   Wed Jul 11 12:42:56 2007 (4694B430)
77cd0000 77d5b000   oleaut32 oleaut32.dll Wed Jun 13 21:28:22 2007 (46704556)
77d70000 77e1d000   advapi32 advapi32.dll Sat Feb 17 18:50:16 2007 (45D74058)
77e20000 77eb7000   comctl32 comctl32.dll Sat Feb 17 18:49:39 2007 (45D74033)
77ec0000 77f12000   shlwapi  shlwapi.dll  Sat Feb 17 18:57:20 2007 (45D74200)
77f30000 77fc2000   user32   user32.dll   Fri Mar 02 07:41:51 2007 (45E7C72F)
7c800000 7c90d000   kernel32 kernel32.dll Wed Apr 18 18:28:21 2007 (46264725)
7c910000 7c9d5000   ntdll    ntdll.dll    Sat Feb 17 19:00:32 2007 (45D742C0)
7c9e0000 7d1ea000   shell32  shell32.dll  Wed Nov 07 14:50:10 2007 (4731C292)
7e020000 7e02f000   samlib   samlib.dll   Sat Feb 17 18:56:49 2007 (45D741E1)
Closing open log file c:\debuglog.txt

Exchange en Office 365 specialist. Mijn blog.


Verwijderd

Als je minder geheugen toewijst aan de virtuele server?

Of je past je boot.ini aan met /pae switch, het kan zijn dat je server niet om kan gaan met de hoeveelheid geheugen die hij toegewezen krijgt.

  • _H_G_
  • Registratie: September 2002
  • Laatst online: 12-02 12:44
Jazzy schreef op maandag 03 december 2007 @ 11:15:
Op een fysieke machine zou ik nu verder kijken naar het geheugen, maar hoe ga ik hier mee om in een virtuele server?
Hmm, ik zou er eerder vanuit gaan dat de applicatie zelf buggy is (applicatie probeert naar een stuk te schrijven wat bijv. gereserveerd is door de bios), of een compatibiliteitsprobleem heeft.

Al vind ik de adressering vreemd (verwacht gewoon een hex nummer, maar dit..), maar weet ook niks van VMware. En %s is al helemaal vaag.

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

De %s is gewoon een string die niet uitgelezen kan worden
code:
1
The memory could not be %s
is denk ik dan
code:
1
memory could not be read


Dit is een Virtuele Terminal Server?
Werkt dezelfde applicatie wél goed op een fysieke Terminal Server?

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • Jazzy
  • Registratie: Juni 2000
  • Laatst online: 01:11

Jazzy

Moderator SSC/PB

Moooooh!

Topicstarter
alt-92 schreef op maandag 03 december 2007 @ 13:37:
Werkt dezelfde applicatie wél goed op een fysieke Terminal Server?
Dat kan ik nu niet testen, er is maar één TS en die is virtueel.
_H_G_ schreef op maandag 03 december 2007 @ 12:53:
Hmm, ik zou er eerder vanuit gaan dat de applicatie zelf buggy is (applicatie probeert naar een stuk te schrijven wat bijv. gereserveerd is door de bios), of een compatibiliteitsprobleem heeft.
Daar begint het inderdaad op te lijken. Ik heb bij de leverancier van de applicatie aangeklopt voor support en die kijken naar aanleiding van deze meldingen gewoon unhoudelijk naar de applicatie.

Mmm, blijft toch een lastig verhaal om wat zinnige informatie uit zo'n dump te halen. Voor mij tenminste. :)

Exchange en Office 365 specialist. Mijn blog.