EDN Admin
Well-known member
My application runs as a service using MSXML3. Typically, it runs <br/> without any problems, however I occasionally see the call below to <br/> load hang and never return: <br/>
<pre lang=x-cpp>CComPtr< IXMLDOMDocument> pTempDoc;
hr = pTempDoc.CoCreateInstance(__uuidof(FreeThreadedDOMDocument));
…
hr = pTempDoc->load(varFilePath, &bLoadResult);[/code]
The file path is to a URL that is hosted on the local machine. If I <br/> log on to the machine with the same user that the service is running <br/> as I can access the URL just fine via IE. SSL is not in the picture. <br/> Nothing appears to have any locks on the file. Here is a stack trace <br/> of the thread that is hung by this call (from a mini dump): <br/> <br/>
<pre>00 061edca4 7739bbd1 ntdll!KiFastSystemCallRet
01 061edd00 7739ce36 user32!MsgWaitForMultipleObjectsEx+0xd7
02 061edd1c 6f376d93 user32!MsgWaitForMultipleObjects+0x1f
03 061edd6c 6f376df5 urlmon!FindMimeFromData+0x561
04 061edda8 6f35aeeb urlmon!FindMimeFromData+0x5c3
05 061ede2c 6f35ab49 urlmon!CreateURLMonikerEx2+0xc53
06 061ede70 6f35af82 urlmon!CreateURLMonikerEx2+0x8b1
07 061ede94 72e73718 urlmon!CreateURLMonikerEx2+0xcea
08 061edee0 72e72bdd msxml3!DllCanUnloadNow+0x9c7d
09 061edefc 72e72b26 msxml3!DllCanUnloadNow+0x9142
0a 061edf30 72e729d9 msxml3!DllCanUnloadNow+0x908b
0b 061edf5c 72e6295c msxml3!DllCanUnloadNow+0x8f3e
0c 061edfe0 72e73259 msxml3!DllGetClassObject+0xa2f3
0d 061edffc 72e73141 msxml3!DllCanUnloadNow+0x97be
0e 061ee07c 01a30740 msxml3!DllCanUnloadNow+0x96a6
...[/code]
<br/> I have found that if I delete the local user the service runs as and <br/> re-create it, then the problem will go away, however, I’m not too fond <br/> of this as a solution. Does anyone know what could cause this or what <br/> I could do to better debug this issue? I should probably add that <br/> this is not something that I can reproduce at will but I do have a full<br/> memory dump of a process that is in this state. <br/> <br/> Ive seen this occur in windows server 2k8 and 2k3.
Thanks for any help.
View the full article
<pre lang=x-cpp>CComPtr< IXMLDOMDocument> pTempDoc;
hr = pTempDoc.CoCreateInstance(__uuidof(FreeThreadedDOMDocument));
…
hr = pTempDoc->load(varFilePath, &bLoadResult);[/code]
The file path is to a URL that is hosted on the local machine. If I <br/> log on to the machine with the same user that the service is running <br/> as I can access the URL just fine via IE. SSL is not in the picture. <br/> Nothing appears to have any locks on the file. Here is a stack trace <br/> of the thread that is hung by this call (from a mini dump): <br/> <br/>
<pre>00 061edca4 7739bbd1 ntdll!KiFastSystemCallRet
01 061edd00 7739ce36 user32!MsgWaitForMultipleObjectsEx+0xd7
02 061edd1c 6f376d93 user32!MsgWaitForMultipleObjects+0x1f
03 061edd6c 6f376df5 urlmon!FindMimeFromData+0x561
04 061edda8 6f35aeeb urlmon!FindMimeFromData+0x5c3
05 061ede2c 6f35ab49 urlmon!CreateURLMonikerEx2+0xc53
06 061ede70 6f35af82 urlmon!CreateURLMonikerEx2+0x8b1
07 061ede94 72e73718 urlmon!CreateURLMonikerEx2+0xcea
08 061edee0 72e72bdd msxml3!DllCanUnloadNow+0x9c7d
09 061edefc 72e72b26 msxml3!DllCanUnloadNow+0x9142
0a 061edf30 72e729d9 msxml3!DllCanUnloadNow+0x908b
0b 061edf5c 72e6295c msxml3!DllCanUnloadNow+0x8f3e
0c 061edfe0 72e73259 msxml3!DllGetClassObject+0xa2f3
0d 061edffc 72e73141 msxml3!DllCanUnloadNow+0x97be
0e 061ee07c 01a30740 msxml3!DllCanUnloadNow+0x96a6
...[/code]
<br/> I have found that if I delete the local user the service runs as and <br/> re-create it, then the problem will go away, however, I’m not too fond <br/> of this as a solution. Does anyone know what could cause this or what <br/> I could do to better debug this issue? I should probably add that <br/> this is not something that I can reproduce at will but I do have a full<br/> memory dump of a process that is in this state. <br/> <br/> Ive seen this occur in windows server 2k8 and 2k3.
Thanks for any help.
View the full article