Git Product home page Git Product logo

Comments (13)

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
-Stability+1: crashes in the libc stack unwinder on Android. Only happen when 
main() is instrumented. I can only explain this by the incorrect debug info. 
May be related to http://llvm.org/bugs/show_bug.cgi?id=11468 (incorrect debug 
info with aligned stack variables).

Original comment by [email protected] on 6 Apr 2012 at 5:21

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
Notes on the progress:
Exceptions (PR11468): Call frame information is incorrect in case the stack is 
aligned. I see no short quick fix for this bug at the moment. eugenis@, does 
this happen on ARM? The code that emits function prologue is target-specific, 
so probably it's incorrect both on X86 and ARM.

Debug Info Quality: fixed little bug with debug info in presence of aligned 
stack, but it didn't help ASan - have to dig deeper.

Debug Info Size: Clang option -gline-tables-only submitted to trunk and is 
being tested. This option increases the size of the binary by about 2x (instead 
of 4-5x with regular -g) and produces stack traces with files and line numbers.

Original comment by [email protected] on 5 May 2012 at 1:36

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
Thanks for working on this. The "Debug info quality" problem (11818) seems to 
be the most severe for us at the moment because it makes it pretty much 
impossible to debug any ASan failures with GDB in Firefox or Spidermonkey.

Original comment by [email protected] on 5 May 2012 at 1:44

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
-gline-tables-only looks good so far, with the only problem that it does not 
save the 
full function names.
I.e. instead of AAA::BBB::CCC(int, int) it will just have CCC.
This is not a big deal if we can extract the function name from the symbol in 
the binary, but it hurts if we have some inlined frames.
-gline-tables-only can be fixed to actually store the full function names, but 
it will
cost some debug info size. 
Alexey, please measure the difference and update this bug. 

Original comment by [email protected] on 30 May 2012 at 10:11

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
PR11468 is fixed in r160248.

Original comment by [email protected] on 30 Jul 2012 at 9:02

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
Is there any update on the second point? I'm still seeing lots of "<optimized 
out>" in debug-only builds. I was just trying again to debug an ASan failure 
under GDB but it's pretty much impossible.

Original comment by [email protected] on 28 Aug 2012 at 5:11

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
No, full debug info (the ability to trace variable/argument values) is still 
broken with ASan. We hope to fix this soon, but I can't give the exact date 
when it is done...

Original comment by [email protected] on 29 Aug 2012 at 8:48

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
[deleted comment]

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
r169984 makes ASan + "-g" + gdb much more usable (I can now observe values of 
local variables and function arguments). I would be happy to hear from 
decoder.oh if it works for Firefox/Spidermonkey. Closing this issue for now. 
Feel free to file debug info problems or bugs as separate (hopefully, not 
major) issues.

Original comment by [email protected] on 12 Dec 2012 at 2:56

  • Changed state: Fixed

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
Can we get Chromium's clang revision rolled past this change. Please. Pretty 
please.

Right now Chromium is at clang r169803, according to 
tools/clang/scripts/update.sh

Original comment by [email protected] on 20 Dec 2012 at 3:39

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
Stephen, you need this for debugging, right?
You can refer to http://dev.chromium.org/developers/testing/addresssanitizer 
for the instructions on how to build Chromium with a custom Clang (and 
code.google.com/p/address-sanitizer/wiki/HowToBuild for Clang build 
instructions).

Original comment by [email protected] on 20 Dec 2012 at 3:44

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
Moreover, you can fix tools/clang/scripts/update.sh to point to this revision 
(you'll also need to work around the Android flag in that script). Then running 
update.sh will download and build the corresponding Clang version for you.

Original comment by [email protected] on 20 Dec 2012 at 3:45

from address-sanitizer.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 26, 2024
Adding Project:AddressSanitizer as part of GitHub migration.

Original comment by [email protected] on 30 Jul 2015 at 9:12

  • Added labels: ProjectAddressSanitizer

from address-sanitizer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.