)]}'
{
  "log": [
    {
      "commit": "ce4cf90d7993ec7b9abc79bc86ede4d8758a49ab",
      "tree": "d3ac7b81d9c35a83bec417ea3c6d2327a6cc0d1f",
      "parents": [
        "02f96b9db0242711fe1dfe0713c0c4e698561da5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 14:00:09 2013 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 22 14:24:52 2013 -0800"
      },
      "message": "Use the new non-allocating logging for dlmalloc failures.\n\nChange-Id: I88afe0201ee5766a295fc5a9e710fba9d6e0d363\n"
    },
    {
      "commit": "8921060253f95fa77dbfe96ddaab5a39c446a49e",
      "tree": "e772aa74be62c50a61c47671aa5dd79def2f30d5",
      "parents": [
        "69c89942db2ed472c71aa84903d0259cc84aa074"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 15:25:44 2013 -0800"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Jan 11 17:42:17 2013 -0800"
      },
      "message": "Name anonymous mmap mallocs.\n\nChange-Id: Icc53ba1eecb8445210623826d8e99a611d686f7f\n"
    },
    {
      "commit": "2c344d3631eaad4bcfec821ea0e9f158c537a686",
      "tree": "29c4ae1c635ca8936791dd237a2ce3448d10fc7f",
      "parents": [
        "4f90a0932c087e4bb13dab2d30a424c04c1f9f80"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 28 15:53:10 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Tue Aug 28 15:53:10 2012 -0700"
      },
      "message": "Revert \"Revert \"Upgrade to dlmalloc 2.8.5.\"\"\n\nThis reverts commit f72ee269274170cd46af2844a2fe88767fb6e43c.\n"
    },
    {
      "commit": "f72ee269274170cd46af2844a2fe88767fb6e43c",
      "tree": "aaa946e5d3aa1aff619876098a17714bdacb571e",
      "parents": [
        "78a3069f827386df6166ccf9366a89be782f1dde"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 22 12:07:33 2012 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Aug 22 12:07:33 2012 -0700"
      },
      "message": "Revert \"Upgrade to dlmalloc 2.8.5.\"\n\nThis reverts commit 999089181ef60bb67e1a49f2cf6f4ec608a7caf8.\n"
    },
    {
      "commit": "999089181ef60bb67e1a49f2cf6f4ec608a7caf8",
      "tree": "68b426388adc78040949e65282fd623d08b7644d",
      "parents": [
        "9417a80e48d3bba4bea814178aaa79b905ebab8c"
      ],
      "author": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Fri Aug 17 17:28:15 2012 -0700"
      },
      "committer": {
        "name": "Ian Rogers",
        "email": "irogers@google.com",
        "time": "Mon Aug 20 14:12:20 2012 -0700"
      },
      "message": "Upgrade to dlmalloc 2.8.5.\n\nMove dlmalloc code to upstream-dlmalloc to make pulling upstream changes\neasier.\nDeclare pvalloc and malloc_usable_size routines present in malloc.h but with\nmissing implementations. Remove other functions from malloc.h that have\nno implementation nor use in Android.\n\nChange-Id: Ia6472ec6cbebc9ad1ef99f4669de9d33fcc2efb4\n"
    },
    {
      "commit": "ec2ab73b87bb0c6da24cfc86dbc2d79b9c923da1",
      "tree": "ec2466c16de41ca9399ec66187624e8518cdd25f",
      "parents": [
        "e1dd3c287ba836281de0197670018bd9bbfbd62b"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Jun 19 07:11:38 2012 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Tue Jun 19 07:11:38 2012 -0700"
      },
      "message": "Minor tweak to get memory around corrupted heap chunks dumped.\n\nChange-Id: I8f72c5c7e23960b13fc53e2354cd74aca8aac3c0\n"
    },
    {
      "commit": "c84ff11dad26435dc5760bceda18e8f1175a6061",
      "tree": "b98c5e82098b71100b9ccf082b9913628d77142a",
      "parents": [
        "08e72d0161e39e99ff1003bf1ce894f37d7b7eb4"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Thu May 24 16:56:53 2012 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Thu May 24 17:06:43 2012 -0700"
      },
      "message": "Print the corrupted address passed to free().\n\nFor example:\n\n@@@ ABORTING: INVALID HEAP ADDRESS IN dlfree addr\u003d0x5c3bfbd0\nFatal signal 11 (SIGSEGV) at 0xdeadbaad (code\u003d1), thread 2942\n\nThe addr\u003d0x5c3bfbd0 part is new.\n\nChange-Id: I8670144b2b0a3a6182384150d762c97dfee5452f\n"
    },
    {
      "commit": "eaae81082cb76efa43a2c3fb57997b28ca270634",
      "tree": "9681625e91934782d14cc848ea9acb06995a3a67",
      "parents": [
        "891966d0209b17d27d8d1f7a94bc6404be93f7bf"
      ],
      "author": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Mar 21 15:47:12 2012 -0700"
      },
      "committer": {
        "name": "Ben Cheng",
        "email": "bccheng@google.com",
        "time": "Wed Mar 21 15:47:12 2012 -0700"
      },
      "message": "Initialize mspace-\u003eleast_addr properly in the mmap path.\n\nBUG: 6206963\nChange-Id: Id2ab580246de50a4511b56a734a7bece98fb945c\n"
    },
    {
      "commit": "85aad909560508410101c18c6ecc6633df39c596",
      "tree": "1da341473c2090fa35afc5d22351603bd49ac79c",
      "parents": [
        "a5cb76bca00b1ce44a04687fb179809c12ea9cd3"
      ],
      "author": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Wed Dec 14 20:50:01 2011 -0800"
      },
      "committer": {
        "name": "Ken Sumrall",
        "email": "ksumrall@android.com",
        "time": "Wed Dec 14 20:55:43 2011 -0800"
      },
      "message": "Add the posix_memalign(3) function to bionic\n\nThe posix_memalign(3) function is very similar to the traditional\nmemalign(3) function, but with better error reporting and a guarantee\nthat the memory it allocates can be freed.  In bionic, memalign(3)\nallocated memory can be freed, so posix_memalign(3) is just a wrapper\naround memalign(3).\n\nChange-Id: I62ee908aa5ba6b887d8446a00d8298d080a6a299\n"
    },
    {
      "commit": "c51871d4b22425b32ec40c060c39d6b6fa4406f6",
      "tree": "a6ab54ad614fc61af9377d9242c206dd3aaff2f6",
      "parents": [
        "01eb7f72434830bb14cec906d885d2b7ee40d53b"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Wed Jul 06 19:02:15 2011 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Wed Jul 06 19:02:15 2011 +0200"
      },
      "message": "Really fix the build.\n\nlibcutils/mspace.c includes libc/bionic/dlmalloc.c, we need to\ntake care of the fact that any internal C library function cannot\nbe used from it.\n\nChange-Id: I0bc81ae090b7ac2d464f26b97fc6b94a08cdad9c\n"
    },
    {
      "commit": "a4824467c33c5a59317f777a54c60e3b339e4966",
      "tree": "c3e76fe6290976c907e6a27bc81a08e9780fc786",
      "parents": [
        "b73b6783a595cf4b1cef6463c23317a8b417f1e9"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Wed Jul 06 17:54:35 2011 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Wed Jul 06 17:54:35 2011 +0200"
      },
      "message": "Fix broken build\n\nChange-Id: Ia46b50aec51a55434c8828a73e07f4732f8f6c1c\n"
    },
    {
      "commit": "7708a89c60e7b024d31c48c8034932c5e9f0aceb",
      "tree": "d74fbfa8efa44b57fe91e768b4bea8834c49dd31",
      "parents": [
        "2f5c6d2d663591b0b5cff9f7e90f58f12a5967eb"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Thu Jun 30 18:32:03 2011 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Tue Jul 05 19:53:53 2011 +0200"
      },
      "message": "libc: Add logcat error message for memory corruption\n\nOur dlmalloc implementation currently calls abort() when it detects\nthat the heap is corrupted, or that an invalid pointer is passed to\none of its functions.\n\nThe only way to detect this is because abort() will force-fully\ncrash the current program with a magic fault address of \u00270xdeadbaad\u0027.\n\nHowever, this is not really well documented, and a frequent topic\non the android-ndk forum (among others).\n\nThis change makes our dlmalloc code dump a simple message to the\nlog just before the abort() call (and hence before the stack trace)\nto better help identify the problem.\n\nChange-Id: Iebf7eb7fe26463ecadfaca8f247d237edb441e3c\n"
    },
    {
      "commit": "b74ceb25aae555570df64fa4d4076272733a9a20",
      "tree": "3bf49e716722b67f4b0f0bcb391156bf29fa6ad0",
      "parents": [
        "e8870ffc965d553a885f63b26e724da279728b72"
      ],
      "author": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Tue Nov 17 14:13:38 2009 -0800"
      },
      "committer": {
        "name": "Vladimir Chtchetkine",
        "email": "vchtchetkine@google.com",
        "time": "Wed Nov 18 10:36:25 2009 -0800"
      },
      "message": "Split libc_debug.so into two .so modules loaded on demand from libc.so\n\nThis change is intended to eliminate need to replace libc.so with libc_debug.so in order to enablememory allocation debugging.\nThis is also the first step towards implementing extended memoryallocation debugging using emulator\u0027s capabilities in monitoring memory access.\n"
    },
    {
      "commit": "f30dae9cf452e4308a34450b2a48eb6602936976",
      "tree": "bc018510b61563dbd2f4479ce9a21d98d2abe251",
      "parents": [
        "90ec5f2a3f581927ffef55733e8d531890fdc90e"
      ],
      "author": {
        "name": "Barry Hayes",
        "email": "bhayes@google.com",
        "time": "Tue May 26 10:33:04 2009 -0700"
      },
      "committer": {
        "name": "Barry Hayes",
        "email": "bhayes@google.com",
        "time": "Tue Jun 02 14:48:59 2009 -0700"
      },
      "message": "Add mspace_merge_objects\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
