1. 08 Jul, 2016 1 commit
    • Colin Cross's avatar
      stack: support output from dumpsys meminfo --unreachable · 807ec0ec
      Colin Cross authored
      Support unreachable memory reports in the form:
      
       Unreachable memory
        4307 bytes in 61 unreachable allocations
        ABI: 'arm64'
      
        112 bytes unreachable at 79352e38d0
         and 1904 similar unreachable bytes in 17 allocations
         first 32 bytes of contents:
         79352e38d0: 30 9c 83 52 79 00 00 00 00 00 00 00 00 00 00 00 0..Ry...........
         79352e38e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
                #00  pc 000000000006e218  /system/lib64/libc++.so (operator new(unsigned long)+36)
                #01  pc 000000000009171c  /system/lib64/libhwui.so
                #02  pc 0000000000093cc8  /system/lib64/libhwui.so (android::uirenderer::RecordingCanvas::drawText(unsigned short const*, float const*, int, SkPaint const&, float, float, float, float, float, float, float)+300)
                #03  pc 00000000000fbdd0  /system/lib64/libandroid_runtime.so (android::CanvasJNI::drawText(android::Canvas*, unsigned short const*, int, int, int, float, float, int, android::Paint const&, android::TypefaceImpl*)+2120)
      
      Test: ./stack_core.py
      Change-Id: I8075f3390f08972e57ec71f84dfe60adac110eed
      807ec0ec
  2. 16 Mar, 2016 1 commit
    • Christopher Ferris's avatar
      Fix how the script gets data from apks. · abe22f46
      Christopher Ferris authored
      The previous code used unzip to get the offsets of the files in
      the zip file. This was an estimate, and it turns out to be wrong
      in many cases. Replace that with zipinfo -v which gives the exact
      offset of the files in the zip.
      
      Also update the tmp files so that they are in a dictionary of their
      own by apk, instead of embedded in the offset list.
      
      Change-Id: I8f5efd95f2d2e39e20cc0b6b6571b799be21ef32
      abe22f46
  3. 15 Mar, 2016 1 commit
    • Christopher Ferris's avatar
      Find abi before trying to decode the stack. · bf8a9402
      Christopher Ferris authored
      The CallStack function prints stacks to the log. Unfortunately, our
      stack script defaults to arm, so if the data is actually arm64, we'll
      do nothing. Modify the script to parse the input trying to determine
      the abi before processing the rest of the lines. At the very least,
      we'll be able to correctly choose between arm and arm64.
      
      The only downside, is that, the old method could take dumps from different
      abis, but no one I know does this.
      
      Bug: 26569638
      Change-Id: I5935b82fe0af1e788b0d3edc535b9f0cbb7d1b28
      bf8a9402
  4. 01 Dec, 2015 1 commit
  5. 17 Sep, 2015 1 commit
  6. 04 Sep, 2015 1 commit
    • Christopher Ferris's avatar
      Update the stack script for apk handling. · ece64c4b
      Christopher Ferris authored
      The dlopen of a shared library within an apk is not handled by
      the stack tool. Modify to understand and search through the apk to
      find the shared library associated with the offset. Then unzip
      that shared library to use as the target of addr2line.
      
      Change-Id: I404302f68dff45c35a1dc2a55547f42ea04f02bf
      ece64c4b
  7. 22 Aug, 2015 1 commit
    • Andreas Gampe's avatar
      Development/scripts: Add sanitizer dump support to stack · d900d08d
      Andreas Gampe authored
      Add trace parsing for sanitizer output. The output is different
      from debuggerd output (and we do not have control over it). Use
      two separate regexes and factor out the parsing into a method
      returning a tuple of data.
      
      Note: as we have no control over the prologue of the dump, we
      cannot change it to include information like the ABI. Thus, this
      functionality only works in a lunched tree, where the tool
      implicitly uses the symbols directory.
      
      Change-Id: Ic1189f4f65cf7728d1baec7055ecb549b0aa5f62
      d900d08d
  8. 02 Jun, 2015 1 commit
  9. 01 Jun, 2015 1 commit
  10. 26 May, 2015 1 commit
  11. 21 May, 2015 1 commit
  12. 29 Aug, 2014 1 commit
  13. 29 Jul, 2014 1 commit
    • Brigid Smith's avatar
      Stack tool 32/64 bit compatibility fixes. · f893e743
      Brigid Smith authored
      Left the default symbol.ARCH value intact and changed stack_core instead
      so that it will assume the ABI is arm until it sees an ABI line.  This
      allows compatibility for people who are used to pasting portions of a
      tombstone instead of the whole thing (assuming said tombstone is arm)
      while additionally supporting other architectures if a whole tombstone
        is pasted in.
      
      (cherry picked from commit 15142f79)
      
      Change-Id: Ide73171fc4e513b39bee74e2270252c3b32e23cd
      f893e743
  14. 16 Jul, 2014 1 commit
    • Brigid Smith's avatar
      Stack tool 32/64 bit compatibility fixes. · 15142f79
      Brigid Smith authored
      Left the default symbol.ARCH value intact and changed stack_core instead
      so that it will assume the ABI is arm until it sees an ABI line.  This
      allows compatibility for people who are used to pasting portions of a
      tombstone instead of the whole thing (assuming said tombstone is arm)
      while additionally supporting other architectures if a whole tombstone
        is pasted in.
      
      Change-Id: Ib8b5754920d2e2aa5017c29daeca59abcf4b547d
      15142f79
  15. 15 Jul, 2014 2 commits
  16. 07 Jul, 2014 3 commits
    • Brigid Smith's avatar
      stack_core ProcessLine now returns a boolean. · 9c2192a2
      Brigid Smith authored
      The value corresponds to whether or not the line has matched one of the
      detected formats (registers, header, backtrace, etc.) and can be used to
      identify what logcat lines don't correspond to one of these formats.
      
      Change-Id: Ibd7bc5a211dcfe86ea2f92d7e7941091afff4fc4
      9c2192a2
    • Brigid Smith's avatar
      stack_core now also detects the "Revision: #" line. · 0b309400
      Brigid Smith authored
      Change-Id: I474602eca37964e412acf8cb5f2441cd223852e4
      0b309400
    • Elliott Hughes's avatar
      Fix symbol.py's toolchain detection for x86. · c3166bec
      Elliott Hughes authored
      x86 uses the x86_64 toolchain. There's no separate 32-bit toolchain.
      
      I started to refactor so we could add FindToolchain tests, but that doesn't
      work because FindToolchain depends on environment variables set up by 'lunch'.
      
      Change-Id: I264b95e1e83a7e795f8cac49bc9e1cf497514029
      c3166bec
  17. 01 Jul, 2014 2 commits
    • Elliott Hughes's avatar
      Fix 'stack' register matching for all architectures. · a9e34173
      Elliott Hughes authored
      Every architecture was at least slightly wrong. Rather than try to
      tune the heuristics, let's just keep lists of all the registers.
      
      Also start adding some unit tests.
      
      Change-Id: I490dcc9855f7af1e3529734711400f366ffc4e0f
      a9e34173
    • Brigid Smith's avatar
      Turning stack_core into a class to make it compatible with adbs. · ea0a835d
      Brigid Smith authored
      This includes the fairly large change of refactoring stack_core.py into
      a class so that its behavior is compatible with adbs.  Additionally, if
      the ABI line does not come before lines that require it to determine
      proper widths (registers, stack), then it will assume that the ABI is
      32 bit and not 64.
      
      Change-Id: I6ad84a55337d86d25f7f8197048dc93868b0a01a
      ea0a835d
  18. 17 Jun, 2014 1 commit
  19. 14 Jun, 2014 1 commit
  20. 14 Apr, 2014 1 commit
  21. 30 Apr, 2013 1 commit
  22. 25 Apr, 2013 1 commit