rust-minidump / rust-minidump

Type definitions, parsing, and analysis for the minidump file format.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

codeinfo lookup doesn't work with try/ path

willkg opened this issue · comments

If the symbols-url value is https://symbols.mozilla.org, then the codeinfo lookup works and the symbol supplier finds the symbol.

If the symbols-url value is https://symbols.mozilla.org/try, then the codeinfo lookup works, but something fails and the symbol supplier never finds the symbol.

This fails:

minidump-stackwalk \
    --evil-json=./crashdata_mdsw_tmp/v1/raw_crash/20231005/a477945d-9803-4cb9-9d5c-df0da0231005 \
    --symbols-cache=/tmp/symbols/cache \
    --symbols-tmp=/tmp/symbols/tmp \
    --no-color \
    --symbols-url=https://symbols.mozilla.org/try \
    --output-file=a477945d-9803-4cb9-9d5c-df0da0231005.dump.json \
    --log-file=a477945d-9803-4cb9-9d5c-df0da0231005.dump.log \
    --json \
    --verbose=debug \
    ./crashdata_mdsw_tmp/v1/dump/a477945d-9803-4cb9-9d5c-df0da0231005

debug output (most of the sym files are cached, so there's no output for those):

DEBUG resolving host="symbols.mozilla.org"      
DEBUG connecting to 35.161.63.49:443      
DEBUG connected to 35.161.63.49:443      
DEBUG No cached session for DnsName("symbols.mozilla.org")          
DEBUG Not resuming any session          
DEBUG ALPN protocol is None          
DEBUG Using ciphersuite TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256          
DEBUG ECDHE curve is ECParameters { curve_type: NamedCurve, named_group: secp256r1 }          
DEBUG Server DNS name is DnsName("symbols.mozilla.org")          
DEBUG flushed 116 bytes      
DEBUG parsed 16 headers      
DEBUG incoming body is empty        
DEBUG pooling idle connection for ("https", symbols.mozilla.org)      
DEBUG redirect policy disallowed redirection to 'https://symbols.mozilla.org/try/xul.pdb/445AC5F4EF9816474C4C44205044422E1/xul.sym'      
DEBUG No debug file / debug id found with lookup path xul.dll/6514D0BB72EE000/xul.sym.      
DEBUG Sending warning alert CloseNotify          

I'll look into this now. It's something I goofed in the codeinfo lookup implementation and one of those "if this doesn't work, then 🤷" sections.

It's the way I extract the debug id and debug file from the redirect url. Bleh. I've got a fix coming.