<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/54239>54239</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            clang memory error with error meesage "malloc_consolidate(): invalid chunk size"
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          wierton
      </td>
    </tr>
</table>

<pre>
    Reproducer:

$ cat a.c
```
static signed char v1;
static unsigned char v2[256], v3[256];

__attribute__((noclone, noinline)) void foo(void) {
  asm volatile(""
               :
               : "g"(&v1), "g"(&v2[0]), "g"(&v3[0])
               : "memory");
}

__attribute__((noclone, noinline)) int bar(
    const int x, const unsigned short *y, char *z) {
  int i;
  unsigned short u;
  if (!v1) foo();
  for (i = 0; i < x; i++) {
    u = y[i];
    int ctf0_idx;
    ctf0_idx = (int)0x00000000;
    int ctf0_constval;
    ctf0_constval = (int)0x00;
    int *ctf0_arr[] = {&ctf0_constval};
    int ctf1_idx;
    ctf1_idx = (int){0};
    int ctf1_constval;
    ctf1_constval = (int){0};
    int *ctf1_arr[] = {&ctf1_constval};
    z[i] = u < 0x0100 ? ((*ctf0_arr[ctf0_idx]) &
                            (*ctf1_arr[ctf1_idx]))
                      : v3[u & 0xff];
  }
  z[x] = '\0';
  return x;
}

int main(void) {
  char buf[18];
  unsigned short s[18];
  unsigned char c[18] = "abcdefghijklmnopq";
  int i;
  for (i = 0; i < 256; i++) {
    v2[i] = i;
    int ctf2_idx;
    ctf2_idx = (int){0};
    int ctf2_constval;
    ctf2_constval = (int){0};
    int *ctf2_arr[] = {
        &ctf2_constval,
    };
    int ctf3_idx;
    ctf3_idx = (int){0};
    int ctf3_constval;
    ctf3_constval = (int){0};
    int *ctf3_arr[] = {
        &ctf3_constval,
    };
    v3[i] =
        ((*ctf2_arr[ctf2_idx]) || (*ctf3_arr[ctf3_idx])) +
        1;
  }
  for (i = 0; i < 18; i++) s[i] = c[i];
  s[5] |= 0x600;
  s[6] |= 0x500;
  s[11] |= 0x2000;
  s[15] |= 0x500;
  foo();
  if (bar(17, s, buf) != 17 ||
      __builtin_memcmp(buf, "abcdeghhijkmmnoqq", 18) != 0)
    __builtin_abort();
  return 0;
}
```

the crash message
```
$ clang-6.0 -O1 -mllvm -polly simplified.c
simplified.c:4:16: warning: unknown attribute 'noclone' ignored
      [-Wunknown-attributes]
__attribute__((noclone, noinline)) void foo(void) {
               ^
simplified.c:11:16: warning: unknown attribute 'noclone' ignored
      [-Wunknown-attributes]
__attribute__((noclone, noinline)) int bar(
               ^
free(): double free detected in tcache 2
malloc_consolidate(): invalid chunk size
clang: error: unable to execute command: Aborted (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 6.0.1-14 (tags/RELEASE_601/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
clang: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
clang: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/simplified-86113b.c
clang: note: diagnostic msg: /tmp/simplified-86113b.sh
clang: note: diagnostic msg:

********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzNF11v2jr018CLBUocIPDAA6Vlm1TdTl2v9ogcx4C3xGa209L9-nuOEwIpSdV2e7iVGxKf708fJzp9nt-LvdFpwYXpRYtecN0Ljk86Ipw5woa82pgE1fKf1jEnObFyq0RK-I4Z8hj2oqsGtFANOO2Nr-h40htf9-iSPEanzyNd-VyvmXNGJoUT63WPTmEpzTOtBNIpLVUm8X0GizxqmZKN1oCEr7jViyt2hDCbA0YG2mTCc6K4KmDjr7b_cp8AzdaTAoMJmImSly920bjAm9YCjM6ArwjJRa7NsyebnXwSX3_YOVI5kjCDaLVYrpV1HnJAivKzjpTdaeNAl8WzB2Lc4OP3C7citaw1JC_JizOQ3BCvZej9VkXq3D4CeyhkKsEN1yQAAMHXJeiHrz165VdDARDpsZ_BsfI8gxCE2nG3CdYyPTQAx01PihKVA77BIaj-2rl4Dz2y7JLVEXLJ74ITONGTMGNAZdC4pAGL6KQpJW41JmwzJrw0BjgGnSy6LAk7LOliVhoTdhkTdhrzuwqXxy98kMFbYRDA66rMk2nTU3UcffEAyqS1gJrVdGQSnpiEJyZdRXhWi75gC5QG-m02zQSrC7K051DbT-PeeBngzwnZCFcYRQ5d5YzuzJlU7e3L119SgAJX4bSpxYuSs6-heDb8iFEpS1nCU7HZ7uSPn1mu9P4XNp6os8a7qhRb-Ct16htjHXPZlpi0Lbfpu3KbduY2_VBu05bcbuRMmelnYunyhNChZNRmZ_QuO6NOO6MP2Rm9zc7obXb6sjnG-iWfU23TU1nS89qOl7BO1Rud0KJG9RLMswb3sL08u1IWyqCZsfY8R_nlmYLwsYeDjsjrMGn0eIRPGvDxBTwMGwg0uMQYv8Ki7eAsz9bygA9jPLAtPrBheC-FyCiMK8-eu2y9TgqZOanWMHPwfI9skGpZN4btDhtDDo3hl28M1LvtxDZotNETP5ZAO7rQtGqDQUsbbM6V5dPtBOGG2R3JhbVsK9pxcUbNmNoOJsOADO5CMsiz7DEng73OsmcYTvN9JjdSpMchtrETLUbwH06w4T8xo6Ta4muhfir9pEg9ZmFjr0esmEBL1Uak596E2A2-V3SDms5iDv3tgbZ5VI1vWu2CVPsfGtY2jLYZszFCHBNoQVJdJJkguElS4QR3cKBJRRxnHLKkGuZzlmWa-y6lM5kyd8ZBKuhbEk9BsASS4neVTT51EEEYo03pIYaynCbiIDh6iOs8ZypF4AITG2QDYw5-ImmR70VaV8ElN78DimvlhEqPrMiGwV0kBXIvCE9obNl0WlhBBo9-D0wFpTXcv6RWTQnkURgLuwRSfhgOwhGSOraFwl_d39zeLL7drCcBjNqrjVTYriviB2a2wqFah-lkPRkN9nwAsSkOg60qKpSdESwluU5Fhoh7beWhBH2B5g8eFum1NOVdZVVYiOQqgcmlab7S4HuMm2SQTxavgbn1kK9eO2KLJJdwsYQ2tYW-sMfpBYzeObfHOxhdwcIqHmqzRQmFt42g66TiWZGC3-r2kDD-0xnGfb7tDd5mOXQMHIt0YcptpGTWai4Zxs8Uilhu5N4N36r6sd38wTprbpUfFg8Pi-Vn8vD5hqzubm_vvn_55xNZfbm9-UYe7vz21b-fyP3N17v7h1qHr20mTi2WV6eZNQIkbYZJBVDmapZviBz43-EZsTr1mcF0EoZRcmysf8bE7t4Zib8Vj-N50k_nUTqLZqzvpMvEvCy18jpeFjR5km5XveZC4Jnkb-zv6zuU9guTzTHXbZ3sW-BcgCd1XmV-9TOASP-Afgef0tpCYBmMRzSa9XdzzqezWCR8M9rEIoVhJKIzEW-CWRhHaRhO-xlLRGbnONpRqsQT8SzwIB9f9-WcBpQGURAH4Xg6Gg15nIzSZBwzMUlm01nUGwUCbiXZ8FiIfTP3KvlqHAWZtM6egJB2eNEQ83KS7LPCwaVk_iSFcVr1vei5V_0_OhcZlg">