Comments (13)
-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.
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.
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.
-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.
PR11468 is fixed in r160248.
Original comment by [email protected]
on 30 Jul 2012 at 9:02
from address-sanitizer.
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.
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.
[deleted comment]
from address-sanitizer.
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.
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.
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.
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.
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)
- ASan shared runtime library on Android re-exports the entire libgcc interface HOT 2
- sigsegv in basic block tracer HOT 3
- Compiling with AddressSanitizer using gcc ≥4.9 breaks printng some variables in gdb on Linux HOT 7
- AddressSanitizer: while reporting a bug found another one. Ignoring. HOT 3
- [android] system property access from native code is going away HOT 2
- Link libasan with -z interpose on Linux HOT 3
- ASan is unable to link TLS arrays HOT 3
- pointer not owned error when calling malloc_usable_size() on array of structs with destructors HOT 4
- Support Android in asan_symbolize HOT 3
- thread_stats.malloced_by_size[class_id] overflow in asan_allocator.cc HOT 4
- Crash on ODR between instrumented and non-instrumented libraries HOT 4
- LSan doesn't work with empty suppressions list HOT 6
- Improve wild-free detection HOT 1
- Please tell us where you are moving due to Google Code shutdown HOT 3
- -fsanitize=address should probably imply -Bsymbolic HOT 2
- Enable LSAN support for 32bit architecture HOT 3
- support relative paths in backlist files HOT 1
- chdir breaks symbolization of dynamic libraries
- leak is only reported about 1/2 of runs
- gcc-asan doesn't work on android/arm32 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from address-sanitizer.