mlachwani / google-breakpad

Automatically exported from code.google.com/p/google-breakpad
0 stars 0 forks source link

PDB signature mismatch #204

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Dear Google-Breakpad Team,

I have encountered an issue that I would like to submit:

Procedure:
1. Load a Windows crash dump with WinDBG and acquire the symbols from the
Windows Symbol server:
(SRV*C:\symbols*http://msdl.microsoft.com/download/symbols)
2. Check the name of the folder where the symbol is stored locally. 
 (i.e. C:\symbols\ntdll.pdb\C0A498F0036E4D4FB5CBF69005B0F9242\ntdll.pdb 
with associated dll in
       C:\symbols\ntdll.dll\4549BDC911e000\ntdll.dll)
3. Move the ntdll.dll to the same directory as the ntdll.pdb
4. Use symupload.exe to upload the symbol on your server.
5. Check the name of the folder where the symbol is stored on the server.
 (i.e. /var/symbols/ntdll.pdb/C0A498F0036E4D4FB5CBF69005B0F9244/ntdll.pdb)

Expected output:
5. The name of the folder corresponding to the debug_identifier (GUID +
age) of the symbol is identical to the one recorded by the crash dump.

Actual output:
5. The name of the folder corresponding to the debug_identifier (GUID +
age) of the symbol does NOT match the one recorded by the crash dump.  The
age recorded (the last character of the debug_identifier) is always different.

This poses a problem when attempting to examine the dump with
minidump_stackwalk, which looks for a symbol with debug_identifier
"C0A498F0036E4D4FB5CBF69005B0F9242" 
whereas only a symbol with identifier 
"C0A498F0036E4D4FB5CBF69005B0F9244"
was uploaded with symupload.exe.

Version of the product used:
Breakpad revision 204

Operating system:
Operating system used to upload symbol: Windows Server 2003
Operating system used to generate dump: Windows Vista

Any feedback concerning this matter is greatly appreciated.  

Cheers.

Original issue reported on code.google.com by battlem...@gmail.com on 31 Aug 2007 at 9:13

GoogleCodeExporter commented 9 years ago
The age is being incremented by something - can you track down what in your 
build
system is responsible?

Original comment by mmento...@gmail.com on 28 Sep 2007 at 6:17

GoogleCodeExporter commented 9 years ago
The symbol files are left intact before they are uploaded to the server.  There
is nothing that is done to them to cause them to increment in age.  Even by
using the dump_syms tool directly on the symbols, the age evaluated by
dump_syms is different from the age evaluated by WinDBG (or the age recorded in
the dumps) 

I have also tried acquiring the official symbols from
http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx and the
dump_syms tool still indicate a different age.

Original comment by battlem...@gmail.com on 23 Oct 2007 at 1:38

GoogleCodeExporter commented 9 years ago
It looks like dump_syms on windows just reads the age directly from the PDB 
file, so
I'm not sure why it would be any different from what WinDBG looks at & 
retrieves from
the symbol server.

Original comment by neal...@gmail.com on 22 Feb 2009 at 7:57