Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vyNoR-0004J8-0X for pgsql-hackers@arkaria.postgresql.org; Fri, 06 Mar 2026 05:33:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vyNoP-002i5E-13 for pgsql-hackers@arkaria.postgresql.org; Fri, 06 Mar 2026 05:33:21 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vyNoO-002i55-39 for pgsql-hackers@lists.postgresql.org; Fri, 06 Mar 2026 05:33:21 +0000 Received: from mail-vs1-xe32.google.com ([2607:f8b0:4864:20::e32]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vyNoN-0000000188p-0s65 for pgsql-hackers@postgresql.org; Fri, 06 Mar 2026 05:33:21 +0000 Received: by mail-vs1-xe32.google.com with SMTP id ada2fe7eead31-5ffc6a96602so485780137.0 for ; Thu, 05 Mar 2026 21:33:19 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1772775197; cv=none; d=google.com; s=arc-20240605; b=MZc68jli1oNv8vH80VVpaKbZx3uUvSm5Un9YC8+W4dTOEZ0GTfRM3DBTVh5bCBxCmp DgfN89hN4EdpLln95agyu/LjilniMjdBAZB3RnqMBF2xivKQUHobW7zj4M1hM1o6q5ct xuUeYXA1Y5E384xbw89+9pCMstm39lAy+ta1wovA83Gpb+N1nMr5qlT/cLxvzFf4mMU6 gxVlYwVbqkG8iyzepH2WNrBpbAecQLlxAz+DljEvHW15cIFQ8zr3yd2DqyGKp596q0rc tE4x/a+B2/W0ur52UQB657Xu30skcmzk0mMTglHLNOAC0ZxGXeWTfLlLzSr0hPsWgxyr fMdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=R4QJyXzU5pniMmdv0cKFGg+4e4VAElPYDCQ8Z+7xKJA=; fh=3zMMPOxIIHNL2+7PBICwau8mgvK34o8KMX7q9j6cx+c=; b=hKKwi8wV810aAil6EUoiVNhD7RmPVF3XPVmfmNNaIcHUfZpwCKgPd3ZfUz/wkAfY1f TWCwyXm1FNr7BO2KiDs10ShCfU+Oqr+cBSUlnUjh7HwVPaCwtucRVdc8AhenexSgDitj c1NpROY8F8QUe0YEyNHV3zJhSRrJUqccz6nhGlylp5VbNh9AHMBcGWAc/uYjIFvC1C/A niPSbF41MYTpNUUdREiZzuck0tk1CDvBTrxH05ti95XtL17dnO3CyKBfAZX2gykLkq8A nVyVRPGwlJkgX5WEeTfIAJt+ZAzUntNFPtmwUGCblkgEy2gegMzfgR29F3G2+TchY/Em naaA==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772775197; x=1773379997; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=R4QJyXzU5pniMmdv0cKFGg+4e4VAElPYDCQ8Z+7xKJA=; b=Uu2SrRbz2fmWKFxVbJv93GQC1m9A95TEM+SOS1vXK958HH7G3a/ojJ2Bb27LCFgDxm Is6keWBAvOgVBV7MA/+ZrfN6zsAKaqxpi46vdLHszEBKdrFMglpUGU96YpGdqw2/sw1/ JsLcXnYFH7BCVMekX/p2Iqb2RHz0BFxN5ANwOTp9i/12oa7Hv3INyBqSrDdjw8JyTN5r hSwVnQiblMsnjVr2XPPGj6L34Gpuqt7HaEwG+OnwKXAnZWvXOU8uDYGIqo8CGnXQZapg cNGbb2wrGf1/g0NXuBkfnFCI9nzedWorX223DePH5WnPUpno7nq/w0IoNh4lVW1JjMvW PSXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772775197; x=1773379997; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=R4QJyXzU5pniMmdv0cKFGg+4e4VAElPYDCQ8Z+7xKJA=; b=wGveHQM+VEjZTBDG2ByDfuebUvby/aPE4Xbb4CpxRgK6ICM7uEYDkcSwBbqjWfhzUO UfFGp+riBswx/uzVgs8oanYy0DK/ukmFZOknAUzL5oiUD5EZTIQTsbsgWBZhWu+EiY5I BmODQa7jWdwS//v5aPpIgQ5vySX6x/8AuenytTN5W000UCS7KtELTceMZ1LAGzW36iPn qnCNvDzvCMwOK025jy9sQGvzyfNnkX769MptudMiCKQO2IOdQ8IepzgwP3QZ6xgNt0nZ 0b9qebouAAMQqu/1xpX4xlEBtwnLRYJLbiTBeUr0w4gXZkIQfpyWGZAGl3UMDv2heHtA CPrA== X-Gm-Message-State: AOJu0Yyr/svDylyYD2qvPayeQ/DBg+AaBzsFWQQ2zwy7xB8u35XkuEEf bS1GHiRvK2MthCCRqHlyPS+ErwJfdpjmRUPPdCXUUHqUxo9yTsRL2hhEO1xdWxNUcMEK+u8AkH4 miv6DFx1l5h2xOKMBD1Da4kHcehd0JczlLTmSZQI= X-Gm-Gg: ATEYQzxeZ0yHDQCsMvRzrOr061ppcX5GEpQFKv0WsbslHqZ6fBKMMzH1Nck4FDjfcet JFMxpPsxwSt4HEiwT+lB7kWNHGo0afxjSIOD/OMsdXbfzIWOzFouzRLL8YBNqBXqIo8srXqsf7i mKsvogbPulSZzYUX/kIji7jPcsoyO0uYDhwE2NINZ6/0LYmyj7e/qWzcyHoq077EuMZlIEZaY/Y iBN1nDLuKvKNIuyBWpnXZalMuSZoPiCZBw3S5qIQA3PX2Yp2MRU+aBjvHDF3zfW4J+MUV47O4Fz Hfl5Aw== X-Received: by 2002:a05:6102:32c1:b0:5ff:a4e0:193d with SMTP id ada2fe7eead31-5ffe5ef4a95mr333820137.2.1772775197449; Thu, 05 Mar 2026 21:33:17 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Nitin Jadhav Date: Fri, 6 Mar 2026 11:02:41 +0530 X-Gm-Features: AaiRm52caRRSl0-nfGMYClJTi1jY1JQneUGCS25jgWieC5hB6nnX9uayCYigCS4 Message-ID: Subject: =?UTF-8?Q?Re=3A_Change_checkpoint=E2=80=91record=E2=80=91missing_PANIC_to_FA?= =?UTF-8?Q?TAL?= To: Michael Paquier Cc: Pg Hackers Content-Type: multipart/mixed; boundary="000000000000e93a7f064c546321" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000e93a7f064c546321 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable > Thanks, Nitin. Perhaps it would be a better approach to split the > patch into multiple pieces, with the most relevant PANIC->FATAL > switches and the most critical tests on top of the rest. It would be > nice to get most of that by the end of the release cycle, or a rather > "good" chunk of it. Thanks for the suggestion, Michael, and apologies for the delay. I had intended to send this sooner, but it took a bit more time. I=E2=80=99m sharing the two patches below. Patch 0001 adjusts the error severity during crash recovery when the checkpoint record referenced by pg_control cannot be located and no backup_label file is present. The error is lowered from PANIC to FATAL. This patch also adds a new TAP test that verifies startup fails with a clear FATAL error. The test is straightforward: it removes the WAL segment containing the checkpoint record and confirms that the server reports the expected error. Patch 0002 adds two TAP tests that exercise similar missing=E2=80=91WAL scenarios during backup recovery, i.e., when a backup_label file is present: Missing checkpoint WAL segment referenced by backup_label: This test uses an online backup to create a backup_label file, extracts the checkpoint record information from it, removes the corresponding WAL segment, and verifies that the server reports the expected error. Missing redo WAL segment referenced by the checkpoint: In this test, redo and checkpoint records are forced into different WAL segments using injection points. A cold backup is then taken, with an explicit backup_label created in the restored cluster. The WAL segment containing the redo record is removed, and startup is expected to fail with the appropriate error message. Please review and share your feedback. I=E2=80=99m happy to adjust the patc= hes if there are better ways to handle any of these cases, especially the 054_missing_redo_with_backup_label test. Best Regards, Nitin Jadhav Azure Database for PostgreSQL Microsoft On Thu, Feb 19, 2026 at 9:48=E2=80=AFAM Michael Paquier wrote: > > On Thu, Feb 19, 2026 at 08:24:02AM +0530, Nitin Jadhav wrote: > > I had a quick look at the existing recovery TAP tests and didn=E2=80=99= t > > immediately find a case where simply adding log checks would cover > > these error paths, but I=E2=80=99ll double=E2=80=91check once more befo= re sending the > > patch. I=E2=80=99ll work on this and share the patch soon. > > Thanks, Nitin. Perhaps it would be a better approach to split the > patch into multiple pieces, with the most relevant PANIC->FATAL > switches and the most critical tests on top of the rest. It would be > nice to get most of that by the end of the release cycle, or a rather > "good" chunk of it. > -- > Michael --000000000000e93a7f064c546321 Content-Type: application/octet-stream; name="0002-Add-TAP-tests-for-missing-redo-checkpoint-during-bac.patch" Content-Disposition: attachment; filename="0002-Add-TAP-tests-for-missing-redo-checkpoint-during-bac.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmegj36y1 RnJvbSA4MGM5ZGIyNGM0OTM3ZTE3ODI3MDNjMTIzYWI2N2Q3NGQ4YjIwNjkwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiBKYWRoYXYgPG5pdGluamFkaGF2cG9zdGdyZXNAZ21h aWwuY29tPgpEYXRlOiBGcmksIDYgTWFyIDIwMjYgMDQ6NTI6MTcgKzAwMDAKU3ViamVjdDogW1BB VENIIDIvMl0gQWRkIFRBUCB0ZXN0cyBmb3IgbWlzc2luZyByZWRvL2NoZWNrcG9pbnQgZHVyaW5n IGJhY2t1cAogcmVjb3ZlcnkKCkFkZCB0d28gcmVjb3ZlcnkgVEFQIHRlc3RzIHRvIHZhbGlkYXRl IFBvc3RncmVTUUwgYmVoYXZpb3Igd2hlbiBXQUwKcmVjb3JkcyByZXF1aXJlZCBmb3Igc3RhcnR1 cCBhcmUgbWlzc2luZyBpbiB0aGUgcHJlc2VuY2Ugb2YgYQpiYWNrdXBfbGFiZWwgZmlsZS4KClRo ZSBmaXJzdCB0ZXN0IGNvdmVycyB0aGUgY2FzZSB3aGVyZSB0aGUgY2hlY2twb2ludCByZWNvcmQg cmVmZXJlbmNlZApieSBiYWNrdXBfbGFiZWwgaXMgbWlzc2luZywgYW5kIHZlcmlmaWVzIHRoYXQg cmVjb3ZlcnkgZmFpbHMgd2l0aCBhCmNsZWFyIEZBVEFMIGVycm9yLgoKVGhlIHNlY29uZCB0ZXN0 IGNvdmVycyB0aGUgY2FzZSB3aGVyZSB0aGUgcmVkbyByZWNvcmQgcmVmZXJlbmNlZCBieSB0aGUK Y2hlY2twb2ludCBpcyBtaXNzaW5nIHdoaWxlIGEgYmFja3VwX2xhYmVsIGZpbGUgaXMgcHJlc2Vu dCwgd2l0aCByZWRvCmFuZCBjaGVja3BvaW50IHJlY29yZHMgZm9yY2VkIGludG8gZGlmZmVyZW50 IFdBTCBzZWdtZW50cyB1c2luZwppbmplY3Rpb24gcG9pbnRzLgotLS0KIC4uLjUzX21pc3Npbmdf Y2hlY2twb2ludF93aXRoX2JhY2t1cF9sYWJlbC5wbCB8ICA4NiArKysrKysrKysrCiAuLi4vdC8w NTRfbWlzc2luZ19yZWRvX3dpdGhfYmFja3VwX2xhYmVsLnBsICAgfCAxNTIgKysrKysrKysrKysr KysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDIzOCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wNTNfbWlzc2luZ19jaGVja3BvaW50X3dpdGhfYmFj a3VwX2xhYmVsLnBsCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wNTRf bWlzc2luZ19yZWRvX3dpdGhfYmFja3VwX2xhYmVsLnBsCgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVjb3ZlcnkvdC8wNTNfbWlzc2luZ19jaGVja3BvaW50X3dpdGhfYmFja3VwX2xhYmVsLnBsIGIv c3JjL3Rlc3QvcmVjb3ZlcnkvdC8wNTNfbWlzc2luZ19jaGVja3BvaW50X3dpdGhfYmFja3VwX2xh YmVsLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi43YmUwNzBhYmZl YQotLS0gL2Rldi9udWxsCisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDUzX21pc3NpbmdfY2hl Y2twb2ludF93aXRoX2JhY2t1cF9sYWJlbC5wbApAQCAtMCwwICsxLDg2IEBACisjIENvcHlyaWdo dCAoYykgMjAyNS0yMDI2LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorIwor IyBWZXJpZnkgY3Jhc2ggcmVjb3ZlcnkgYmVoYXZpb3Igd2hlbiB0aGUgV0FMIHNlZ21lbnQgY29u dGFpbmluZyB0aGUKKyMgY2hlY2twb2ludCByZWNvcmQgcmVmZXJlbmNlZCBieSBiYWNrdXBfbGFi ZWwgaXMgbWlzc2luZy4KKyMKKyMgRXhwZWN0ZWQgYmVoYXZpb3I6IHN0YXJ0dXAgZmFpbHMgd2l0 aCBGQVRBTCBhbmQgbG9ncyBhIG1lc3NhZ2UgYWJvdXQKKyMgbm90IGJlaW5nIGFibGUgdG8gbG9j YXRlIGEgdmFsaWQgY2hlY2twb2ludCByZWNvcmQuCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2Fybmlu Z3MgRkFUQUwgPT4gJ2FsbCc7Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3RlcjsKK3VzZSBQ b3N0Z3JlU1FMOjpUZXN0OjpVdGlsczsKK3VzZSBUZXN0OjpNb3JlOworCitteSAkbm9kZSA9IFBv c3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygndGVzdG5vZGUnKTsKKyRub2RlLT5pbml0KGFs bG93c19zdHJlYW1pbmcgPT4gMSk7Ciskbm9kZS0+YXBwZW5kX2NvbmYoJ3Bvc3RncmVzcWwuY29u ZicsICd3YWxfbGV2ZWwgPSByZXBsaWNhJyk7Ciskbm9kZS0+c3RhcnQ7CisKKyMgR2VuZXJhdGUg V0FMIGFuZCBmb3JjZSBhIGNoZWNrcG9pbnQKKyRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywK KyAgICBxe0NSRUFURSBUQUJMRSB0KGEgaW50KTsgSU5TRVJUIElOVE8gdCBWQUxVRVMgKDEpLCgy KSwoMyk7fSk7Ciskbm9kZS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICdDSEVDS1BPSU5UJyk7CisK KyMgVGFrZSBhIHBoeXNpY2FsIGJhc2UgYmFja3VwIChjcmVhdGVzIGJhY2t1cF9sYWJlbCkKK215 ICRiYWNrdXBuYW1lID0gJ2ZzX2JrcCc7Ciskbm9kZS0+YmFja3VwKCRiYWNrdXBuYW1lKTsKKwor bXkgJHJlY28gPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3JlY292ZXJ5X2Zyb21f YmFja3VwX2NrcHQnKTsKKyRyZWNvLT5pbml0X2Zyb21fYmFja3VwKAorICAgICRub2RlLAorICAg ICRiYWNrdXBuYW1lLAorICAgIGhhc19yZXN0b3JlZCA9PiAxLAorKTsKKworIyBBc3NlcnQgYmFj a3VwX2xhYmVsIGV4aXN0cworbXkgJGJhY2t1cF9sYWJlbCA9ICRyZWNvLT5kYXRhX2RpciAuICcv YmFja3VwX2xhYmVsJzsKK29rKAorICAgIC1lICRiYWNrdXBfbGFiZWwsCisgICAgJ2JhY2t1cF9s YWJlbCBleGlzdHMnCispOworCisjIERldGVybWluZSBXQUwgZmlsZSBjb250YWluaW5nIHRoZSBj aGVja3BvaW50IHJlY29yZAorbXkgJGJhY2t1cF9sYWJlbF9wYXRoID0gJHJlY28tPmRhdGFfZGly IC4gJy9iYWNrdXBfbGFiZWwnOworbXkgJGJhY2t1cF9sYWJlbF9jb250ZW50cyA9IHNsdXJwX2Zp bGUoJGJhY2t1cF9sYWJlbF9wYXRoKTsKKworbXkgKCRjaGVja3BvaW50X3dhbGZpbGUpID0KKyAg ICAkYmFja3VwX2xhYmVsX2NvbnRlbnRzID1+CisgICAgICAgIC9cKGZpbGVccysoWzAtOUEtRl17 MjR9KVwpLzsKK29rKAorICAgIGRlZmluZWQgJGNoZWNrcG9pbnRfd2FsZmlsZSwKKyAgICAiZXh0 cmFjdGVkIGNoZWNrcG9pbnQgV0FMIGZpbGUgZnJvbSBiYWNrdXBfbGFiZWw6ICRjaGVja3BvaW50 X3dhbGZpbGUiCispOworCisjIFJlbW92ZSB0aGUgV0FMIHNlZ21lbnQgY29udGFpbmluZyB0aGUg Y2hlY2twb2ludCByZWNvcmQKK215ICRwZ3dhbCA9ICRyZWNvLT5kYXRhX2RpciAuICcvcGdfd2Fs JzsKK29rKC1kICRwZ3dhbCwgJ3BnX3dhbCBkaXJlY3RvcnkgZXhpc3RzJyk7CisKK215ICR0YXJn ZXQgPSAiJHBnd2FsLyRjaGVja3BvaW50X3dhbGZpbGUiOworb2soCisgICAgLWUgJHRhcmdldCwK KyAgICAiY2hlY2twb2ludCBXQUwgc2VnbWVudCBleGlzdHMgYmVmb3JlIHJlbW92YWw6ICR0YXJn ZXQiCispIG9yIGRpZSAiRXhwZWN0ZWQgV0FMIHNlZ21lbnQgJHRhcmdldCBub3QgZm91bmQiOwor Cit1bmxpbmsoJHRhcmdldCkKKyAgb3IgZGllICJ1bmxpbmsgJHRhcmdldCBmYWlsZWQ6ICQhIjsK KworIyBTdGFydCB0aGUgc2VydmVyIGFuZCBjb25maXJtIHRoYXQgcmVjb3ZlcnkgaGFzIGZhaWxl ZCwgYXMgZXhwZWN0ZWQuCitjb21tYW5kX2ZhaWxzKAorICAgIFsKKyAgICAgICAgJ3BnX2N0bCcs CisgICAgICAgICctLXBnZGF0YScgPT4gJHJlY28tPmRhdGFfZGlyLAorICAgICAgICAnLS1sb2cn ICAgID0+ICRyZWNvLT5sb2dmaWxlLAorICAgICAgICAnc3RhcnQnLAorICAgIF0sCisgICAgJ3N0 YXJ0dXAgZmFpbHMgd2hlbiBjaGVja3BvaW50IFdBTCBpcyBtaXNzaW5nIHdpdGggYmFja3VwX2xh YmVsIHByZXNlbnQnCispOworCitteSAkbG9nID0gc2x1cnBfZmlsZSgkcmVjby0+bG9nZmlsZSk7 CitsaWtlKAorICAgICRsb2csCisgICAgcXIvKD86RkFUQUx8UEFOSUMpOiAuKmNvdWxkIG5vdCBs b2NhdGUgcmVxdWlyZWQgY2hlY2twb2luIHJlY29yZC9pLAorICAgICdzZXJ2ZXIgbG9nIHJlcG9y dHMgbWlzc2luZyBjaGVja3BvaW50IHJlY29yZCcKKyk7CisKK2RvbmVfdGVzdGluZygpOwpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlY292ZXJ5L3Qv MDU0X21pc3NpbmdfcmVkb193aXRoX2JhY2t1cF9sYWJlbC5wbCBiL3NyYy90ZXN0L3JlY292ZXJ5 L3QvMDU0X21pc3NpbmdfcmVkb193aXRoX2JhY2t1cF9sYWJlbC5wbApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZjJkMzM1MmM0NmYKLS0tIC9kZXYvbnVsbAorKysgYi9z cmMvdGVzdC9yZWNvdmVyeS90LzA1NF9taXNzaW5nX3JlZG9fd2l0aF9iYWNrdXBfbGFiZWwucGwK QEAgLTAsMCArMSwxNTIgQEAKKyMgQ29weXJpZ2h0IChjKSAyMDI1LTIwMjYsIFBvc3RncmVTUUwg R2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisjCisjIFZlcmlmeSByZWNvdmVyeSBiZWhhdmlvciB3 aGVuIGEgV0FMIHNlZ21lbnQgY29udGFpbmluZyB0aGUgcmVkbyByZWNvcmQgaXMKKyMgbWlzc2lu Zywgd2l0aCBhIGNoZWNrcG9pbnQgcmVjb3JkIGxvY2F0ZWQgaW4gYSBkaWZmZXJlbnQgc2VnbWVu dCwgaW4gdGhlCisjIHByZXNlbmNlIG9mIGEgYmFja3VwX2xhYmVsIGZpbGUuCisjCisjIEV4cGVj dGVkIGJlaGF2aW9yOiBzdGFydHVwIGZhaWxzIHdpdGggRkFUQUwgYW5kIGxvZ3MgYSBtZXNzYWdl IGFib3V0IG5vdAorIyBiZWluZyBhYmxlIHRvIGZpbmQgdGhlIHJlZG8gbG9jYXRpb24gcmVmZXJl bmNlZCBieSB0aGUgY2hlY2twb2ludCByZWNvcmQuCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2Fybmlu Z3MgRkFUQUwgPT4gJ2FsbCc7Cit1c2UgUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3RlcjsKK3VzZSBQ b3N0Z3JlU1FMOjpUZXN0OjpVdGlsczsKK3VzZSBUZXN0OjpNb3JlOworCitpZiAoJEVOVntlbmFi bGVfaW5qZWN0aW9uX3BvaW50c30gbmUgJ3llcycpCit7CisgICAgcGxhbiBza2lwX2FsbCA9PiAn SW5qZWN0aW9uIHBvaW50cyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnVpbGQnOworfQorCitteSAk bm9kZSA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygndGVzdG5vZGUnKTsKKyRub2Rl LT5pbml0OworJG5vZGUtPmFwcGVuZF9jb25mKCdwb3N0Z3Jlc3FsLmNvbmYnLCAnbG9nX2NoZWNr cG9pbnRzID0gb24nKTsKKyRub2RlLT5zdGFydDsKKworIyBDaGVjayBpZiB0aGUgZXh0ZW5zaW9u IGluamVjdGlvbl9wb2ludHMgaXMgYXZhaWxhYmxlLgoraWYgKCEkbm9kZS0+Y2hlY2tfZXh0ZW5z aW9uKCdpbmplY3Rpb25fcG9pbnRzJykpCit7CisgICAgcGxhbiBza2lwX2FsbCA9PiAnRXh0ZW5z aW9uIGluamVjdGlvbl9wb2ludHMgbm90IGluc3RhbGxlZCc7Cit9Ciskbm9kZS0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsIHEoQ1JFQVRFIEVYVEVOU0lPTiBpbmplY3Rpb25fcG9pbnRzKSk7CisKKyMg Tm90ZSB0aGF0IHRoaXMgdXNlcyB0d28gaW5qZWN0aW9uIHBvaW50cyBiYXNlZCBvbiB3YWl0cywg bm90IG9uZS4gIFRoaXMKKyMgbWF5IGxvb2sgc3RyYW5nZSwgYnV0IHRoaXMgd29ya3MgYXMgYSB3 b3JrYXJvdW5kIHRvIGVuZm9yY2UgYWxsIG1lbW9yeQorIyBhbGxvY2F0aW9ucyB0byBoYXBwZW4g b3V0c2lkZSB0aGUgY3JpdGljYWwgc2VjdGlvbiBvZiB0aGUgY2hlY2twb2ludAorIyByZXF1aXJl ZCBmb3IgdGhpcyB0ZXN0LgorIyBGaXJzdCwgImNyZWF0ZS1jaGVja3BvaW50LWluaXRpYWwiIGlz IHJ1biBvdXRzaWRlIHRoZSBjcml0aWNhbCBzZWN0aW9uCisjIHNlY3Rpb24sIGFuZCBpcyB1c2Vk IGFzIGEgd2F5IHRvIGluaXRpYWxpemUgdGhlIHNoYXJlZCBtZW1vcnkgcmVxdWlyZWQKKyMgZm9y IHRoZSB3YWl0IG1hY2hpbmVyeSB3aXRoIGl0cyBEU00gcmVnaXN0cnkuCisjIFRoZW4sICJjcmVh dGUtY2hlY2twb2ludC1ydW4iIGlzIGxvYWRlZCBvdXRzaWRlIHRoZSBjcml0aWNhbCBzZWN0aW9u IG9mCisjIGEgY2hlY2twb2ludCB0byBhbGxvY2F0ZSBhbnkgbWVtb3J5IHJlcXVpcmVkIGJ5IHRo ZSBsaWJyYXJ5IGxvYWQsIGFuZAorIyBpdHMgY2FsbGJhY2sgaXMgcnVuIGluc2lkZSB0aGUgY3Jp dGljYWwgc2VjdGlvbi4KKyRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKyAgICBxe1NFTEVD VCBpbmplY3Rpb25fcG9pbnRzX2F0dGFjaCgnY3JlYXRlLWNoZWNrcG9pbnQtaW5pdGlhbCcsICd3 YWl0Jyl9KTsKKyRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKyAgICBxe1NFTEVDVCBpbmpl Y3Rpb25fcG9pbnRzX2F0dGFjaCgnY3JlYXRlLWNoZWNrcG9pbnQtcnVuJywgJ3dhaXQnKX0pOwor CisjIFN0YXJ0IGEgcHNxbCBzZXNzaW9uIHRvIHJ1biB0aGUgY2hlY2twb2ludCBpbiB0aGUgYmFj a2dyb3VuZCBhbmQgbWFrZQorIyB0aGUgdGVzdCB3YWl0IG9uIHRoZSBpbmplY3Rpb24gcG9pbnQg c28gdGhlIGNoZWNrcG9pbnQgc3RvcHMganVzdCBhZnRlcgorIyBpdCBzdGFydHMuCitteSAkY2hl Y2twb2ludCA9ICRub2RlLT5iYWNrZ3JvdW5kX3BzcWwoJ3Bvc3RncmVzJyk7CiskY2hlY2twb2lu dC0+cXVlcnlfdW50aWwoCisgICAgcXIvc3RhcnRpbmdfY2hlY2twb2ludC8sCisgICAgcShcZWNo byBzdGFydGluZ19jaGVja3BvaW50CitjaGVja3BvaW50OworKSk7CisKKyMgV2FpdCBmb3IgdGhl IGluaXRpYWwgcG9pbnQgdG8gZmluaXNoLCB0aGUgY2hlY2twb2ludGVyIGlzIHN0aWxsCisjIG91 dHNpZGUgaXRzIGNyaXRpY2FsIHNlY3Rpb24uICBUaGVuIHJlbGVhc2UgdG8gcmVhY2ggdGhlIHNl Y29uZAorIyBwb2ludC4KKyRub2RlLT53YWl0X2Zvcl9ldmVudCgnY2hlY2twb2ludGVyJywgJ2Ny ZWF0ZS1jaGVja3BvaW50LWluaXRpYWwnKTsKKyRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywK KyAgICBxe1NFTEVDVCBpbmplY3Rpb25fcG9pbnRzX3dha2V1cCgnY3JlYXRlLWNoZWNrcG9pbnQt aW5pdGlhbCcpfSk7CisKKyMgV2FpdCB1bnRpbCB0aGUgY2hlY2twb2ludCBoYXMgcmVhY2hlZCB0 aGUgc2Vjb25kIGluamVjdGlvbiBwb2ludC4KKyMgV2UgYXJlIG5vdyBpbiB0aGUgbWlkZGxlIG9m IGEgY2hlY2twb2ludCBydW5uaW5nLCBhZnRlciB0aGUgcmVkbworIyByZWNvcmQgaGFzIGJlZW4g bG9nZ2VkLgorJG5vZGUtPndhaXRfZm9yX2V2ZW50KCdjaGVja3BvaW50ZXInLCAnY3JlYXRlLWNo ZWNrcG9pbnQtcnVuJyk7CisKKyMgU3dpdGNoIFdBTCBzZWdtZW50IHRvIGVuc3VyZSByZWRvIGFu ZCBjaGVja3BvaW50IHJlY29yZHMgYXJlIGluIGRpZmZlcmVudAorIyBzZWdtZW50cy4KKyRub2Rl LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJ1NFTEVDVCBwZ19zd2l0Y2hfd2FsKCknKTsKKworIyBD b250aW51ZSBjaGVja3BvaW50IGFuZCB3YWl0IGZvciBjb21wbGV0aW9uLgorbXkgJGxvZ19vZmZz ZXQgPSAtcyAkbm9kZS0+bG9nZmlsZTsKKyRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKyAg ICBxe1NFTEVDVCBpbmplY3Rpb25fcG9pbnRzX3dha2V1cCgnY3JlYXRlLWNoZWNrcG9pbnQtcnVu Jyl9KTsKKyRub2RlLT53YWl0X2Zvcl9sb2cocXIvY2hlY2twb2ludCBjb21wbGV0ZS8sICRsb2df b2Zmc2V0KTsKKworJGNoZWNrcG9pbnQtPnF1aXQ7CisKKyMgUmV0cmlldmUgdGhlIFdBTCBmaWxl IG5hbWVzIGZvciB0aGUgcmVkbyByZWNvcmQgYW5kIGNoZWNrcG9pbnQgcmVjb3JkLgorbXkgJHJl ZG9fbHNuID0gJG5vZGUtPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorICAgIHF7U0VMRUNUIHJlZG9f bHNuIEZST00gcGdfY29udHJvbF9jaGVja3BvaW50KCl9KTsKK215ICRjaGVja3BvaW50X2xzbiA9 ICRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKyAgICBxe1NFTEVDVCBjaGVja3BvaW50X2xz biBGUk9NIHBnX2NvbnRyb2xfY2hlY2twb2ludCgpfSk7CitteSAkcmVkb193YWxmaWxlX25hbWUg PQorICAkbm9kZS0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgcGdfd2FsZmlsZV9uYW1l KCckcmVkb19sc24nKSIpOworbXkgJGNoZWNrcG9pbnRfd2FsZmlsZV9uYW1lID0KKyAgJG5vZGUt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIHBnX3dhbGZpbGVfbmFtZSgnJGNoZWNrcG9p bnRfbHNuJykiKTsKKworIyBSZWRvIHJlY29yZCBhbmQgY2hlY2twb2ludCByZWNvcmQgc2hvdWxk IGJlIG9uIGRpZmZlcmVudCBzZWdtZW50cy4KK2lzbnQoJHJlZG9fd2FsZmlsZV9uYW1lLCAkY2hl Y2twb2ludF93YWxmaWxlX25hbWUsCisgICAgJ3JlZG8gYW5kIGNoZWNrcG9pbnQgcmVjb3JkcyBv biBkaWZmZXJlbnQgc2VnbWVudHMnKTsKKworIyBTdG9wIGFuZCB0YWtlIGEgY29sZCBmaWxlc3lz dGVtIGJhY2t1cCBvZiB0aGUgc3RvcHBlZCBzZXJ2ZXIuCiskbm9kZS0+c3RvcCgnaW1tZWRpYXRl Jyk7CitteSAkYmFja3VwbmFtZSA9ICdjb2xkX2JrcCc7Ciskbm9kZS0+YmFja3VwX2ZzX2NvbGQo JGJhY2t1cG5hbWUpOworCisjIFJlc3RvcmUgY29sZCBiYWNrdXAgaW50byBhIG5ldyBub2RlLgor bXkgJHJlY28gPSBQb3N0Z3JlU1FMOjpUZXN0OjpDbHVzdGVyLT5uZXcoJ3JlY29fd2l0aF9iYWNr dXBfbGFiZWwnKTsKKyRyZWNvLT5pbml0X2Zyb21fYmFja3VwKCRub2RlLCAkYmFja3VwbmFtZSwg aGFzX3Jlc3RvcmVkID0+IDEpOworCisjIE1hbnVhbGx5IGNyZWF0ZSBiYWNrdXBfbGFiZWwgaW4g cmVzdG9yZWQgY2x1c3RlciB0byBmb3JjZSBiYWNrdXAgcmVjb3ZlcnkuCitteSAkYmFja3VwX2xh YmVsX3BhdGggPSAkcmVjby0+ZGF0YV9kaXIgLiAnL2JhY2t1cF9sYWJlbCc7CisKKyMgRXh0cmFj dCB0aW1lbGluZSBmcm9tIFdBTCBmaWxlbmFtZSAoZmlyc3QgOCBoZXggZGlnaXRzKS4KK215ICR0 bGlfaGV4ID0gc3Vic3RyKCRjaGVja3BvaW50X3dhbGZpbGVfbmFtZSwgMCwgOCk7CitteSAkdGxp ID0gaGV4KCR0bGlfaGV4KTsKKworb3BlbihteSAkYmwsICc+JywgJGJhY2t1cF9sYWJlbF9wYXRo KQorICBvciBkaWUgImNvdWxkIG5vdCBjcmVhdGUgYmFja3VwX2xhYmVsOiAkISI7CitwcmludCAk YmwgIlNUQVJUIFdBTCBMT0NBVElPTjogJHJlZG9fbHNuIChmaWxlICRyZWRvX3dhbGZpbGVfbmFt ZSlcbiI7CitwcmludCAkYmwgIkNIRUNLUE9JTlQgTE9DQVRJT046ICRjaGVja3BvaW50X2xzblxu IjsKK3ByaW50ICRibCAiQkFDS1VQIE1FVEhPRDogdGVzdFxuIjsKK3ByaW50ICRibCAiQkFDS1VQ IEZST006IHByaW1hcnlcbiI7CitwcmludCAkYmwgIlNUQVJUIFRJTUVMSU5FOiAkdGxpXG4iOwor cHJpbnQgJGJsICJDSEVDS1BPSU5UIFRJTUVMSU5FOiAkdGxpXG4iOworcHJpbnQgJGJsICJMQUJF TDogcmVkbyBtaXNzaW5nIHdpdGggYmFja3VwX2xhYmVsXG4iOworY2xvc2UoJGJsKTsKKworb2so LWUgJGJhY2t1cF9sYWJlbF9wYXRoLCAnYmFja3VwX2xhYmVsIGV4aXN0cyBiZWZvcmUgc3RhcnR1 cCcpOworCisjIFJlbW92ZSB0aGUgV0FMIHNlZ21lbnQgY29udGFpbmluZyB0aGUgcmVkbyByZWNv cmQuCitteSAkcmVkb19wYXRoID0gJHJlY28tPmRhdGFfZGlyIC4gIi9wZ193YWwvJHJlZG9fd2Fs ZmlsZV9uYW1lIjsKK215ICRja3B0X3BhdGggPSAkcmVjby0+ZGF0YV9kaXIgLiAiL3BnX3dhbC8k Y2hlY2twb2ludF93YWxmaWxlX25hbWUiOworCitvaygtZSAkY2twdF9wYXRoLCAiY2hlY2twb2lu dCBXQUwgc2VnbWVudCBleGlzdHM6ICRja3B0X3BhdGgiKTsKK29rKC1lICRyZWRvX3BhdGgsICJy ZWRvIFdBTCBzZWdtZW50IGV4aXN0cyBiZWZvcmUgcmVtb3ZhbDogJHJlZG9fcGF0aCIpCisgIG9y IGRpZSAiRXhwZWN0ZWQgV0FMIHNlZ21lbnQgJHJlZG9fcGF0aCBub3QgZm91bmQiOworCit1bmxp bmsoJHJlZG9fcGF0aCkKKyAgb3IgZGllICJjb3VsZCBub3QgcmVtb3ZlIHJlZG8gV0FMIGZpbGU6 ICQhIjsKKworIyBVc2UgcnVuX2xvZyBpbnN0ZWFkIG9mIG5vZGUtPnN0YXJ0IGJlY2F1c2UgdGhp cyB0ZXN0IGV4cGVjdHMgdGhhdAorIyB0aGUgc2VydmVyIGVuZHMgd2l0aCBhbiBlcnJvciBkdXJp bmcgcmVjb3ZlcnkuCitydW5fbG9nKAorCVsKKwkJJ3BnX2N0bCcsCisJCSctLXBnZGF0YScgPT4g JHJlY28tPmRhdGFfZGlyLAorCQknLS1sb2cnICAgID0+ICRyZWNvLT5sb2dmaWxlLAorCQknc3Rh cnQnLAorCV0pOworCisjIENvbmZpcm0gdGhhdCByZWNvdmVyeSBoYXMgZmFpbGVkLCBhcyBleHBl Y3RlZC4KK215ICRsb2dmaWxlID0gc2x1cnBfZmlsZSgkcmVjby0+bG9nZmlsZSgpKTsKK29rKCAk bG9nZmlsZSA9fgorCSAgcXIvRkFUQUw6IC4qIGNvdWxkIG5vdCBmaW5kIHJlZG8gbG9jYXRpb24g LiogcmVmZXJlbmNlZCBieSBjaGVja3BvaW50IHJlY29yZCBhdCAuKi8sCisJImVuZHMgd2l0aCBG QVRBTCBiZWNhdXNlIGl0IGNvdWxkIG5vdCBmaW5kIHJlZG8gbG9jYXRpb24iKTsKKworZG9uZV90 ZXN0aW5nKCk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQotLSAKMi40My4wCgo= --000000000000e93a7f064c546321 Content-Type: application/octet-stream; name="0001-Lower-PANIC-to-FATAL-for-missing-checkpoint-error-in.patch" Content-Disposition: attachment; filename="0001-Lower-PANIC-to-FATAL-for-missing-checkpoint-error-in.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmegj36r0 RnJvbSBjNjAwN2Q4OTA5ZjJkZWU2NGE4ZmJkNjY0YWE5N2RkODlmOTQ0ODg0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOaXRpbiBKYWRoYXYgPG5pdGluamFkaGF2cG9zdGdyZXNAZ21h aWwuY29tPgpEYXRlOiBUaHUsIDE5IEZlYiAyMDI2IDA4OjI4OjM0ICswMDAwClN1YmplY3Q6IFtQ QVRDSCAxLzJdIExvd2VyIFBBTklDIHRvIEZBVEFMIGZvciBtaXNzaW5nIGNoZWNrcG9pbnQgZXJy b3IgaW4KIG5vLWJhY2t1cF9sYWJlbCBwYXRoCgpDcmFzaCByZWNvdmVyeSB3aXRob3V0IGEgYmFj a3VwX2xhYmVsIGN1cnJlbnRseSBQQU5JQ3MgaWYgdGhlIGNoZWNrcG9pbnQKcmVjb3JkIGNhbm5v dCBiZSBmb3VuZC4KClJlcG9ydCB0aGlzIGFzIEZBVEFMIGluc3RlYWQsIGFzIG1pc3NpbmcgV0FM IGlzIGEgcGxhdXNpYmxlIG9wZXJhdGlvbmFsCmZhaWx1cmUgYW5kIHRoZSBiYWNrdXBfbGFiZWwg cmVjb3ZlcnkgcGF0aCBhbHJlYWR5IHRyZWF0cyBpdCBhcyBhIEZBVEFMCmVycm9yLgotLS0KIHNy Yy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2dyZWNvdmVyeS5jICAgICB8ICAyICstCiAuLi5w bCA9PiAwNTBfbWlzc2luZ19yZWRvX25vX2JhY2t1cF9sYWJlbC5wbH0gfCAgMAogLi4uLzA1Ml9t aXNzaW5nX2NoZWNrcG9pbnRfbm9fYmFja3VwX2xhYmVsLnBsIHwgNjAgKysrKysrKysrKysrKysr KysrKwogMyBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBy ZW5hbWUgc3JjL3Rlc3QvcmVjb3ZlcnkvdC97MDUwX3JlZG9fc2VnbWVudF9taXNzaW5nLnBsID0+ IDA1MF9taXNzaW5nX3JlZG9fbm9fYmFja3VwX2xhYmVsLnBsfSAoMTAwJSkKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmMvdGVzdC9yZWNvdmVyeS90LzA1Ml9taXNzaW5nX2NoZWNrcG9pbnRfbm9fYmFj a3VwX2xhYmVsLnBsCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxv Z3JlY292ZXJ5LmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9ncmVjb3ZlcnkuYwpp bmRleCBjMGMyNzQ0ZDQ1Yi4uODU3ZGJiMzNmMTkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy90cmFuc2FtL3hsb2dyZWNvdmVyeS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFu c2FtL3hsb2dyZWNvdmVyeS5jCkBAIC03OTgsNyArNzk4LDcgQEAgSW5pdFdhbFJlY292ZXJ5KENv bnRyb2xGaWxlRGF0YSAqQ29udHJvbEZpbGUsIGJvb2wgKndhc1NodXRkb3duX3B0ciwKIAkJCSAq IGNhbid0IHJlYWQgdGhlIGxhc3QgY2hlY2twb2ludCBiZWNhdXNlIHRoaXMgYWxsb3dzIHVzIHRv CiAJCQkgKiBzaW1wbGlmeSBwcm9jZXNzaW5nIGFyb3VuZCBjaGVja3BvaW50cy4KIAkJCSAqLwot CQkJZXJlcG9ydChQQU5JQywKKwkJCWVyZXBvcnQoRkFUQUwsCiAJCQkJCWVycm1zZygiY291bGQg bm90IGxvY2F0ZSBhIHZhbGlkIGNoZWNrcG9pbnQgcmVjb3JkIGF0ICVYLyUwOFgiLAogCQkJCQkJ ICAgTFNOX0ZPUk1BVF9BUkdTKENoZWNrUG9pbnRMb2MpKSk7CiAJCX0KZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlY292ZXJ5L3QvMDUwX3JlZG9fc2VnbWVudF9taXNzaW5nLnBsIGIvc3JjL3Rlc3Qv cmVjb3ZlcnkvdC8wNTBfbWlzc2luZ19yZWRvX25vX2JhY2t1cF9sYWJlbC5wbApzaW1pbGFyaXR5 IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gc3JjL3Rlc3QvcmVjb3ZlcnkvdC8wNTBfcmVkb19zZWdt ZW50X21pc3NpbmcucGwKcmVuYW1lIHRvIHNyYy90ZXN0L3JlY292ZXJ5L3QvMDUwX21pc3Npbmdf cmVkb19ub19iYWNrdXBfbGFiZWwucGwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlY292ZXJ5L3Qv MDUyX21pc3NpbmdfY2hlY2twb2ludF9ub19iYWNrdXBfbGFiZWwucGwgYi9zcmMvdGVzdC9yZWNv dmVyeS90LzA1Ml9taXNzaW5nX2NoZWNrcG9pbnRfbm9fYmFja3VwX2xhYmVsLnBsCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi4xZjIxODJmOWYzMQotLS0gL2Rldi9udWxs CisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDUyX21pc3NpbmdfY2hlY2twb2ludF9ub19iYWNr dXBfbGFiZWwucGwKQEAgLTAsMCArMSw2MCBAQAorIyBDb3B5cmlnaHQgKGMpIDIwMjUtMjAyNiwg UG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXAKKyMKKyMgVmVyaWZ5IGNyYXNoIHJl Y292ZXJ5IGJlaGF2aW9yIHdoZW4gdGhlIFdBTCBzZWdtZW50IGNvbnRhaW5pbmcgdGhlCisjIGNo ZWNrcG9pbnQgcmVjb3JkIHJlZmVyZW5jZWQgYnkgcGdfY29udHJvbGRhdGEgaXMgbWlzc2luZywg aW4gdGhlIGNvZGUgcGF0aAorIyB3aGVyZSB0aGVyZSBpcyBubyBiYWNrdXBfbGFiZWwgZmlsZS4K KyMKKyMgRXhwZWN0ZWQgYmVoYXZpb3I6IHN0YXJ0dXAgZmFpbHMgd2l0aCBGQVRBTCBhbmQgbG9n cyBhIG1lc3NhZ2UgYWJvdXQKKyMgbm90IGJlaW5nIGFibGUgdG8gbG9jYXRlIGEgY2hlY2twb2lu dCByZWNvcmQuCisKK3VzZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3MgRkFUQUwgPT4gJ2FsbCc7Cit1 c2UgUG9zdGdyZVNRTDo6VGVzdDo6Q2x1c3RlcjsKK3VzZSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGls czsKK3VzZSBUZXN0OjpNb3JlOworCitteSAkbm9kZSA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0 ZXItPm5ldygndGVzdG5vZGUnKTsKKyRub2RlLT5pbml0OworJG5vZGUtPmFwcGVuZF9jb25mKCdw b3N0Z3Jlc3FsLmNvbmYnLCAnbG9nX2NoZWNrcG9pbnRzID0gb24nKTsKKyRub2RlLT5zdGFydDsK KworIyBGb3JjZSBhIGNoZWNrcG9pbnQgc28gcGdfY29udHJvbGRhdGEgcG9pbnRzIHRvIGEgY2hl Y2twb2ludCByZWNvcmQgd2UgY2FuIHRhcmdldC4KKyRub2RlLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywgJ0NIRUNLUE9JTlQ7Jyk7CisKKyMgUmV0cmlldmUgdGhlIGNoZWNrcG9pbnQgTFNOIGFuZCBk ZXJpdmUgdGhlIFdBTCBzZWdtZW50IG5hbWUuCitteSAkY2hlY2twb2ludF9sc24gPSAkbm9kZS0+ c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisgICAgIlNFTEVDVCBjaGVja3BvaW50X2xzbiBGUk9NIHBn X2NvbnRyb2xfY2hlY2twb2ludCgpIik7CitteSAkY2hlY2twb2ludF93YWxmaWxlID0KKyAgJG5v ZGUtPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIHBnX3dhbGZpbGVfbmFtZSgnJGNoZWNr cG9pbnRfbHNuJykiKTsKKworb2soJGNoZWNrcG9pbnRfd2FsZmlsZSBuZSAnJywgImRlcml2ZWQg Y2hlY2twb2ludCBXQUwgZmlsZSBuYW1lOiAkY2hlY2twb2ludF93YWxmaWxlIik7CisKKyMgU3Rv cCB0aGUgbm9kZS4KKyRub2RlLT5zdG9wKCdpbW1lZGlhdGUnKTsKKworIyBSZW1vdmUgdGhlIFdB TCBzZWdtZW50IGNvbnRhaW5pbmcgdGhlIGNoZWNrcG9pbnQgcmVjb3JkLgorbXkgJHdhbHBhdGgg PSAkbm9kZS0+ZGF0YV9kaXIgLiAiL3BnX3dhbC8kY2hlY2twb2ludF93YWxmaWxlIjsKK29rKC1m ICR3YWxwYXRoLCAiY2hlY2twb2ludCBXQUwgZmlsZSBleGlzdHMgYmVmb3JlIGRlbGV0aW9uOiAk d2FscGF0aCIpOworCit1bmxpbmsgJHdhbHBhdGgKKyAgb3IgZGllICJjb3VsZCBub3QgcmVtb3Zl IFdBTCBmaWxlICR3YWxwYXRoOiAkISI7CisKK29rKCEtZSAkd2FscGF0aCwgImNoZWNrcG9pbnQg V0FMIGZpbGUgcmVtb3ZlZDogJHdhbHBhdGgiKTsKKworIyBVc2UgcnVuX2xvZyBpbnN0ZWFkIG9m IG5vZGUtPnN0YXJ0IGJlY2F1c2UgdGhpcyB0ZXN0IGV4cGVjdHMgdGhhdAorIyB0aGUgc2VydmVy IGVuZHMgd2l0aCBhbiBlcnJvciBkdXJpbmcgcmVjb3ZlcnkuCitydW5fbG9nKAorCVsKKwkJJ3Bn X2N0bCcsCisJCSctLXBnZGF0YScgPT4gJG5vZGUtPmRhdGFfZGlyLAorCQknLS1sb2cnID0+ICRu b2RlLT5sb2dmaWxlLAorCQknc3RhcnQnLAorCV0pOworCisjIENvbmZpcm0gdGhhdCByZWNvdmVy eSBoYXMgZmFpbGVkLCBhcyBleHBlY3RlZC4KK215ICRsb2dmaWxlID0gc2x1cnBfZmlsZSgkbm9k ZS0+bG9nZmlsZSgpKTsKK29rKCAkbG9nZmlsZSA9fgorCSAgcXIvRkFUQUw6IC4qIGNvdWxkIG5v dCBsb2NhdGUgYSB2YWxpZCBjaGVja3BvaW50IHJlY29yZCBhdCAuKi8sCisJIkZBVEFMIGxvZ2dl ZCBmb3IgbWlzc2luZyBjaGVja3BvaW50IHJlY29yZCAobm8gYmFja3VwX2xhYmVsIHBhdGgpIik7 CisKK2RvbmVfdGVzdGluZygpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLS0gCjIuNDMu MAoK --000000000000e93a7f064c546321--