)]}'
{
  "log": [
    {
      "commit": "7827991d7fbef20037e555a04dab269f0a20c132",
      "tree": "428726edb3eed64180b311552a98a9f9e1d53f65",
      "parents": [
        "2ba3ae310ecd67ea78717cbcf6cd9e80548a78e7"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Jun 30 18:39:54 2022 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Jun 30 18:54:19 2022 -0700"
      },
      "message": "Fix scudo MTE tests.\n\nr.android.com/2108505 was intended to fix a crash in Scudo in\nthe case where the stack depot, region info or ring buffer were\nunreadable. However, it also ended up introducing a number of bugs into\nthe code. It failed to call __scudo_get_error_info if the page at the\nfault address was unreadable. This can happen in legitimate crash cases\nif a primary allocation was close to the boundary of a mapped region,\nor if the allocation was a secondary allocation with guard pages. It\nalso used long as the type for tags, whereas Scudo expects it to be\nchar. In combination this ended up causing most of the MTE tests to\nfail. Therefore, mostly revert that change.\n\nFix the original crash by null checking the pointers returned by\nAllocAndReadFully before proceeding with the rest of the function.\n\nBug: 233720136\nChange-Id: I04d70d2abffaa35fe315d15d9224f9b412a9825d\n"
    },
    {
      "commit": "d17cefe7e4f44bb4ec3e72bf2088e895ce83714d",
      "tree": "575049b1f7b5e0c3a241eb3309a67d83419ed7b6",
      "parents": [
        "715ecbfb235316ebc88f7f6b15751d71f2642797",
        "381b89c8db97346e2276dd56b458d4531ef54c94"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 01 20:20:09 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 01 20:20:09 2022 +0000"
      },
      "message": "Merge \"Fix scudo fault address processing.\""
    },
    {
      "commit": "7c2e7e31f6a544a6051e4d3f4e26a22a1c0707b7",
      "tree": "a2b2012c214aab5bb70386f189296bcc9e744066",
      "parents": [
        "ab2d6cdc8fcab494f06effc7a9eb1855313bcf3b"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri May 27 12:57:58 2022 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri May 27 13:05:56 2022 -0700"
      },
      "message": "Fix fallback paths for dumping threads.\n\nIn the fallback path, if the non-main thread is the target\nto be dumped, then no other threads are dumped when creating\na tombstone. Fix this and add unit tests to verify that\nthis all threads, including the main thread are dumped.\n\nBug: 234058038\n\nTest: All unit tests pass.\nTest: debuggerd -b media.swcodec process\nTest: debuggerd media.swcodec process\nChange-Id: Ibb75264f7b3847acdbab939a66902d986c0d0e5c\n"
    },
    {
      "commit": "381b89c8db97346e2276dd56b458d4531ef54c94",
      "tree": "6970cbd013c6e9ef0ad72f7980d4766254fcfd65",
      "parents": [
        "a09cace1d134e6d585d5c710f17ce971fd6909ab"
      ],
      "author": {
        "name": "liyong",
        "email": "liyong@allwinnertech.com",
        "time": "Tue May 24 16:37:10 2022 +0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 26 18:50:52 2022 -0700"
      },
      "message": "Fix scudo fault address processing.\n\nThe code doesn\u0027t properly check if data is not read properly, so\nmake it fail if reads fail. Also, change the algorithm so that\nfirst try and read the faulting page then 16 pages before and 16\npages after. Rather than trying to read every one of these pages,\nstop as soon as one is unreadable. This means that the total memory\npassed to the scudo error function is all valid data, rather than\npotentially being some uninitialized memory.\n\nAdded new unit tests to cover scudo address processing.\n\nBug: 233720136\n\nTest: All unit tests pass.\nTest: atest CtsIncidentHostTestCases\nChange-Id: I18a97bdee9a0c44075c1c31ccd1b546d10895be9\n"
    },
    {
      "commit": "3b7b7ba90e22d78cf50e0b13e78eb977ba7f0883",
      "tree": "1eb5dc685ed420652756d353bcd507b3ab156c0a",
      "parents": [
        "93a8fc215e594b8e9ddcdaed8bac004faabd25cc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 15 16:56:09 2022 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu May 12 15:18:46 2022 -0700"
      },
      "message": "Use the new AndroidUnwinder object.\n\nThis simplifies most of the calls to avoid doing any Android\nspecific code.\n\nBug: 120606663\n\nTest: All unit tests pass.\nChange-Id: I511e637b9459a1f052a01e501b134e31d65b5fbe\n"
    },
    {
      "commit": "5411905232e62a7328b14f7eebea2d55b09c54c1",
      "tree": "9fabc69fa50ec636b878f36d3957fd8784951d92",
      "parents": [
        "ff1750c5f6ec09aa7a178a9020b228268c5ab173",
        "1e0969997a7f992f79e975f391a4810ff10e63d7"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Apr 21 18:12:43 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Apr 21 18:12:43 2022 +0000"
      },
      "message": "Merge \"[GWP-ASan] Enable debuggerd to pull more allocation metadata.\""
    },
    {
      "commit": "c6d428343c3d40db70b7a8056a2b0bda60d7dd1e",
      "tree": "dcdb1e4cdeba2d737a94a8494a11d5297243432b",
      "parents": [
        "ee711eda88d5789d6227e0b3693104ad171cd739"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 19 21:38:59 2022 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 19 22:06:58 2022 -0700"
      },
      "message": "Update for SetProcessMemory removal.\n\nBug: 120606663\n\nTest: All unit tests pass.\nChange-Id: Icf8a3ceb75b8962f8f215501c2bac631b40a1527\n"
    },
    {
      "commit": "1e0969997a7f992f79e975f391a4810ff10e63d7",
      "tree": "ac6f58b5c4b8df470a10576ab4eade72fc735e3b",
      "parents": [
        "3d0143dc62f874deb0e31f8d635c652867ff8247"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Mar 22 15:59:31 2022 -0700"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Apr 14 11:30:05 2022 -0700"
      },
      "message": "[GWP-ASan] Enable debuggerd to pull more allocation metadata.\n\nWith the addition of runtime-configurable GWP-ASan, there might be many,\nmany more than 1,000 allocations. Have support for them, but keep a\nhopefully-won\u0027t-crash-the-device limit.\n\nBug: 219651032\nTest: atest bionic-unit-tests\n\nChange-Id: I7b8e2bf5ab7c723ab6c61365f0dc610e400dbbce\n"
    },
    {
      "commit": "c95047dd20845f06532531ce83e0bedc8ee96038",
      "tree": "debe5fd01e72fef06b39c9f64f60270953da073f",
      "parents": [
        "83785021f7892e4590dd653f1b4ed5d98476c003"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Mar 14 15:02:11 2022 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 15 09:50:48 2022 -0700"
      },
      "message": "Update for accurate unreadable elf files.\n\nThe functionality moved from the Unwinder object to the MapInfo\nobject and means that the individual unreadable files can be\ndisplayed now.\n\nIncluded adding the unreadable elfs per thread in the protobuf.\n\nUpdated the unwinder test.\n\nTest: All unit tests pass.\nChange-Id: I7140bde16938736da005f926e10bbdb3dbc0f6f5\n"
    },
    {
      "commit": "a6fac881b208079c71a9cd55faa798348f06e3ca",
      "tree": "a54099e8cb620f0fd9f973c25608cfe0e183fb08",
      "parents": [
        "0326984c426f5ffc5c3af0a6241f9edb468e8482"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Mar 07 17:01:17 2022 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Mar 07 17:03:18 2022 -0800"
      },
      "message": "Remove dead non-proto tombstone reporting code.\n\nBug: 197981919\nChange-Id: I58a98070198ef0b686229bd54f87b9073df12d66\n"
    },
    {
      "commit": "b999b82eb79b6b8aaabcca2a65028158fcb246f3",
      "tree": "95944216b66afbf7899f7348ceffcdd6f323e523",
      "parents": [
        "efc9366188f2e80af4de4a4e960f121236930903"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 09 17:57:21 2022 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Feb 16 15:02:38 2022 -0800"
      },
      "message": "Dump threads in tombstone fallback path.\n\nWhen dumping a tombstone using the fallback path, only the main\nthread was showing up. Modify the code to dump the threads using\na slightly different path for the tombstone generation code.\n\nIn addition, while looking at this code, two MTE variables were\nnot set in the tombstone fallback code. Added those variables\nso MTE devices will work properly in this fallback path.\n\nModified the tombstone unit tests for seccomp to have\nmultiple threads and verify those threads show up in the tombstone.\n\nBug: 208933016\n\nTest: Ran unit tests.\nTest: Ran debuggerd \u003cPID\u003e on a privileged process and verified\nTest: all threads dumped. Also verified that the tagged_addr_ctrl\nTest: variable is present on the raven device.\nChange-Id: I16eadb0cc2c37a7dbc5cac16af9b5051008b5127\n"
    },
    {
      "commit": "94531996836916f123c8d4d47882dd392a0ff579",
      "tree": "215cc2ae0918cc6c579cc0dfab740cfdf3c9272b",
      "parents": [
        "4915f0416598b29b98b352a7b5f2982f2c035f6c",
        "d13ea523e12945b62b8b811b457137c679d46cfb"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jan 14 18:52:01 2022 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 14 18:52:01 2022 +0000"
      },
      "message": "Merge \"debuggerd: add the PAC keys to the tombstones.\""
    },
    {
      "commit": "d13ea523e12945b62b8b811b457137c679d46cfb",
      "tree": "08a03c7530a9f736536455ea7eb2010779fce956",
      "parents": [
        "da0756b5752c694d7e6dc7dc6f3a93b3f232b33e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 13 09:20:26 2022 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Jan 13 15:03:19 2022 -0800"
      },
      "message": "debuggerd: add the PAC keys to the tombstones.\n\nHard to get otherwise if you\u0027re trying to debug PAC issues.\n\nBug: http://b/214314197\nTest: treehugger\nChange-Id: I2e5502809f84579bf287364e59d6e7ff67770919\n"
    },
    {
      "commit": "22ad09b01d389d434c9c92b5a7b59d8eb5424015",
      "tree": "fec46aa1ed21dbf48f99ecaf230f6f3a75316841",
      "parents": [
        "b910961c160ab7d699e62bef3be449a11dafd9b1"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Nov 10 17:25:11 2021 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jan 06 14:37:46 2022 -0800"
      },
      "message": "Update for MapInfo objects in frame data.\n\nThe frame data no longer contains map_XXX fields which represent\nthe map data. Now there is only a shared pointer to the MapInfo\nobject with which this frame is associated.\n\nBug: 120606663\n\nTest: Unit tests pass.\nChange-Id: I89282963f742f6fcc07e48533da4108dc16bdce9\n"
    },
    {
      "commit": "bdea3bb56b8088196b2ada3c4bee92a7858cf232",
      "tree": "ba72c2da4225676f92d1102eae81b18624c34956",
      "parents": [
        "5f77edac5b0c8bd2e9aa1d0363f892f294d494cc"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Nov 17 01:09:22 2021 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Nov 19 02:07:30 2021 +0000"
      },
      "message": "Remove non-protobuf path.\n\nIt is expensive to keep the non-protobuf path around and it hasn\u0027t\nbeen used for an entire release without anyone noticing, so remove it.\n\nCreate new end-to-end unit tests that cover tests of the non-proto\ncode paths that are being deleted.\n\nBug: 197981919\n\nTest: Unit tests pass.\nChange-Id: Ia1c45572300bd63e5f196ad61e5e5386830c8ece\n"
    },
    {
      "commit": "a44f269ebac08eba48d3b3c3a4320039beeaa3c8",
      "tree": "9a714c2e8a2458e00a65c4f29d1cc68426fab9b7",
      "parents": [
        "8879f2723fd94f5138e192e89844dad7b47d566d",
        "773acaa18eef5140a1a23bb4fdfda15a2c37817e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 12 00:17:12 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 12 00:17:12 2021 +0000"
      },
      "message": "Merge \"Improvements to tombstone output.\""
    },
    {
      "commit": "773acaa18eef5140a1a23bb4fdfda15a2c37817e",
      "tree": "5c51ada8ce820dfca2694e7dab2f5b1868bb4fde",
      "parents": [
        "d0a4e710e9241fbf427fbebf107648841663e0a4"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Nov 10 16:29:23 2021 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Nov 11 15:05:47 2021 -0800"
      },
      "message": "Improvements to tombstone output.\n\n- Use \"likelihood\" instead of \"probability\" since that has connotations\n  of being less precise, and our probability ordering isn\u0027t very precise\n  anyway.\n\n- Hide the fault address with SEGV_MTEAERR because it is not available.\n\n- Pad the fault address with leading zeroes to make it clearer which\n  bits of the top byte (and any following bytes such as PAC signature\n  bits) are set.\n\nBug: 206015287\nChange-Id: I5e1e99b7f3e967c44781d8550bbd7158eb421b64\n"
    },
    {
      "commit": "57e19ac46edd035d9b76c8e1cad0e77c75328400",
      "tree": "22cd6322c08f6f275e153e6c93b670a6f9545543",
      "parents": [
        "8e9beea947145e56cfcd57d43da6c5cd407eeb11",
        "47d784e9f2ffe128a5564b111698c0103e88d62b"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Nov 10 18:56:59 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 10 18:56:59 2021 +0000"
      },
      "message": "Merge \"Add a human readable description of the tagged_addr_ctrl value to tombstones.\""
    },
    {
      "commit": "47d784e9f2ffe128a5564b111698c0103e88d62b",
      "tree": "0736c074c014637e0603c633419face7050944bf",
      "parents": [
        "80fccb3c9a532ee9d16389de0d54dae88b091665"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Nov 05 18:40:52 2021 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Nov 05 18:59:26 2021 -0700"
      },
      "message": "Add a human readable description of the tagged_addr_ctrl value to tombstones.\n\nChange-Id: Ib9860b282cf749891e0f6ef7697669b94235c236\n"
    },
    {
      "commit": "c67760611ce46067a1b85b1fa3e2755a7b2e867b",
      "tree": "a7998d84cc9ec2c81e8602a1f5cf02dac1406742",
      "parents": [
        "6a58c592699aa94f6b06c1a5baf412bcfefda8a4"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Jan 15 15:59:28 2021 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Oct 28 15:05:39 2021 -0700"
      },
      "message": "Update for libunwindstack shared_ptr MapInfos.\n\nBug: 120606663\n\nTest: Unit tests pass.\nChange-Id: Ieae157388e8571345ed8968a2b5c2aa34464689f\nMerged-In: Ieae157388e8571345ed8968a2b5c2aa34464689f\n(cherry picked from commit 853733b627dc5bbb07b2463a1f10f10ddee06bbc)\n"
    },
    {
      "commit": "2e1e76b8ff772cfde0aec4addf29f77fd9cf6d8a",
      "tree": "a1171d17c1a0f073f285cd7e4dc53d2b9a8cf4ce",
      "parents": [
        "79de51491020f10a0b600a362ad1ce8428962e8d",
        "dde8fefced8cda53dd785cc89617f4082d927897"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Oct 07 00:25:39 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 07 00:25:39 2021 +0000"
      },
      "message": "Merge \"Revert \"strerror: incl enum name\"\""
    },
    {
      "commit": "dde8fefced8cda53dd785cc89617f4082d927897",
      "tree": "6f4c8be16a53e5baab5011b9fc7587776ddec7af",
      "parents": [
        "575bce5ee8f6510dfa58cc2d804735b369486435"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Oct 07 00:19:18 2021 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Oct 07 00:19:18 2021 +0000"
      },
      "message": "Revert \"strerror: incl enum name\"\n\nRevert \"strerror: incl enum name\"\n\nRevert submission 1833622-usable-strerror\n\nReason for revert: b/202330586\nBug: 202330586\nReverted Changes:\nI4d8f617a0:Track strerror(3) change.\nI8ea86220c:strerror: incl enum name\nI407bd9f4d:strerror: incl enum name\n\nChange-Id: I293ac322160c6a82ff7004a3de085cafbd514458\n"
    },
    {
      "commit": "79de51491020f10a0b600a362ad1ce8428962e8d",
      "tree": "2173cf2b547961aa203a49dd905d7b8855e6be58",
      "parents": [
        "a3359bb3c916fdfd4c217d87e759b551138508a2",
        "575bce5ee8f6510dfa58cc2d804735b369486435"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Oct 06 19:35:51 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 06 19:35:51 2021 +0000"
      },
      "message": "Merge \"strerror: incl enum name\""
    },
    {
      "commit": "2b98c82f0597fe622df9409a726921173cfa8837",
      "tree": "b5413a7f43cde7b418bf2f812e0dec4623a1b16b",
      "parents": [
        "be17619cccc161a48a9bcf7b03384c32e13492db"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Sep 28 15:50:04 2021 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Sep 28 16:15:51 2021 -0700"
      },
      "message": "Add CHECK to verify assumptions in the code.\n\nOn the main thread, the siginfo pointer will never be nullptr.\nAdd a CHECK to make sure this is true.\n\nTest: Unit tests pass both 32 bit and 64 bit.\nTest: Ran with debug.debuggerd.translate_proto_to_text set to 0\nTest: to exercise old path.\nChange-Id: I9d5ed0de5d652de8a4f9cd85eb57cbb1ec676404\n"
    },
    {
      "commit": "be17619cccc161a48a9bcf7b03384c32e13492db",
      "tree": "ec2f8df9dead33d9f6a5ece2769a49758ff1a5f0",
      "parents": [
        "5125c62cf8f6135fb2a9ca8e2f3a18b6f6383d0d",
        "7aad2567ee842ac046607b781da626893bb68c64"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Sat Sep 25 01:36:48 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Sep 25 01:36:48 2021 +0000"
      },
      "message": "Merge \"Disable scudo when using svelte config.\""
    },
    {
      "commit": "7aad2567ee842ac046607b781da626893bb68c64",
      "tree": "0ed97ce8994412c8399d0de34410fc5eb866285d",
      "parents": [
        "e0e160c54bfe3fb040108d7d3de50549a649deb8"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 24 00:06:38 2021 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Sep 24 11:55:36 2021 -0700"
      },
      "message": "Disable scudo when using svelte config.\n\nThis code was added, but a svelte config still tries to use scudo\nrelated code that doesn\u0027t exist.\n\nBug: 201007100\n\nTest: Ran unit tests on normal config.\nTest: Ran unit tests on svelte config.\nChange-Id: Ic84bae37717d213121aef182bac2f82dbee25213\n"
    },
    {
      "commit": "575bce5ee8f6510dfa58cc2d804735b369486435",
      "tree": "6a3e44455dc3b54ff26397b53cab1a23c393f2ea",
      "parents": [
        "51fd280b8ee6a95b9ac296e24ae02d5f0bf2bfd4"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Sep 23 21:29:50 2021 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Sep 23 21:29:50 2021 -0700"
      },
      "message": "strerror: incl enum name\n\nstrerror is nice, but usually I don\u0027t care about the text, I care about\nthe uppercase enum\n\nBug: N/A\nTest: N/A\nChange-Id: I8ea86220cb04cbded701379c47b8aba8ea8864b8\n"
    },
    {
      "commit": "32d3cdda22287584081a55eb3d646c0e8f53a92d",
      "tree": "28ba939b268c1e1daec36b4d6900498d45e64d4b",
      "parents": [
        "3275d3eeecca828199774fb0805ab19a9009c7c6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 21 12:20:53 2021 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 21 17:30:30 2021 -0700"
      },
      "message": "libdebuggerd: fix process uptime.\n\nI was here because we have a case where timeout(1) kills logcat, but\ndebuggerd alleges that the process that was killed had started less than\na second ago. I\u0027m not sure this is the problem there, but I did notice\nthat far too many tombstones were claiming improbably short process\nuptimes. It turns out that the code was measuring the *thread* uptime,\nnot the *process* uptime.\n\nAlso simplify the code a bit by switching to sysinfo(2) rather than\nreading a file.\n\nTest: manual, plus the existing unit test\nChange-Id: Ie2810b1d5777ad9182be92bfb3f60795dc978b24\n"
    },
    {
      "commit": "7e4c2a8ccc62ceb072656deab53bd76a8e6af2a3",
      "tree": "8697e360f01c47dbb457b8d5f6b80c94cefc7305",
      "parents": [
        "c1c2b4f8168c4683dcd94fef13d7abf0f7a6abf1"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Aug 20 17:45:09 2021 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Aug 23 16:25:13 2021 -0700"
      },
      "message": "Add fault address marker in proto to tombstone.\n\nWhen the switch was made to dump the tombstone from the protobuf,\nthe fault address marker in the maps section went missing. Re-add\nthat logic and add new unit tests to verify all of the different\nbehaviors.\n\nBug: 193935960\n\nTest: All unit tests pass.\nTest: All unit tests pass when setprop debug.debuggerd.translate_proto_to_text 0\nTest: The above on cuttlefish, 32 bit and 64 bit.\nTest: The above on a flame, 32 bit and 64 bit.\nChange-Id: I098bb6ab4bacacae2ca0fc5ec9a73549ed0b9489\n"
    },
    {
      "commit": "e8891458e53da8a1dc3520f45f67dc639781429a",
      "tree": "9880a91a4659e2ec29221e308a9c423ff7155d31",
      "parents": [
        "6809b6705f4e9afd2a3c81cbe1aa863fde7849d9"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Aug 17 17:34:53 2021 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Aug 18 14:13:02 2021 -0700"
      },
      "message": "Remove trailing newlines from abort message.\n\nThe tombstone will add a newline after the abort message, so remove\nany trailing newlines before saving/printing.\n\nBug: 196414062\n\nTest: Unit tests pass.\nTest: Set system property debug.debuggerd.translate_proto_to_text to 0\ntest: and unit tests still pass.\nChange-Id: I0d3dc215eb5d8be93d99e5b9d4f0a14b1d61396d\n"
    },
    {
      "commit": "c31ccb44bf173f3a80c12a41310f7b81c6c125c3",
      "tree": "b939c51b3d61f400ca9d29e7a1875486ca7101b4",
      "parents": [
        "8d7c887b234cfffcf7821add9bbfc081e464ed3a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 01 01:43:21 2021 +0000"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jul 01 03:35:24 2021 +0000"
      },
      "message": "Update for new TRAP_PERF value.\n\nFor the new kernel 5.13 heders, there is a new TRAP_PERF value that\nneeds to be handled.\n\nTest: Builds.\nChange-Id: I2c6658ca94423c210db9ad6692ec69f6be69b3f5\n"
    },
    {
      "commit": "9e523858980b924790037eb0b6e0e481b81d32ca",
      "tree": "65c7fbab19ebd6573cb5dea15459f9d014e9233e",
      "parents": [
        "41d3223d3fd8cd499bdce3a2d1e34d20c82d69d4",
        "5ddcea2924f48797cf747f952f6fe2f561dacb24"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 29 22:46:59 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 29 22:46:59 2021 +0000"
      },
      "message": "Merge \"[MTE] Add a HWASan-style tag dump to tombstones.\""
    },
    {
      "commit": "5ddcea2924f48797cf747f952f6fe2f561dacb24",
      "tree": "e1cc21df3f739562afd1fc5e3bd96da9df4e1e67",
      "parents": [
        "a08d3288649518551c1e5224f8b1d88dbb62c7b4"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Mon Apr 19 09:59:17 2021 -0700"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Mon Jun 28 15:53:10 2021 -0700"
      },
      "message": "[MTE] Add a HWASan-style tag dump to tombstones.\n\nWe already dump the tags in the regigster dump section by appending the\ntag to the memory address. You only get 2 granules before each register\nand 13 after.\n\nThe HWASan-style tag dump is extremely useful for debugging, as it gives\na pretty comprehensive overview of the memory subsystem. It also\nprovides enough context bytes (256) to give you a reasonable intuition\nabout a particular bug.\n\nThe tag dump shows up only if PTRACE_PEEKTAGS returns at least one value\nin the 256 requested. If the start of end of the region is untagged,\nit\u0027s omitted. The tag dump looks like this:\n\nChange-Id: Icc33fb97542d9b1fa3ae9e58aba34d524c6ba7b5\n\n---\nMemory tags around the fault address (0x60000704414d340), one tag per 16 bytes:\n      0x704414d000: 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n      0x704414d100: 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n      0x704414d200: 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n    \u003d\u003e0x704414d300: 0  0  0  0 [2] 2  0  0  0  0  0  0  0  0  0  0\n      0x704414d400: 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n      0x704414d500: 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n      0x704414d600: 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n      0x704414d700: 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n      0x704414d800: 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n      0x704414d900: 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n      0x704414da00: 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0\n---\n\nBug: 183992164\nTest: atest debuggerd_test on MTE+QEMU and sunfish.\n\nChange-Id: I8d5842e4803ca30b407e866c99eef56f2cb36600\n"
    },
    {
      "commit": "cbf7c466e65eba2b285b28292a5e4934b6655c8a",
      "tree": "9c3601333c5eac1484075c9c71221011a5f4ad5d",
      "parents": [
        "56a05e1fd8c9b463933b297e260fb67156c728d5"
      ],
      "author": {
        "name": "yidong zhang",
        "email": "yidong.zhang@amlogic.com",
        "time": "Thu Jun 24 17:51:56 2021 +0800"
      },
      "committer": {
        "name": "yidong zhang",
        "email": "yidong.zhang@amlogic.com",
        "time": "Thu Jun 24 19:04:55 2021 +0800"
      },
      "message": "Avoid using thread cache in unwinder.\n\nUsing  thread cache will cause SIGSEGV for 32bit+kernel4.9 device.\n\nBug: 190579082\nBug: 189803009\n\nTest: run cts -m CtsSeccompHostTestCases\nChange-Id: I47b13d02674aadbacd8dac36d8382eed0885413c\nSigned-off-by: yidong zhang \u003cyidong.zhang@amlogic.com\u003e\n"
    },
    {
      "commit": "78f0670ddadb98c270cc0a0115bb4da4e5d80a95",
      "tree": "758075e32e641187baf3806f725dd2db780a761e",
      "parents": [
        "7e2d32bc06103182e58b992391dd8cb8b6806575"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Jun 01 14:35:43 2021 -0700"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Jun 01 18:12:22 2021 -0700"
      },
      "message": "[MTE] Print cause and alloc/dealloc traces to logcat.\n\nThis information clearly meets the bar for being dumped to logcat. If we\nomit the info, we may confuse the user into thinking that it\u0027s not\navailable at all, especially if it\u0027s their first time seeing an MTE\nreport.\n\nThis also adds some functionality to the integration testing library to\npull logcat messages and scan them to make sure the contents are in both\nplaces.\n\nBug: 187881237\nTest: atest debuggerd_test # on QEMU w/ MTE.\nChange-Id: Icc17ea45bda7628331cc4812eaad3bc5c949b7a7\n"
    },
    {
      "commit": "d8ab48b4db956b876aa3f75642324fc406be4b84",
      "tree": "2036aac03453c7f52cd184165aba0e9ee2602e70",
      "parents": [
        "b212a33c58e0a84235301802d4c8a32d0acf5e0f"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu May 13 00:03:26 2021 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Thu May 13 01:51:58 2021 +0100"
      },
      "message": "Update API of MapInfo from libunwindstack\n\nUse accessors to for all the fields.\n\nTest: build\nChange-Id: I68d149d914d4a4b088aaf822fe222a5d9e56ae80\n"
    },
    {
      "commit": "fe751c5a61c4501a187ae82a9cacffab1cba9d7e",
      "tree": "a1d6892f502e9e02b1b0a9e937e4d09e01011c6d",
      "parents": [
        "4f8a56f15de51ea3ecc08cd84748cdc56d640aaf"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 16 09:40:40 2021 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon May 03 15:21:11 2021 -0700"
      },
      "message": "Re-add backtrace note about unreadable elf.\n\nWhen moving to the proto-ized tombstones, the note about unreadable\nelf files in a backtrace got lost. This re-adds it and adds a test\nto verify that the note properly shows up.\n\nBug: 185428454\n\nTest: Ran unit tests.\nChange-Id: I1150cc737772e1b79fd73ec5c782caadc4629421\n"
    },
    {
      "commit": "007d7941c82563f27decf2f0a951c1c402f31433",
      "tree": "4d280d93e94c866f3282beaa843841269c91320a",
      "parents": [
        "911850ecc37c6613c1f5c0598d6880260c391bae",
        "31348a74e0708d8f51ee61b2fca2045f77e1f542"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Mar 31 08:29:54 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 31 08:29:54 2021 +0000"
      },
      "message": "Merge \"debuggerd: store commandline instead of process name.\""
    },
    {
      "commit": "31348a74e0708d8f51ee61b2fca2045f77e1f542",
      "tree": "fc4484ce33e0d874d4e8acee745e3e9945f6ea56",
      "parents": [
        "5d5e16db570f1da4b4115317c9aed32e632007c1"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 29 21:53:42 2021 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Mar 30 12:15:56 2021 -0700"
      },
      "message": "debuggerd: store commandline instead of process name.\n\nBug: http://b/180605583\nTest: debuggerd_test\nChange-Id: I018d399a5460f357766dc1b429f645f78fe88565\n"
    },
    {
      "commit": "847b2a371f561114078cc925a3f0c31983597879",
      "tree": "fa803b69b5155bf8610087122580ab84680a2d09",
      "parents": [
        "5d5e16db570f1da4b4115317c9aed32e632007c1"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 23 23:20:37 2021 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Mar 23 23:20:37 2021 +0000"
      },
      "message": "Adjust libunwindstack MapInfo API\n\nTest: m debuggerd_test\nChange-Id: I63a2379bad3ace4755ae48bf0a83eaa0070f9077\n"
    },
    {
      "commit": "777148f9f2b0dabf201bc084b0709d061bb24656",
      "tree": "ae489b6ebbe9e1954fcb1469d57086f8f28f7083",
      "parents": [
        "15acff029f71bf875138dd226cf75f1a09222fcb",
        "dbb83de0d509fa1e8209f70c3f04d9da0476da41"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Mar 23 06:46:05 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 23 06:46:05 2021 +0000"
      },
      "message": "Merge \"libdebuggerd: store process uptime.\""
    },
    {
      "commit": "f4a40c0edd6f9a29609fcb72f12984963c35ec29",
      "tree": "889e2bbc80d4b6478b6b08813c6bfed8690678ac",
      "parents": [
        "d0f5eb5716514f69ebc9d9306b1383949c8bafb1",
        "1a1f7d79a4489671c705e6c5f20bb19dc35e8ba6"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Mar 19 23:42:23 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 19 23:42:23 2021 +0000"
      },
      "message": "Merge \"Support MTE and GWP-ASan features in proto tombstones.\""
    },
    {
      "commit": "d0f5eb5716514f69ebc9d9306b1383949c8bafb1",
      "tree": "001d0418e3a101060f8f05d2694320125c0dad88",
      "parents": [
        "9ca59c387f28f7c7c21745cf72a6c4565858c197",
        "7168a217b9cea298feb8b1917c5457672cd309ee"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Mar 19 23:42:23 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 19 23:42:23 2021 +0000"
      },
      "message": "Merge \"[GWP-ASan] Add debuggerd end-to-end tests and remove unique wording.\""
    },
    {
      "commit": "b68b07391a47b72fabb162020a769d8b11ab19d6",
      "tree": "e26d8a3bdf19a97feefee513397337bcb113628b",
      "parents": [
        "ccc7db3d92748340e7ee473eac9a09e4605e9fba"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 16 17:35:33 2021 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Mar 16 17:35:33 2021 -0700"
      },
      "message": "debuggerd: remove unused file.\n\nTest: treehugger\nChange-Id: I17f5f88e91be3dccbf01b93ca93b0879a997bb4d\n"
    },
    {
      "commit": "1a1f7d79a4489671c705e6c5f20bb19dc35e8ba6",
      "tree": "165c7a9c7f2d92154e93336f3511f7aa9479b3e9",
      "parents": [
        "d5bd5437b0bd0723d8199c332e8766d0b6a9a460"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Mar 08 16:53:54 2021 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Mar 16 10:59:39 2021 -0700"
      },
      "message": "Support MTE and GWP-ASan features in proto tombstones.\n\nProto tombstones were missing tagged fault addresses, tagged_addr_ctrl,\ntags in memory dumps and Scudo and GWP-ASan error reports. Since text\ntombstones now go via protos, all of these features broke when we\nswitched to text tombstones generated from protos by default. Fix\nthe features by adding support for them to the proto format,\ntombstone_proto and tombstone_proto_to_text.\n\nBug: 135772972\nBug: 182489365\nChange-Id: I3ca854546c38755b1f6410a1f6198a44d25ed1c5\n"
    },
    {
      "commit": "7168a217b9cea298feb8b1917c5457672cd309ee",
      "tree": "3e2cf2629d95ae3e4dbfc4c0944921ed2c7f7e32",
      "parents": [
        "d5bd5437b0bd0723d8199c332e8766d0b6a9a460"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Mar 09 16:53:23 2021 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Mar 11 15:56:35 2021 -0800"
      },
      "message": "[GWP-ASan] Add debuggerd end-to-end tests and remove unique wording.\n\nLooks like we unintentionally had a breakage after aosp/1595302, where\nboth GWP-ASan and MTE tests started failing because the extra\ninformation wasn\u0027t plumbed through the tombstones. MTE has end-to-end\ntests but aren\u0027t run continuously, and GWP-ASan was missing the e2e\ntests.\n\nAlso remove some unique wording for GWP-ASan, a UaF on the free\u0027d\npointer is now \"0 bytes into a 16-byte allocation\" instead of \"on a\n16-byte allocation\". The former is more descriptive and is more\nubiquitously used in our tooling.\n\nThis patch adds the E2E tests, but the underlying problem needs to be\nfixed as well, before this patch can land.\n\nBug: 182489365\nTest: atest debuggerd_test\nChange-Id: I0fe8aba7ea443b3071724987f46b19a6525cda3c\n"
    },
    {
      "commit": "90947d442cb1ae59474f674ba663d8ba2dfdf554",
      "tree": "7869e4b090aa3dff6b8fa10c22c6feb528a95afc",
      "parents": [
        "bd83b72bc8dc4fc1d6da55dbbd75aaba18a77da0",
        "bb4b49c63c64a622d1b4bc6df00c53a93b3da97d"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Mar 11 01:15:49 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 11 01:15:49 2021 +0000"
      },
      "message": "Merge \"Teach debuggerd to pass the secondary ring buffer to __scudo_get_error_info().\""
    },
    {
      "commit": "3f24fefe29b3810bc56b0dc08141f4923eb67f3b",
      "tree": "4febe0635ef03842a54c753aee7bdb5e19d3b769",
      "parents": [
        "294a13ae0d4fb28238a2cd3831f8bd589bf5c30c",
        "0ea08c2f0b991bec4a94673bfeb140e729ee006a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 06 02:41:05 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 06 02:41:05 2021 +0000"
      },
      "message": "Merge \"Untag addresses in registers before looking up the mapping.\""
    },
    {
      "commit": "dbb83de0d509fa1e8209f70c3f04d9da0476da41",
      "tree": "ab4f54db7c8ae675058fecb0dece32f47695ad81",
      "parents": [
        "8b0a9e06bad4eea89f8f15d5381a5d702dfe2b0c"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 01 23:13:13 2021 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 01 23:45:29 2021 -0800"
      },
      "message": "libdebuggerd: store process uptime.\n\nApplication developers would like to know how long their process has\nbeen alive for to distinguish between crashes that happen immediately\nupon startup and crashes in regular operation.\n\nTest: manual\nChange-Id: Ia31eeadfcced358b478c7a7c7bb2e8a0252e30f4\n"
    },
    {
      "commit": "8b0a9e06bad4eea89f8f15d5381a5d702dfe2b0c",
      "tree": "1371d32ab98571e4553ffa2eb8a523fa8af62f17",
      "parents": [
        "0d4089cb1cc0310e63f1e7bc8e8598d03dcd65af"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 01 23:07:40 2021 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Mar 01 23:07:40 2021 -0800"
      },
      "message": "libdebuggerd: delete unused code.\n\nTest: none\nChange-Id: I87b62f306d287e9356c639f6d0c49566c71f7f29\n"
    },
    {
      "commit": "d57652f15b078d06d9258094f8a951374a677f2c",
      "tree": "ffea44a21eb09d540558a4c31ae32111c2440010",
      "parents": [
        "a4807cba228b4afdd276b602d68f2001d9a3aa1a",
        "95b026f976f0506732c0e95e81dd9dee8e27414a"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Feb 19 19:47:44 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 19 19:47:44 2021 +0000"
      },
      "message": "Merge \"Update for new kernel 5.11 headers.\""
    },
    {
      "commit": "3be68745ae2ffedf3381f01541d265fa358b720e",
      "tree": "72f55f72fc8095692d533e5b84b389e21050d027",
      "parents": [
        "c89dd8594e4a9dcf859fdc1ca69d9a194a1c7b26"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Feb 18 16:56:48 2021 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Feb 18 16:57:53 2021 -0800"
      },
      "message": "Generate text tombstones from proto tombstones by default.\n\nWe\u0027re running into timeouts from death tests because we\u0027re ~doubling the\ncost of crash dumping by doing it twice.\n\nBug: http://b/180605583\nTest: treehugger\nChange-Id: If5b40434171323a09960b70af0124ec08bd3fbe8\n"
    },
    {
      "commit": "95b026f976f0506732c0e95e81dd9dee8e27414a",
      "tree": "04f75240c8e1642aa3e49f8720b9942011291f6e",
      "parents": [
        "ca474f994d45e60bae8841b7d41c876fc48b8a6e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 18 11:44:10 2021 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Feb 18 11:59:11 2021 -0800"
      },
      "message": "Update for new kernel 5.11 headers.\n\nAdd new SYS_USER_DISPATCH to SIGSYS case.\n\nTest: Builds, unit tests pass.\nChange-Id: Id470053c167d7ffe51d622356c867815cd773fbc\n"
    },
    {
      "commit": "bb4b49c63c64a622d1b4bc6df00c53a93b3da97d",
      "tree": "dcc9ca1dbafc17f287b394c51a0026c48be2f7d7",
      "parents": [
        "7b204ac4cad6531e9d95fa25f787c01e889dd7af"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Jan 06 21:02:19 2021 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Feb 12 12:30:52 2021 -0800"
      },
      "message": "Teach debuggerd to pass the secondary ring buffer to __scudo_get_error_info().\n\nWith this change we can report memory errors involving secondary\nallocations. Update the existing crasher tests to also test\nUAF/overflow/underflow on allocations with sizes sufficient to trigger\nthe secondary allocator.\n\nBug: 135772972\nChange-Id: Ic8925c1f18621a8f272e26d5630e5d11d6d34d38\n"
    },
    {
      "commit": "2aaad2a696beee9fcb9198d1b31cb2dc69c586e3",
      "tree": "19bd7613a2646a29d5e3347e8a766856487affd1",
      "parents": [
        "a24aef614a478ff932060a2ad1ec2dbb7b00de6c"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Feb 10 11:38:28 2021 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Feb 10 11:38:28 2021 -0800"
      },
      "message": "[GWP-ASan] Update metadata field name.\n\nBug: N/A\nTest: Build succeeds.\nChange-Id: I889fbc6722695c9c738352c174c8817548a0faa1\n"
    },
    {
      "commit": "0ea08c2f0b991bec4a94673bfeb140e729ee006a",
      "tree": "5098017575330f764f3f37ca42baa4b797639b42",
      "parents": [
        "7b204ac4cad6531e9d95fa25f787c01e889dd7af"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Feb 05 14:59:08 2021 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Feb 05 15:01:12 2021 -0800"
      },
      "message": "Untag addresses in registers before looking up the mapping.\n\nOtherwise we can fail to find map entries for tagged addresses,\nsuch as those of heap objects.\n\nBug: 135772972\nChange-Id: Ia626b0587c8461eb575b2de5c08562c73ba4a66e\n"
    },
    {
      "commit": "618cea3ebda342b39db103ac85e96a541d67b1f7",
      "tree": "b235edbe96d90d6541fbfed760e4398962e0b651",
      "parents": [
        "76e1e30f16d8de3e0de2dabcef3c774973b9dd9c"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jan 26 17:45:43 2021 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Jan 27 15:52:43 2021 -0800"
      },
      "message": "Remove use of libbase logging in libdebuggerd.\n\nlibbase logging uses getprogname() to get the default tag, which breaks\nfor the fallback handler which is statically linked into the dynamic\nlinker. Switch to libasync_safe for logging.\n\nTest: atest -c CtsSeccompHostTestCases:android.seccomp.cts.SeccompHostJUnit4DeviceTest#testAppZygoteSyscalls\nChange-Id: Ieeaf33fb26cff4ba7e1589d1d883ac2fcc74cf47\n"
    },
    {
      "commit": "76e1e30f16d8de3e0de2dabcef3c774973b9dd9c",
      "tree": "8e5d85f5ea79413c208c6b2dbac0961d31c6c586",
      "parents": [
        "e8cc75f059d9758fd255e46bd6f13b8a040820e0"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jan 26 15:53:11 2021 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Jan 26 17:55:17 2021 -0800"
      },
      "message": "Reland protobuf tombstones.\n\nThis reverts the following commits:\n    e156ede145a7fc671c705d045d89b49922a758b5.\n    eda96eddcbdda9632166232b2363c7b84da0994d.\n    5ec54d1e843729cd1e38a2f791f001226a653e95.\n    1e45d3f2239333217d3252f78151f4294fda4e80.\n    a50f61f8fa903117a6df82d164628de310f16ae9.\n\nTest: treehugger\nTest: atest -c CtsSeccompHostTestCases:android.seccomp.cts.SeccompHostJUnit4DeviceTest#testAppZygoteSyscalls\nChange-Id: Ic2b1f489ac9f1fec7d7a33c845c29891f4306bbd\n"
    },
    {
      "commit": "1e45d3f2239333217d3252f78151f4294fda4e80",
      "tree": "efca6c6cb194e0693e74852e898e0d80b4cdd0f6",
      "parents": [
        "a50f61f8fa903117a6df82d164628de310f16ae9"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Tue Jan 26 12:36:12 2021 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Tue Jan 26 12:41:20 2021 +0000"
      },
      "message": "Revert \"libdebuggerd: add protobuf implementation.\"\n\nRevert \"Let crash_dump read /proc/$PID.\"\n\nRevert submission 1556807-tombstone_proto\n\nReason for revert: b/178455196, Broken test: android.seccomp.cts.SeccompHostJUnit4DeviceTest#testAppZygoteSyscalls on git_master on cf_x86_64_phone-userdebug\n\nReverted Changes:\nIde6811297:tombstoned: switch from goto to RAII.\nI8d285c4b4:tombstoned: make it easier to add more types of ou...\nId0f0fa285:tombstoned: support for protobuf fds.\nI6be6082ab:Let crash_dump read /proc/$PID.\nId812ca390:Make protobuf vendor_ramdisk_available.\nIeeece6e6d:libdebuggerd: add protobuf implementation.\n\nChange-Id: Ia0a1ee57e7630e01c495dc166218f665340aad7f\n"
    },
    {
      "commit": "a50f61f8fa903117a6df82d164628de310f16ae9",
      "tree": "9999cbdd78e82ebe9deaa0d3ae344380f6eced93",
      "parents": [
        "675cb30f05907f6c509815365c9af58a8671fe4e"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Tue Jan 26 12:40:51 2021 +0000"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Tue Jan 26 12:40:51 2021 +0000"
      },
      "message": "Revert \"Fix build breakage.\"\n\nThis reverts commit 675cb30f05907f6c509815365c9af58a8671fe4e.\n\nReason for revert: b/178455196, Broken test: android.seccomp.cts.SeccompHostJUnit4DeviceTest#testAppZygoteSyscalls on git_master on cf_x86_64_phone-userdebug\n\nChange-Id: I82d228f2bc3e6b426d4703732e1c8766815ccc97\n"
    },
    {
      "commit": "675cb30f05907f6c509815365c9af58a8671fe4e",
      "tree": "6871747309c79485e02c763631ee6d1cc8307a86",
      "parents": [
        "6bf6a9fc612c57ae5c9cd25643fde794713058ea"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Jan 25 15:09:49 2021 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Jan 25 15:11:49 2021 -0800"
      },
      "message": "Fix build breakage.\n\nTest: mma\nTest: treehugger\nChange-Id: I2d08c9b6e7776e69ca1e7f0d83838830f3c9b15c\n"
    },
    {
      "commit": "6bf6a9fc612c57ae5c9cd25643fde794713058ea",
      "tree": "9999cbdd78e82ebe9deaa0d3ae344380f6eced93",
      "parents": [
        "ad7d1d13a4f79ad2a5341023b9fc746b3868d10b",
        "92317d82c970cea68884c3e9efbb5d6441dd6fa2"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Jan 25 22:18:48 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 25 22:18:48 2021 +0000"
      },
      "message": "Merge changes from topic \"tombstone_proto\"\n\n* changes:\n  libdebuggerd: add protobuf implementation.\n  tombstoned: support for protobuf fds.\n  tombstoned: make it easier to add more types of outputs.\n  tombstoned: switch from goto to RAII.\n"
    },
    {
      "commit": "e4adff0721930dcb6969245bfa298b6abd48d2d4",
      "tree": "d2887b534e002d17c2df01b723681620191ddf22",
      "parents": [
        "79f7e3f1fc900519b4eebd0674e18f0aa0d7fd42"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Jan 21 20:41:50 2021 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Jan 21 20:49:06 2021 -0800"
      },
      "message": "[MTE] Cleanup tagged si_addr refs to fix mappings OOB bug.\n\nCurrently, all MTE failures end up displaying \u0027Fault address falls at\n0x\u003caddr\u003e after any mapped regions\u0027. Clearly when scanning, we should use\nthe untagged address to figure out which ranges it\u0027s in.\n\nI\u0027ve taken the liberty of removing all si_addr parsing and moving it\ninto the common ProcessInfo, as well as making it really explicit\nwhether you want the (possibly tagged) original si_addr, or whether you\nwant the untagged variant (for scanning /proc/maps or whatever).\n\nThis is not particularly easily testable, as ReadCrashInfo isn\u0027t easily\ninjectable and `dump_all_maps` should already be passed the untagged\npointer to scan for. I\u0027ve tested this locally on FVP under SYNC MTE with\na simple UaF binary and noted the problem is fixed. Given that this is\nmaking the code more clear, I\u0027m hoping the owners see no need for a\nregression test :).\n\nBug: 135772972\nTest: On FVP, run \u0027adb shell MEMTAG_OPTIONS\u003dsync sanitizer-status\u0027 and\n      check that the use-after-free test ends up with the /proc/maps\n      desription in the right place.\nChange-Id: I220e4200c75a72474a95a67e5bbc36173a438dd2\n"
    },
    {
      "commit": "92317d82c970cea68884c3e9efbb5d6441dd6fa2",
      "tree": "645cf2815080af43bcb156fc7a9dda5258084ec2",
      "parents": [
        "1091d24c162572c31e716d97b01a306ebce4d377"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Nov 09 14:42:01 2020 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Thu Jan 21 15:40:23 2021 -0800"
      },
      "message": "libdebuggerd: add protobuf implementation.\n\nThis commit implements protobuf output for tombstones, along with a\ntranslator that should emit bytewise identical output to the existing\ntombstone dumping code, except for ancillary data from GWP-ASan and\nScudo, which haven\u0027t been implemented yet.\n\nTest: setprop debug.debuggerd.translate.translate_proto_to_text 1 \u0026\u0026\n        /data/nativetest64/debuggerd_test/debuggerd_test\nTest: for TOMBSTONE in /data/tombstones/tombstone_??; do\n        pbtombstone $TOMBSTONE.pb | diff $TOMBSTONE -\n      done\nChange-Id: Ieeece6e6d1c26eb608b00ec24e2e725e161c8c92\n"
    },
    {
      "commit": "cd27807bfe9264d17dab7add61f0ea245e17e26f",
      "tree": "5d8c33d9f323a94d2e76a6763586acc73606bbe6",
      "parents": [
        "e3e5ae9eae5f898c7fd2b382240564cc5c7147d7"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Dec 21 14:08:38 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Jan 11 10:55:51 2021 -0800"
      },
      "message": "Remove ANDROID_EXPERIMENTAL_MTE.\n\nNow that the feature guarded by this flag has landed in Linux 5.10\nwe no longer need the flag, so we can remove it.\n\nBug: 135772972\nChange-Id: I02fa50848cbd0486c23c8a229bb8f1ab5dd5a56f\n"
    },
    {
      "commit": "6ddc2c56c9dd29115263db2fc0f79282036e0b09",
      "tree": "4ce3fb91bccc95bd157dd4ca85d046b65a46d5fb",
      "parents": [
        "5a611cb8346877493929582855d8bcbbfd8f3dbf"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 14 20:53:52 2020 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Dec 14 22:36:37 2020 -0800"
      },
      "message": "Update for v5.10 kernel headers.\n\nTest: Builds.\nChange-Id: I6c4b04751df026ef7cbb91627174188c5e6d137c\n"
    },
    {
      "commit": "8efcd6325cf362a4199cf18407456010774e34f2",
      "tree": "aa29fd12cf8c2947b94e26e29a180a385e1d69f9",
      "parents": [
        "3bb971dcc31d163e17aa9c76326aa7070489c1ae"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Nov 24 17:27:05 2020 +0000"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Nov 24 17:27:05 2020 +0000"
      },
      "message": "Adjust to MapInfo to new api.\n\nChange-Id: Ic3818a8b001657e6b54ba6fcbf68f8c1d7ef2683\n"
    },
    {
      "commit": "ebc78cc8523b1047d9d7eca1cf183f39a6b06480",
      "tree": "52d8542d6504ce5f78c8fcce07000a9f37463f0a",
      "parents": [
        "13e33f7f80443ce63bfa410442d15151227f427c"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Nov 13 10:54:13 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Nov 13 16:08:27 2020 -0800"
      },
      "message": "Switch to the new kernel API for obtaining fault address tag bits.\n\nThe discussion on LKML is converging on v16 of the fault address tag\nbits patch [1]. In this version of the patch the presence of the tag\nbits in si_addr is controlled by a sa_flags bit, and a protocol is\nintroduced to allow userspace to detect kernel support for sa_flags\nbits. Update the tombstone signal handler to use this API to read\nthe tag bits, update the interceptors in libsigchain to implement\nthe flag support detection protocol and hide the tag bits in si_addr\nfrom chained signal handlers that did not request them to match the\nkernel behavior.\n\n[1] https://lore.kernel.org/linux-arm-kernel/cover.1605235762.git.pcc@google.com/\n\nChange-Id: I57f24c07c01ceb3e5b81cfc15edf559ef7dfc740\n"
    },
    {
      "commit": "b05c472421d9d4dd919926c95a5c1de4eb9a721a",
      "tree": "c8b6009b561bc70170f102a9697ccf42bb997999",
      "parents": [
        "de540ad2f1db55eb34adc8af8f5074163ffb9118"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Sep 23 15:51:46 2020 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Sep 24 18:46:23 2020 -0700"
      },
      "message": "Add arch member into Unwinder object.\n\nThis simplifies some of the logic and removes the need to pass an\nArch value to functions that should already know about the arch\nit is operating on.\n\nIncludes fixes for debuggerd/libbacktrace.\n\nAdded new unit tests to cover new cases.\n\nTest: All unit tests pass.\nTest: Faked unwinder failing to verify debuggerd error messages display\nTest: properly in backtrace and tombstone.\nChange-Id: I439fcae0695befcfb1cb4c0a786cc74949d33425\n"
    },
    {
      "commit": "864f15dd6d05abe77670e2e20fe7aa1819600e7c",
      "tree": "dd37358a2568729acacd33b6d279eb9466207e74",
      "parents": [
        "278f11b57425d3a14369049e866c597980677988"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Sep 14 20:27:36 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Sep 15 21:32:36 2020 -0700"
      },
      "message": "Dump the per-thread TAGGED_ADDR_CTRL value if available.\n\nThis value indicates whether memory tagging is enabled on a thread,\nthe mode (sync or async) and the set of excluded tags. This information\ncan sometimes be important for understanding an MTE related crash,\nso include it in the per-thread tombstone output.\n\nBug: 135772972\nChange-Id: I25a16e10ac7fbb2b1ab2a961a5279f787039000b\n"
    },
    {
      "commit": "713ec25103fb601dd508f773a326d9fcd83f0e25",
      "tree": "7386c411357fd654b0d791eb951d7a6f8d4ec764",
      "parents": [
        "9d7657b62ef47c7fdb49d08eb049b8039f3a25e1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 03 08:43:43 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Aug 03 18:56:35 2020 +0000"
      },
      "message": "libdebuggerd: do a to-do.\n\nUntil 77fdb22cf686002dfba8a24cf36666d7257b3034, logd started as\nAID_ROOT and then dropped its privileges. Since then, there\u0027s been no\nreason to use string comparisons rather than checking the uid.\n\nTest: pkill -SEGV logd\nTest: treehugger\nChange-Id: Ia709f8f59cb0ab9abac7df84c96c701b5d0a83ea\n"
    },
    {
      "commit": "7b21637782358142be6953af26515b6cba80334b",
      "tree": "784b36191bbf76fabc43e07c82e159762edf057f",
      "parents": [
        "fcaed0effab54fa6face42a1b55c26760df0a074"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Jul 31 15:25:43 2020 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Jul 31 16:36:06 2020 -0600"
      },
      "message": "Update language to comply with Android\u0027s inclusive language guidance\n\nSee https://source.android.com/setup/contribute/respectful-code for reference\n\nBug: 161896447\nChange-Id: Iafcccbdbdf3ff1078e87000e2ce560ff09b43f68\n"
    },
    {
      "commit": "ba1bd64ca2af20d251fa9ee645d902c0a6480e34",
      "tree": "38cb29fcc9c0130c9a4bdab9125a835c55ae7e94",
      "parents": [
        "d1bd5f20eb89c7c84599d0fd79e7e2a82f8f2b29",
        "a660cb3f13ad369554678ea19753cbc7e92726f3"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Jul 24 15:47:03 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 24 15:47:03 2020 +0000"
      },
      "message": "Merge \"debuggerd: use One True timestamp function.\""
    },
    {
      "commit": "a660cb3f13ad369554678ea19753cbc7e92726f3",
      "tree": "3559b09f77391adc9c74016ff9d9d2e52d2d1fb2",
      "parents": [
        "4aa073337d6b872ff87b702c4dcfa26142e6c9c2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 23 15:26:10 2020 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jul 23 16:33:53 2020 -0700"
      },
      "message": "debuggerd: use One True timestamp function.\n\nAn OEM asks for sub-second granularity, and that\u0027s most easily done if\nwe only have one timestamp generator. I\u0027m not convinced sub-second\ngranularity is particularly useful myself, and I definitely don\u0027t think\nthat nanosecond resolution is meaningful but I do like this cleanup, and\nif I\u0027m going to use sub-second precision I may as well use the maximum\nprecision available to me.\n\nAlso reduce some duplication of code reading cmdline/comm.\n\nBug: https://issuetracker.google.com/161860597\nTest: head /data/tombstones/*\nChange-Id: I035ecfd4a3338ccd84dae0ef973a998a7c7c5056\n"
    },
    {
      "commit": "fe8997aff88d2a40f3194040aafd3cce3e451d08",
      "tree": "475eb0f4b64b0e5ad00acf3b1786532fab1719bb",
      "parents": [
        "b1fcedb92804f166918e8a02ba9098e453be0139"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Jul 20 15:08:52 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Jul 21 19:05:16 2020 -0700"
      },
      "message": "Include memory tags in memory dump output.\n\nTags appear in the addresses printed in the memory dump, which seems\nlike a reasonable place to put them because tagged addresses will\nalso appear in other places in the tombstone, such as registers and\nthe fault address.\n\nBug: 135772972\nChange-Id: I52da338347ff6b7503cf5ac80763c540695dc061\n"
    },
    {
      "commit": "b1fcedb92804f166918e8a02ba9098e453be0139",
      "tree": "2a3df966bc4964692113dfbcefd43c353e98f3f2",
      "parents": [
        "d00a577c97f68725dc2488f9ee1e44a96f639c5d"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Jul 21 16:29:02 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Jul 21 16:59:24 2020 -0700"
      },
      "message": "Adjust conditions for dumping the memory around a register.\n\nPreviously, we would do a simple bounds check before deciding\nwhether to dump the memory around a register. On 64-bit platforms,\nthe register\u0027s value was required to be less than (4 \u003c\u003c 60). However,\nafter stripping tags on AArch64 as part of r.android.com/1365229, all\npointer values became less than (4 \u003c\u003c 60), so the check became useless\nfor filtering out invalid pointers. As a result, we would attempt to\ndump memory for all registers, which for a register not containing\na valid pointer would typically consist of 16 lines of dashes.\n\nOne possible fix may be to replace the constant (4 \u003c\u003c 60) with the\nprocess\u0027s actual address space limit (known as TASK_SIZE inside the\nkernel; typically 39 bits on AArch64 and 48 bits on x86_64), but the\nkernel provides no API for retrieving a process\u0027s TASK_SIZE value. We\ncould guess it by looking at for example the highest bit set in the\nvalue of getauxval(AT_EXECFN), which points to an address on the stack\nwhich typically is mapped at the end of the address space on program\nstartup, but at least on AArch64 it is possible to dynamically extend\nTASK_SIZE at runtime by providing a hint to mmap(), so this is not\nalways sufficient.\n\nInstead, it seems best to remove most of the early bounds check, and\nsimply issue ptrace() calls for each register value, bailing out of\nthe entire output if none of the calls ended up succeeding. This also\nhas the nice side effect of avoiding 16 lines of noise per register\nwhose value looks like a pointer but actually points to unmapped\nmemory. We still retain part of the bounds check in order to avoid\ninteger overflow during the dump (including overflows into the tag\npart of the address on architectures that support tagging).\n\nBug: 154272452\nChange-Id: I94e4b7124b7735b92fd83a49c80ebded3483cd4e\n"
    },
    {
      "commit": "10e428dd77181003942542d8de5c4615b693c610",
      "tree": "a39bf752d803fba06954feb6e9bbafd54a346bc2",
      "parents": [
        "c8e4154d899847a32f0fb7bbf999c39c7cb0dba7"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Jul 17 14:49:31 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Jul 17 17:35:49 2020 -0700"
      },
      "message": "Fix dumping of heap memory.\n\nAfter r.android.com/1288984 we started failing to dump memory contents\nfor heap addresses because the tag started causing any addresses to\nfail this bounds check. Add an untag_address() call to the bounds check\nso that the tag is ignored.\n\nBug: 154272452\nChange-Id: I3a6d1a078b21871bd93164150a123549f83289f6\n"
    },
    {
      "commit": "f86225206df162b43b5a0518a9eaf747d60303c5",
      "tree": "7bf781dd784e55d63b5275f089e300d77e6a0877",
      "parents": [
        "e0edc7ec328e6775e081c30b42837eb84ff282a4"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Apr 07 14:07:32 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Apr 27 13:15:49 2020 -0700"
      },
      "message": "Add support for MTE error reports in tombstones.\n\nTeach debuggerd to use the new scudo APIs proposed in\nhttps://reviews.llvm.org/D77283 for extracing MTE error reports from crashed\nprocesses, and include those reports in tombstones if possible.\n\nBug: 135772972\nChange-Id: I082dfd0ac9d781cfed2b8c34cc73562614bb0dbb\n"
    },
    {
      "commit": "c5c6d7d3268c2eecd43b98a2a3428752d13b745d",
      "tree": "3afe0ccf41dfff72a00d8199b278ecd26627a831",
      "parents": [
        "10f8f5e363c36530d6743c3230fa56cf08db6646"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Apr 17 09:38:55 2020 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Fri Apr 17 15:31:34 2020 -0700"
      },
      "message": "Don\u0027t include log/log_read.h in log/log.h\n\nlog/log.h primarily concerns itself with writing logs.  The few users\nwho read logs should directly include log/log_read.h.\n\nBug: 78370064\nTest: build\nChange-Id: Ie95c55ea2ffc76fc95768323d445ada6ad4f2520\n"
    },
    {
      "commit": "cd63cae6b206a067fab1afe78f7647f1f2cb1513",
      "tree": "04e72546f2968a86b41a1151a5c8639adb2e852f",
      "parents": [
        "5677803cb7e78421f835513d088e24ccd6da6d87",
        "f03af8844acbd63f257c51577834d2c126a41f47"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Mar 30 21:40:58 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 30 21:40:58 2020 +0000"
      },
      "message": "Merge \"Read fault address on arm64 using proposed kernel API.\""
    },
    {
      "commit": "e2b76c5b001fab12df24d206894d17b3f5fd6d9b",
      "tree": "9ac8a4a1dae6216e4f51a177217d5cfd26fc8504",
      "parents": [
        "3de710f84f32d3dbfdaaea7f3d6f5dab63101f9f",
        "b72e74810ce1f5815b0a01b661b3da6ee1b14ef2"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Mar 30 19:03:41 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 30 19:03:41 2020 +0000"
      },
      "message": "Merge \"Move crash_dump into the runtime APEX.\""
    },
    {
      "commit": "f03af8844acbd63f257c51577834d2c126a41f47",
      "tree": "8cde302d29f6c19ad6da6ed35becb8462dafced3",
      "parents": [
        "f3d542fe9fe4b82affada29928921314375d42f8"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Mar 20 18:09:00 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Mar 27 20:00:06 2020 -0700"
      },
      "message": "Read fault address on arm64 using proposed kernel API.\n\nOn aarch64, the top 8 bits of the address (i.e. the tag bits) of\nthe fault address in si_addr are always clear. This isn\u0027t ideal for\nMTE which will require these bits in order to correctly diagnose\ntag mismatches.\n\nA proposed kernel patch [1] exposes the full fault address including\nthe tag bits as part of the ucontext. Change debuggerd to read this\nfault address if available.\n\n[1] https://patchwork.kernel.org/patch/11435077/\n\nBug: 135772972\nChange-Id: Ia05be574113860f4e9ecc36a310c4b740e0c4afb\n"
    },
    {
      "commit": "b9c072c551d1afee4818b17f077d69396dec286d",
      "tree": "2023e5b816d0f5c210b317f1ab2c553f2f21b455",
      "parents": [
        "1e413c8a9d9131eb83ad24d2d9753943e778d870"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Wed Mar 25 10:50:25 2020 -0700"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Thu Mar 26 13:39:05 2020 -0700"
      },
      "message": "Move PC-only unwind frame generation to libunwindstack.\n\nGWP-ASan uses frame-pointer based unwinding internally on\nallocation/deallocation to collect stack traces that are used when\ncrashes are reported.\n\nThis should be generic, so pull it out into libunwindstack so it can be\nused by MTE as well.\n\nBug: 152412331\nTest: atest debuggerd_test\nChange-Id: I27b32263aac63446f5fe398af108676b70cd3971\n"
    },
    {
      "commit": "907b2d0349c3010bdbe008635c018e89b62d12fe",
      "tree": "e661b1ed1deb50cea2d7994f0e0e621c99322fa6",
      "parents": [
        "447a1ead217d7993c2a97cdf516b21756bdea1e5"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Mar 23 13:40:10 2020 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Mon Mar 23 13:43:27 2020 -0700"
      },
      "message": "Remove ANDROID_LOG_RDONLY, etc\n\nThese macros haven\u0027t been meaningful in years.\n\nTest: logging unit tests\nChange-Id: I796ec6d9b450f8a84bc85c3f15ddd988724c5e08\n"
    },
    {
      "commit": "5ac3927878db6331d5b75a71c1fdb89c1850d497",
      "tree": "6eef6eb80214e34680988a1eb501e5ca15fe5aad",
      "parents": [
        "3ab681c9a8a7de8b7f004b9e6afec749cdcbd5e5"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Mar 19 17:27:58 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Mar 19 17:51:20 2020 -0700"
      },
      "message": "Make GetPcAdjustment a free function.\n\nWe\u0027re now using it in contexts that don\u0027t have all of the registers available,\nsuch as GWP-ASan and soon MTE, so it doesn\u0027t make sense to have it be a\nmember function of Regs.\n\nBug: 135772972\nChange-Id: I18b104ea0adb78588d7e475d0624cefc701ba52c\n"
    },
    {
      "commit": "b72e74810ce1f5815b0a01b661b3da6ee1b14ef2",
      "tree": "2ae23dc93140861aa964c8ca7c2203979b785f18",
      "parents": [
        "780528e86bc0dfc62b462b07d8b8b69a21164b95"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Mar 16 18:14:13 2020 -0700"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Wed Mar 18 10:38:04 2020 -0700"
      },
      "message": "Move crash_dump into the runtime APEX.\n\nA future change will introduce a version lock between linker and\ncrash_dump. Move crash_dump into the runtime APEX alongside linker in order to\nensure that they will be the same version even if the runtime APEX is updated.\n\nBug: 135772972\nChange-Id: Ic2eae31b6927eb0e8a62315ac141f50933c00bcc\nMerged-In: Ic2eae31b6927eb0e8a62315ac141f50933c00bcc\n"
    },
    {
      "commit": "843f7e645d6e6d2b4a2fb5a454c96aad04a9d1e0",
      "tree": "ca9f10b58da4d36ab35abc265b37fe24af0183e8",
      "parents": [
        "ad9d034e7d7c6b2be93cf5fe5e64556b685de6d2"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Feb 28 19:07:33 2020 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Fri Feb 28 19:12:19 2020 -0800"
      },
      "message": "Create a ProcessInfo structure with the process-wide information from the crasher.\n\nWe\u0027re now passing around a couple of addresses for GWP-ASan in addition\nto abort_msg_address and fdsan_table_address, and I\u0027m going to need to add\nmore of them for MTE. Move them into a data structure in order to simplify\nvarious function signatures.\n\nBug: 135772972\nChange-Id: Ie01e1bd93a9ab64f21865f56574696825a6a125f\n"
    },
    {
      "commit": "e0b4bb1b2e239f3ea694d6d33f577ff5257723e7",
      "tree": "a8afee216256cfab73c2cd7306db355a45d5b2be",
      "parents": [
        "5ed0698b4194ac834f823d7aaa2d016c4029a890"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Fri Feb 14 14:54:31 2020 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Feb 18 16:49:50 2020 -0800"
      },
      "message": "[GWP-ASan] Add GWP-ASan information to tombstones.\n\nGWP-ASan can provide information about a crash that it caused. Grab the\nGWP-ASan regions from the globals shared by the linker for crash-handler\npurpopses, pull the information from GWP-ASan, and display it.\n\nThis adds two regions:\n 1. Causality tracking by GWP-ASan. We now print a cause header about\n the crash, like `Cause: [GWP-ASan]: Use After Free on a 1-byte\n allocation at 0x7365bb3ff8`\n 2. Allocation and deallocation stack traces.\n\nBug: 135634846\nTest: atest debuggerd_test\n\nChange-Id: Id28d5400c9a9a053fcde83a4788f971e677d4643\n"
    },
    {
      "commit": "627928e059c0b2ad22f4533fc15618ec26cca009",
      "tree": "e715ad6fdeeb1815b669e92363b432d816ce9fbb",
      "parents": [
        "c940977dd9963525a9ffd47249f3896c9a5e24df"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 22 14:12:47 2020 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 22 14:13:46 2020 -0800"
      },
      "message": "debuggerd: remove the raw stack dump.\n\nThis takes a lot of space, isn\u0027t convincingly useful, and makes it\nlikely that the far more valuable stuff that comes after it gets\ntruncated. So let\u0027s just drop it.\n\nBug: http://b/139860930\nTest: manual crasher, presubmit\nChange-Id: Ie417ffc07e3cb17e95fdb3d183f8c87de0f34b89\n"
    },
    {
      "commit": "a48b41bcb8629c14210aa3102669e03267353274",
      "tree": "2a4a21987109d0e044b7fd3287eb3ef2be066798",
      "parents": [
        "cd652ea3dc78c8e9e18490b3883c287e0c5c2d45"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Dec 13 14:11:04 2019 -0800"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Tue Dec 17 16:36:05 2019 -0800"
      },
      "message": "debuggerd: switch to using platform headers for DEBUGGER_SIGNAL.\n\nTest: treehugger\nChange-Id: Ie9736c4a077dba1029d2352bd94d47ce07323aec\n"
    },
    {
      "commit": "82a31b8749760670c70c8706864078216ad6b9bc",
      "tree": "3d98d739c802fd168dcd9635b6597195ca9af1e0",
      "parents": [
        "300448a88c52c38947086418770e9db5f5e173c1",
        "aadebd89827aacbd6ca458077bef5986c3fb691a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 19 19:04:55 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 19 19:04:55 2019 +0000"
      },
      "message": "Merge \"Add variadic logging to libdebuggerd internal.\""
    },
    {
      "commit": "aadebd89827aacbd6ca458077bef5986c3fb691a",
      "tree": "869da0e4fbfe5737b689fed51b03fcc1ca8fda1f",
      "parents": [
        "bace5995f1c1c6e006e94f6f235828a13ecda753"
      ],
      "author": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Mon Nov 18 15:17:18 2019 -0800"
      },
      "committer": {
        "name": "Mitch Phillips",
        "email": "mitchp@google.com",
        "time": "Tue Nov 19 09:49:05 2019 -0800"
      },
      "message": "Add variadic logging to libdebuggerd internal.\n\nGWP-ASan\u0027s crash information retrieval services requires a Printf()\nfunction (declared by the system/implementing allocator). In this\ninstance, because _LOG is called with additional arguments (the log_t),\nthis function must be wrapped to conform to printf_t defined by\nGWP-ASan.\n\nWe can easily wrap the variadic version.\n\nBug: 135634846\nTest: atest debuggerd_test\nChange-Id: I17209cd2b7455ce889e2f8194969f606cac329eb\n"
    },
    {
      "commit": "ba5351692e005cfa016414fb5472a2a12f95e31d",
      "tree": "22fc07fafed29bd95fd17177f65e3e46632d50de",
      "parents": [
        "dc2f874ed37fc747db24b34c29ea235020999c61",
        "bb2f941f5773d8a768b64bbec64bc2731c36e280"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 19 14:07:37 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 19 14:07:37 2019 +0000"
      },
      "message": "Merge \"Include PSTATE in tombstones on arm64.\""
    },
    {
      "commit": "bb2f941f5773d8a768b64bbec64bc2731c36e280",
      "tree": "4cce4a32b02e66bb0de7647596310a0a1930852d",
      "parents": [
        "bc420c4748efe73cbd18d83e45c6f9c52a9a7b86"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Nov 18 12:36:50 2019 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Nov 18 17:57:37 2019 -0800"
      },
      "message": "Include PSTATE in tombstones on arm64.\n\nA thread\u0027s PSTATE can sometimes be critical for understanding a crash,\nespecially with MTE and other new features that store per-thread state\nin PSTATE.\n\nBug: 135772972\nChange-Id: I1bee25bffe7eea395f04b6449dc9227298cf866e\n"
    },
    {
      "commit": "441054aa1e0deec7de29234ce1dd67aae8cc3e6e",
      "tree": "00581ed7b2afcd61a34b3e5e5eccb5bee9a2b062",
      "parents": [
        "896fb9e57af24adc9fa1b96874f7d0685dc39755"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Tue Oct 15 16:53:11 2019 -0700"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Oct 24 10:53:14 2019 -0700"
      },
      "message": "Remove old logger_entry_v* formats\n\nlogger_entry and logger_entry_v2 were used for the kernel logger,\nwhich we have long since deprecated.  logger_entry_v3 is the same as\nlogger_entry_v4 without a uid field, so it is trivially removable,\nespecially since we\u0027re now always providing uids in log messages.\n\nliblog and logd already get updated in sync with each other, so we\nhave no reason for backwards compatibility with their format.\n\nTest: build, unit tests\nChange-Id: I27c90609f28c8d826e5614fdb3fe59bde22b5042\n"
    },
    {
      "commit": "67d52aa0f684fe6fb898c2ccda1d7bb302d3a5e0",
      "tree": "bdbdac970f740a73148d7619a60133186e3a2392",
      "parents": [
        "9186612f9a53e3d1e77e8c272f3f6d15a2dc50cf"
      ],
      "author": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Mon Oct 07 23:28:15 2019 -0700"
      },
      "committer": {
        "name": "Nick Desaulniers",
        "email": "ndesaulniers@google.com",
        "time": "Thu Oct 10 14:54:35 2019 -0700"
      },
      "message": "[debuggerd] fix -Wreorder-init-list\n\nC++20 wants members to be ordered unlike C99.\n\nBug: 139945549\nTest: mm\nChange-Id: I3cbca589511c1e0bbc10c691949e18de77e16031\nSigned-off-by: Nick Desaulniers \u003cndesaulniers@google.com\u003e\n"
    },
    {
      "commit": "481e8379d39440f8d94b17c8ebb8aa99c7c4433f",
      "tree": "7b0225e3ae3d190578fb3d8a927dc53e6672f3f3",
      "parents": [
        "c37f4a41990bb1f6e17cf4a56b8c00371d7054e1"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Jul 15 17:13:24 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jul 17 14:14:26 2019 -0700"
      },
      "message": "Add cause message when stack overflow is detected.\n\nTest: Ran new unit tests.\nTest: Ran crasher stack-overflow, crasher64 stack-overflow and verified\nTest: stack overflow cause is shown.\nTest: Ran stack overflow app and verified tombstone includes stack-overflow\nTest: message.\nChange-Id: I9bb01186dff5ed81c77d84b6aaedb5332ddd7256\n"
    },
    {
      "commit": "39c5b8c21c5099a911548f89c18e17bacd1f9bcb",
      "tree": "d9a0d0f8fd78ae3f711fdb2d28738f5d12997193",
      "parents": [
        "2ddb8df2ef22514f1bf91fe73b99877d19b2a964"
      ],
      "author": {
        "name": "Misha Wagner",
        "email": "mishaw@google.com",
        "time": "Thu Apr 18 16:07:33 2019 +0100"
      },
      "committer": {
        "name": "Misha Wagner",
        "email": "mishaw@google.com",
        "time": "Tue Apr 23 09:53:07 2019 +0100"
      },
      "message": "Add UID printing to tombstone headers\n\nThis is for Android Telemetry to be able to categorise the processes\nthat produce tombstones.\n\nTest: atest debugerd_test:TombstoneTest\n\nChange-Id: Ie635347c9839eb58bfd27739050bd68cbdbf98da\n"
    },
    {
      "commit": "4ae266ccbddbd0a6529248ecd1b324feab261c0d",
      "tree": "8bff2bcc0625cd0ee8f3667f170ac6a8779842f3",
      "parents": [
        "5c421695f0d6139632692645f755c79d9f163fc1"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 03 09:27:12 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Apr 18 15:37:52 2019 -0700"
      },
      "message": "Add indicator that an elf is memory backed.\n\nModify the unwinder library to indicate that at least one of the stack\nframes contains an elf file that is unreadable.\n\nModify debuggerd to display a note about the unreadable frame and a possible\nway to fix it.\n\nBug: 129769339\n\nTest: New unit tests pass.\nTest: Ran an app that crashes and has an unreadable file and verified the\nTest: message is displayed. Then setenforce 0 and verify the message is\nTest: not displayed.\nChange-Id: Ibc4fe1d117e9b5840290454e90914ddc698d3cc2\n"
    },
    {
      "commit": "3336c7bce087d33cc9ab0b02139b39551539f8a6",
      "tree": "d975c73efb2d595789c75bab7e91121d731e7ec5",
      "parents": [
        "f4ccb804b6a1707089b6d3d1d48c59af5bedb36c"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Apr 08 17:18:24 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon Apr 08 17:18:24 2019 -0700"
      },
      "message": "Remove include of backtrace/Backtrace.h.\n\nSomehow the code was still including this include from libbacktrace.\nI think the libbacktrace include directory was coming from some\ntransitive includes. I verified that nothing in debuggerd is using\nthe libbacktace.so shared library.\n\nBug: 120606663\n\nTest: Builds, unit tests pass.\nChange-Id: I85c2837c5a539ccefc5a7140949988058d21697a\n"
    }
  ],
  "next": "b9cc4fbb268652744c812415cb2e5d1fbe04879a"
}
