Wireshark-dev: [Wireshark-dev] Can ASAN be somehow tweaked to symbolicate its stack traces?
From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Fri, 5 Feb 2016 16:38:17 -0800
On Feb 5, 2016, at 1:30 PM, bugzilla-daemon@xxxxxxxxxxxxx wrote: > Bug ID 12087 > Summary Buildbot crash output: fuzz-2016-02-05-5267.pcap > Product Wireshark > Version unspecified > Hardware x86-64 > URL https://www.wireshark.org/download/automated/captures/fuzz-2016-02-05-5267.pcap > OS Ubuntu ... > Problems have been found with the following capture file: ... > ================================================================= > ==2982==ERROR: AddressSanitizer: global-buffer-overflow on address > 0x7f7fa3c48494 at pc 0x7f7fa1f3ee1e bp 0x7ffc28499600 sp 0x7ffc284995f8 > READ of size 4 at 0x7f7fa3c48494 thread T0 > #0 0x7f7fa1f3ee1d > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/lib/libwireshark.so.0+0x7985e1d) > #1 0x7f7fa18da2e1 > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/lib/libwireshark.so.0+0x73212e1) > #2 0x7f7fa18d83bc > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/lib/libwireshark.so.0+0x731f3bc) > #3 0x7f7fa22a7136 > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/lib/libwireshark.so.0+0x7cee136) > #4 0x7f7fa18da2e1 > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/lib/libwireshark.so.0+0x73212e1) > #5 0x7f7fa18d9f7a > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/lib/libwireshark.so.0+0x7320f7a) > #6 0x7f7fa1e0dd15 > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/lib/libwireshark.so.0+0x7854d15) > #7 0x7f7fa18da2e1 > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/lib/libwireshark.so.0+0x73212e1) > #8 0x7f7fa18d83bc > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/lib/libwireshark.so.0+0x731f3bc) > #9 0x7f7fa18d7bd8 > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/lib/libwireshark.so.0+0x731ebd8) > #10 0x7f7fa18b833e > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/lib/libwireshark.so.0+0x72ff33e) > #11 0x501145 > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/bin/tshark+0x501145) > #12 0x4fb96b > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/bin/tshark+0x4fb96b) > #13 0x7f7f971f7ec4 (/lib/x86_64-linux-gnu/libc.so.6+0x21ec4) > #14 0x43fc26 > (/home/wireshark/builders/wireshark-master-fuzz/clangcodeanalysis/install/bin/tshark+0x43fc26) > > 0x7f7fa3c48494 is located 12 bytes to the left of global variable '<string literal>' defined in 'packet-ieee80211-radio.c:253:5' (0x7f7fa3c484a0) of size 7 > '<string literal>' is ascii string '64-QAM' > 0x7f7fa3c48494 is located 45 bytes to the right of global variable '<string literal>' defined in 'packet-ieee80211-radio.c:249:5' (0x7f7fa3c48460) of size 7 > '<string literal>' is ascii string '16-QAM' > Shadow bytes around the buggy address: > 0x0ff074781040: 00 00 00 00 00 05 f9 f9 f9 f9 f9 f9 00 00 00 00 > 0x0ff074781050: 00 00 00 00 00 05 f9 f9 f9 f9 f9 f9 06 f9 f9 f9 > 0x0ff074781060: f9 f9 f9 f9 00 00 f9 f9 f9 f9 f9 f9 05 f9 f9 f9 > 0x0ff074781070: f9 f9 f9 f9 04 f9 f9 f9 f9 f9 f9 f9 05 f9 f9 f9 > 0x0ff074781080: f9 f9 f9 f9 04 f9 f9 f9 f9 f9 f9 f9 07 f9 f9 f9 > =>0x0ff074781090: f9 f9[f9]f9 07 f9 f9 f9 f9 f9 f9 f9 04 f9 f9 f9 > 0x0ff0747810a0: f9 f9 f9 f9 04 f9 f9 f9 f9 f9 f9 f9 00 f9 f9 f9 > 0x0ff0747810b0: f9 f9 f9 f9 00 00 00 00 02 f9 f9 f9 f9 f9 f9 f9 > 0x0ff0747810c0: 00 00 00 00 00 00 00 00 07 f9 f9 f9 f9 f9 f9 f9 > 0x0ff0747810d0: 00 04 f9 f9 f9 f9 f9 f9 00 00 00 00 02 f9 f9 f9 > 0x0ff0747810e0: f9 f9 f9 f9 00 00 00 00 00 00 00 00 01 f9 f9 f9 OK, so either it managed to symbolicate 0x7f7fa3c48494 and 0x7f7fa3c48494 or it somehow found out in some *other* fashion that those pointers were before or after string literals defined on specific lines of a specific source file. Is there some reason that it can't, or doesn't, translate the instruction addresses in the stack trace to lines of code in dissectors?
- Prev by Date: Re: [Wireshark-dev] Do we really need port preferences for dissectors?
- Next by Date: Re: [Wireshark-dev] Reassembly of IP fragments gets confused by multiple packets on different VLANS
- Previous by thread: Re: [Wireshark-dev] Do we really need port preferences for dissectors?
- Next by thread: Re: [Wireshark-dev] Reassembly of IP fragments gets confused by multiple packets on different VLANS
- Index(es):