Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Symproxy fails to find symbols

284 views
Skip to first unread message

Matthew Golby-Kirk

unread,
Jun 11, 2008, 12:22:42 PM6/11/08
to
Hello.

I have setup a two tier symbol server, accessed through HTTP (IIS) and it is
all working fine. However, I am now trying to set up symproxy to run on this
store in IIS and I am having a problem. I have followed all the instructions
in the symhttp.doc help but I still cannot get the proxy to download symbols
from the Microsoft internet symbol server. I am pasting the following
infomation to help explain my problem.

First, windbg, symproxy, dbghelp etc are all from the 6.9.3.113 download.

Note that I actually want to download the symbols without a proxy in place,
but when I could not get the symbols to download from the MS site with
symproxy (even though I set the NoInternetProxy to 1 in the registry) I put
a simple proxy on the local machine (and ran proxycfg -u) so I could see
what was happening in the proxy server (after setting NoInternetProxy back
to 0). Below is an overview of the output from my proxy server showing a
regular windbg session on the same machine downloading a symbol file from
the MS site directly and succeding followed by a new windbg session of the
same machine using my symbol server to download the same symbol via symproxy
and failing.

My proxy shows the following requests being made:

When using the MS symbol store directly from windbg (using !symfix to set
the symbol path) there are three requests made to the MS symbol store:
1: GET the index2.txt file (not found)
2: GET the uncompressed version of the symbol (not found)
3: GET the compressed version of the symbol (success - symbol downloaded).

When using my symbol server and symproxy (setting symbol path to
symsrv*symsrv.dll*c:\webSymbols*http://mystore/symbols)
1: GET the index2.txt file from my symbol store (found)
2: GET the uncompressed version of the symbol from my symbol store (not
found)
3: GET the index2.txt file from the MS symbol store (not found)
4: GET the uncompressed version of the symbol from the MS symbol store (not
found)
5: GET a compressed version of the symbol from *MY* symbol store (not found)
6: GET a file prt to the symbol from my symbol store (not found)

Now the strange thing here is that it can connect to the MS symbol store
with no problems in both cases. However, in the second case it NEVER asks
for a compressed version of the symbol from the MS symbol store, (even
though it does from my symbol store in step 5) and that is why it is failing
because the symbols seem to be available only in compressed form in the MS
store. The question is why is this happening. Have I configured something
wrong, or is this a bug?

Regards,


MGK


[The proxy shows the following output in full]

REQUEST ONE (get the type of the MS symbol store - one or two tier) - one
tier in this case
===========================================================================================
GET http://msdl.microsoft.com/download/symbols/index2.txt HTTP/1.1
User-Agent: Microsoft-Symbol-Server/6.9.0003.113
Host: msdl.microsoft.com
Proxy-Connection: Keep-Alive
Pragma: no-cache

RESPONSE ONE
============
HTTP/1.1 404 Not Found
Content-Length: 1635
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Wed, 11 Jun 2008 15:42:53 GMT

<normal HTTP 404 HTML response body>

REQUEST TWO (try to get an uncompressed version of the symbol - not found)
==========================================================================
GET
http://msdl.microsoft.com/download/symbols/ntdll.pdb/93E72E109DC84F16AA54797E4DA8C1682/ntdll.pdb
HTTP/1.1
User-Agent: Microsoft-Symbol-Server/6.9.0003.113
Host: msdl.microsoft.com
Proxy-Connection: Keep-Alive
Pragma: no-cache

RESPONSE TWO
============
HTTP/1.1 404 Not Found
Content-Length: 1635
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Wed, 11 Jun 2008 15:42:53 GMT

<normal HTTP 404 HTML response body>

REQUEST THREE (try to get an compressed version of the symbol -
!!success!!)
=============================================================================
GET
http://msdl.microsoft.com/download/symbols/ntdll.pdb/93E72E109DC84F16AA54797E4DA8C1682/ntdll.pd_
HTTP/1.1
User-Agent: Microsoft-Symbol-Server/6.9.0003.113
Host: msdl.microsoft.com
Proxy-Connection: Keep-Alive
Pragma: no-cache

RESPONSE THREE
==============
HTTP/1.1 200 OK
Content-Length: 356580
Content-Type: application/octet-stream
Last-Modified: Sat, 03 Mar 2007 03:21:01 GMT
Accept-Ranges: bytes
ETag: "dcac47f8425dc71:7af"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Wed, 11 Jun 2008 15:42:53 GMT

MSCF <rest of response body, symbols loaded fine by windbg>

[The output when accessing my symbol store that is running symproxy]

REQUEST ONE (get the type of the my symbol store - one or two tier) - two
tier in this case
===========================================================================================
GET http://mystore/symbols/index2.txt HTTP/1.1
User-Agent: Microsoft-Symbol-Server/6.9.0003.113
Host: mystore
Proxy-Connection: Keep-Alive
Pragma: no-cache

RESPONSE ONE
============
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: application/octet-stream
Last-Modified: Fri, 06 Jun 2008 10:16:32 GMT
Accept-Ranges: bytes
ETag: "2c37a664bec7c81:400"
Server: Microsoft-IIS/6.0
*: application/octet-stream
X-Powered-By: ASP.NET
Date: Wed, 11 Jun 2008 15:41:51 GMT


REQUEST TWO (try to get an uncompressed version of the symbol from my symbol
store)
===================================================================================
GET
http://mystore/symbols/nt/ntdll.pdb/93E72E109DC84F16AA54797E4DA8C1682/ntdll.pdb
HTTP/1.1
User-Agent: Microsoft-Symbol-Server/6.9.0003.113
Host: mystore
Proxy-Connection: Keep-Alive
Pragma: no-cache


RESPONSE TWO
============
HTTP/1.1 404 Not Found
Content-Length: 1635
Content-Type: application/octet-stream
Server: Microsoft-IIS/6.0
*: application/octet-stream
X-Powered-By: ASP.NET
Date: Wed, 11 Jun 2008 15:41:52 GMT

<normal HTTP 404 HTML response body>


REQUEST THREE (get the type of the MS symbol store - one or two tier) - one
tier in this case
===========================================================================================
GET http://msdl.microsoft.com/download/symbols/index2.txt HTTP/1.1
User-Agent: Microsoft-Symbol-Server/6.9.0003.113
Host: msdl.microsoft.com
Proxy-Connection: Keep-Alive
Cache-Control: no-cache
Pragma: no-cache

RESPONSE THREE
==============
HTTP/1.1 404 Not Found
Content-Length: 1635
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Wed, 11 Jun 2008 15:41:53 GMT

<normal HTTP 404 HTML response body>

REQUEST FOUR (try to get an uncompressed version of the symbol from MS
symbol store)
====================================================================================
GET
http://msdl.microsoft.com/download/symbols/ntdll.pdb/93e72e109dc84f16aa54797e4da8c1682/ntdll.pdb
HTTP/1.1
User-Agent: Microsoft-Symbol-Server/6.9.0003.113
Host: msdl.microsoft.com
Proxy-Connection: Keep-Alive
Cache-Control: no-cache
Pragma: no-cache

RESPONSE FOUR
=============
HTTP/1.1 404 Not Found
Content-Length: 1635
Content-Type: text/html
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Wed, 11 Jun 2008 15:41:52 GMT

<normal HTTP 404 HTML response body>

REQUEST FIVE (try to get an compressed version of the symbol from *MY*
symbol store - not found)
==================================================================================================
GET
http://mystore/symbols/nt/ntdll.pdb/93E72E109DC84F16AA54797E4DA8C1682/ntdll.pd_
HTTP/1.1
User-Agent: Microsoft-Symbol-Server/6.9.0003.113
Host: mystore
Proxy-Connection: Keep-Alive
Pragma: no-cache

RESPONSE FIVE
=============
HTTP/1.1 404 Not Found
Content-Length: 1635
Content-Type: application/octet-stream
Server: Microsoft-IIS/6.0
*: application/octet-stream
X-Powered-By: ASP.NET
Date: Wed, 11 Jun 2008 15:41:52 GMT

<normal HTTP 404 HTML response body>

REQUEST SIX (try to get an file ptr to the symbol from my symbol store - not
found)
===================================================================================
GET
http://mystore/symbols/nt/ntdll.pdb/93E72E109DC84F16AA54797E4DA8C1682/file.ptr
HTTP/1.1
User-Agent: Microsoft-Symbol-Server/6.9.0003.113
Host: mystore
Proxy-Connection: Keep-Alive
Pragma: no-cache

RESPONSE SIX
============
HTTP/1.1 404 Not Found
Content-Length: 1635
Content-Type: application/octet-stream
Server: Microsoft-IIS/6.0
*: application/octet-stream
X-Powered-By: ASP.NET
Date: Wed, 11 Jun 2008 15:41:52 GMT

<normal HTTP 404 HTML response body>


Josh

unread,
Oct 2, 2008, 1:42:01 AM10/2/08
to
We're getting exactly the same problem.

Fiddler2 traces from my local machine using SymChk directly to
msdl.microsoft.com:

GET http://msdl.microsoft.com/download/symbols//index2.txt
404 Not Found

GET
http://msdl.microsoft.com/download/symbols//ntdll.pdb/B958B2F91A5A46B889DAFAB4D140CF252/ntdll.pdb
404 Not Found

GET
http://msdl.microsoft.com/download/symbols//ntdll.pdb/B958B2F91A5A46B889DAFAB4D140CF252/ntdll.pd_
200 OK

Traces from our symproxy machine when going via the proxy:
GET http://msdl.microsoft.com/download/symbols/index2.txt
404 Not Found

GET
http://msdl.microsoft.com/download/symbols/ntdll.pdb/b958b2f91a5a46b889dafab4d140cf252/ntdll.pdb
404 Not Found

We are going through a firewall, and proxycfg/etc is all fine.

Is this an acknowledged bug in the latest symproxy.dll?

Cheers,
Josh

0 new messages