Git Product home page Git Product logo

Comments (12)

ramosian-glider avatar ramosian-glider commented on May 4, 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).

Reported by [email protected] on 2012-04-06 17:21:00

from sanitizers.

ramosian-glider avatar ramosian-glider commented on May 4, 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.

Reported by [email protected] on 2012-05-05 13:36:01

from sanitizers.

ramosian-glider avatar ramosian-glider commented on May 4, 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.

Reported by decoder.oh on 2012-05-05 13:44:00

from sanitizers.

ramosian-glider avatar ramosian-glider commented on May 4, 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. 

Reported by konstantin.s.serebryany on 2012-05-30 10:11:10

from sanitizers.

ramosian-glider avatar ramosian-glider commented on May 4, 2024
PR11468 is fixed in r160248.

Reported by [email protected] on 2012-07-30 09:02:08

from sanitizers.

ramosian-glider avatar ramosian-glider commented on May 4, 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.

Reported by decoder.oh on 2012-08-28 17:11:26

from sanitizers.

ramosian-glider avatar ramosian-glider commented on May 4, 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...

Reported by [email protected] on 2012-08-29 08:48:18

from sanitizers.

ramosian-glider avatar ramosian-glider commented on May 4, 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.

Reported by [email protected] on 2012-12-12 14:56:15

  • Status changed: Fixed

from sanitizers.

ramosian-glider avatar ramosian-glider commented on May 4, 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

Reported by [email protected] on 2012-12-20 15:39:22

from sanitizers.

ramosian-glider avatar ramosian-glider commented on May 4, 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).

Reported by ramosian.glider on 2012-12-20 15:44:35

from sanitizers.

ramosian-glider avatar ramosian-glider commented on May 4, 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.

Reported by ramosian.glider on 2012-12-20 15:45:56

from sanitizers.

ramosian-glider avatar ramosian-glider commented on May 4, 2024
Adding Project:AddressSanitizer as part of GitHub migration.

Reported by ramosian.glider on 2015-07-30 09:12:58

  • Labels added: ProjectAddressSanitizer

from sanitizers.

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.