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

    <tr>
        <th>Summary</th>
        <td>
            [lldb][Windows] LibcxxChronoTimePointSecondsSummaryProvider() failed on Windows x86_64 because of incorrect limits
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            lldb,
            platform:windows
      </td>
    </tr>

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

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

<pre>
    lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp, Line 1101:
```
  // The date time in the chrono library is valid in the range
  // [-32767-01-01T00:00:00Z, 32767-12-31T23:59:59Z]. A 64-bit time_t has a
  // larger range, the function strftime is not able to format the entire range
  // of time_t. The exact point has not been investigated; it's limited to
  // chrono's range.
  const std::time_t chrono_timestamp_min =
      -1'096'193'779'200; // -32767-01-01T00:00:00Z
  const std::time_t chrono_timestamp_max =
 971'890'963'199; // 32767-12-31T23:59:59Z

  const std::time_t seconds = ptr_sp->GetValueAsSigned(0);
  if (seconds < chrono_timestamp_min || seconds > chrono_timestamp_max)
    stream.Printf("timestamp=%" PRId64 " s", static_cast<int64_t>(seconds));
  else {
    std::array<char, 128> str;
    std::size_t size =
        std::strftime(str.data(), str.size(), fmt, gmtime(&seconds));
    if (size == 0)
      return false;
```
gmtime(&seconds) provided by Windows SDK 10.0.22621.0 has the following limits
Min: -43'200 // 1969-12-31T12:00:00
Max: 32'536'850'399 // 3001-01-19T21:59:59

gmtime() triggers an assert and the python crashed with the exit code 0xC0000409 (STATUS_STACK_BUFFER_OVERRUN) on the test TestDataFormatterLibcxxChrono.py on Windows x86_64 because of this issue.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVt1u2zgTfRr6ZmCBP_qxLnzh2PGHD-3uBrHbBXpjUBIlcSFRBjlK7D79gpScuEFbYINYssSZOWcOZ4aWzunGKLUmyQNJdgs5YjvYteuule6lWRRDdV13XVUQvnfDaEtF-P6pGxttHOH7z9I0o2z8y-1TNzr_8a91sb1covJ8JnwLn7VRwBhlRGwI3RG6ISmd_8MjAOF7wvdwbBVUEhWg7hVoA9gqKFs7mAE6XVhpr6AdvMhOV7dlK02jPsQhycNS8CzNlpQtKTtSSsRmvnzzlKZFxpeCHbkgYpPk4fKNJLsINpDGy0JjoHFCaKUD-QGik7ZRdkbn20ClHk2JejDg0NZTCg7MgCCLTgEOUA-2lxhslUFtf85-qGfgKAiiLrJEOA_aTEx8wEIpA9q8KIe6kagqIh5AI-GZg073GlUFOHyIOwkZbAJsdFsvB-MQHFZ-g8RmznoyP_knh7I_n3ptgIjdzcv_LRnhGc1TwjOWC8KzLMsJz7jX-uGG-5ut-I8E5OWOQJ558FVOCc_yVAQK-R3sr_d4qsHfYjtVDqZyHg7OaE_uvCTi8X8Kv8puVBt38F1TEb6ihHvQWzRdA-Grd-_tL2TMtiTb3qE8_jRbH_tNbYdWyT56stpgTfiKcP5m7FXhCeEcnp7_X6Ux-K-OcO5L06FEXZ5K6ZCIrTaYxick4vGdqMf5IQ3VOQUke7hHnwWS1sorEduyldZHZ3zl6Tu0d_539k5_D4Lq7-pj9dxbzR3jOaGNKokypJhPCdjI-7-_qXv0t6affQhPf5XK257cCIgd0B-EBbAKR2uglp1Tb64fhtTPseBshxddqQqKK_ytTTW8OjjsPgGjEY04TzmLaGjbMCCGrhtetWmmJnVT5D-0IWIDy1hMrXMrYJan-Vy_jL93zewkL95JcMKzRPgGXCW-E0SevzUADS23ZPmRs_f6vy__u6RyQKubRlkH0oB0TlkEaapA_HzFdjBQWulaVcGrxnaaYheNUA6VAnrZUkppTD386nDcHL8cTofjZvvp9PBlv398Pv319fH5-cufHmmYRjcqh3BUDncS5T7MRlT2sy7Ky2Ub2iE6X73xTdjLKj2lMRSqlKNTYVC22oF2blTRolqLKhe5XKg1y1iSpyJn8aJdy5VYsTQpWFnLSlAlRV6nFV9lSlU8FvFCrznlMU1YxlKxEnGUMsnqoq4TUVBVpIzEVPVSd1HXvfTRYJtFgFznPMniRScL1blwgnI-nZW-7wjn506in_lEbF6nFPxSslvYtY-0LMbGkZh22qF7j40au3Agh1jJjiQPswAk2cG9PEfdqyd_MBymgjyMfS_t9WmqSTvvay11p6rf66hNOVirSpwrczHabt0inp3vz1BPjcZ2LKJy6Anfe7LzbXm2wz-qRML3QRX_AyAI828AAAD__6-Pe5I">