From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id u99CObgWSmh+XwoAWB0awg (envelope-from ) for ; Wed, 11 Jun 2025 19:52:24 -0400 Received: by simark.ca (Postfix, from userid 112) id D720F1E102; Wed, 11 Jun 2025 19:52:24 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-9.0 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED, RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id C24861E0C2 for ; Wed, 11 Jun 2025 19:52:23 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5F9853AA88F5 for ; Wed, 11 Jun 2025 23:52:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5F9853AA88F5 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) by sourceware.org (Postfix) with ESMTPS id 9BD53385DC1C for ; Wed, 11 Jun 2025 23:51:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9BD53385DC1C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=palves.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9BD53385DC1C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=209.85.128.43 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1749685908; cv=none; b=QyJ1XBU2b3ir5i4sUJW5PGqRhakOF159yraxGnPSVimrfZqcVi8M/trN2QZgA5OKIwxRGTOYjitjUr1D+hqomnT8f7woMOG633B7+5qZ6VgNH8ahqLmaqekRIDeH0LW/7s8LoQbHBtsAYhLp0maufCuI432jDfp6jpdNFq7hJUc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1749685908; c=relaxed/simple; bh=5rastzoAziy7aaKY2Niu7rGqFyVBcoh7bFUYbJ9Qqfk=; h=Message-ID:Date:MIME-Version:Subject:To:From; b=XpGnYbVztFuEgTRTZbHYErCQmGE1xSQMrvZpO/zrN7/I0zUX25jjw1AwjMlzl8BV0j1xx1SvxmruT4ijs0JOgeM3GXgwWJaCGjGhn1bSeF89IVy1eB13LkrED2Hp76fsTRqD5aDmOrIr/qu27wtr0HF4ZLPBCHWvrSHHgkC5gt4= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-442e9c00bf4so2214795e9.3 for ; Wed, 11 Jun 2025 16:51:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749685907; x=1750290707; h=in-reply-to:content-language:from:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=LrqK2ZmibModk2OHMomskuE40e0owxKutZ+mIGrnWFs=; b=Y0BU92fIxJU5lhLKvHAHntD3ICzrsaBGr72jh4SRqvimV5A/DAMar6TJ2xiWzvhkrY ZjJhSHQ5XLvNSVBoU8GVe86QskRZdLbBNYrWMcKVXfrYLSSY2wa6xoF9ZLSQNWAGXuTE PzzL4SGelPAaLC+7zB48N7qFAqkOFFyBYfBATp07HRL90C0fkCyn+BI7IKMuCD6lnSkG Ch5k9GaatHQbBZK8+AqsdqPYJ3jhhs2MH7TVaxjylLdx9sND6bPoraN/FtQFp6cZWO/g BWwwbyeoAKslz+2Wv5uRXK5lmFOCx003NBsz+ENRNWv0m5QjckuxfEmnPKhPWbJkefVq 4y0Q== X-Gm-Message-State: AOJu0YxQtwZ9K2IKNOjti011tnNXr+pKo6GS7wmz+3V4EMmQ7vcGMzt4 hKqC/9tZ56ifli1bLFogoi4hi7JHVObkvxOP9gXdy2c5bYH0RFTbkJ4qV683fXZx X-Gm-Gg: ASbGncsbF0KyvocTmwz/ZtyxhB6waw6baQVO4MwvdxuZil6HW/P+ElHl8rja9aDpIZ6 Oo5jUq7sMcPBx2gCQoHm3gZuHi7MFYIVtHsa5AigaHphyGdSZplMyLzjyjkwcHQgiR4mH3aJKpd RqFfnA1DiJc86R5vFMs7HNEnox2I7Lc+Llsg035p737fLtwWropzCy5XOQyyyvAF4meSCVs9izn 3UdedoHhzPhllexBbFghRpFviw2/I1o+JjPjZeD2vyvVInlU6FfxBTCl4BCzIa36g0/j2AlCPWt Mf5Vyt77L5DGoG0up1LZhlY12kTzvxKPU9ytD6ZxysEJztvv6MkuxGs39XTXmpmoXQ0b60q277l TlLp9b8BCYQDH09KZoVPxmzJFXGiqx6F/WcYQ2oqA X-Google-Smtp-Source: AGHT+IHzT+fp4k0lH2icVSm3qFQtEkBpccSfo2DBRNW2AvTaadWPEoqr1hpG/pmxEg6/HAoh8yFZHg== X-Received: by 2002:a05:600c:681b:b0:453:9bf:6f79 with SMTP id 5b1f17b1804b1-4532b929227mr14281695e9.26.1749685907205; Wed, 11 Jun 2025 16:51:47 -0700 (PDT) Received: from ?IPV6:2001:8a0:facf:2b00:91f9:10ba:834b:6413? ([2001:8a0:facf:2b00:91f9:10ba:834b:6413]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4532dea17d7sm3691035e9.10.2025.06.11.16.51.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 11 Jun 2025 16:51:46 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------bRd3sF7BmWXgiKf4PQa8H1Uu" Message-ID: <747c4557-0eb3-4f5a-8ad0-cf734d69d59e@palves.net> Date: Thu, 12 Jun 2025 00:51:43 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 00/47] Windows non-stop mode To: Tom Tromey Cc: gdb-patches@sourceware.org References: <20250519132308.3553663-1-pedro@palves.net> <87ldq6ax6c.fsf@tromey.com> From: Pedro Alves Content-Language: en-US In-Reply-To: <87ldq6ax6c.fsf@tromey.com> X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org This is a multi-part message in MIME format. --------------bRd3sF7BmWXgiKf4PQa8H1Uu Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 2025-06-05 18:57, Tom Tromey wrote: > > I'm not quite as sure about the last one. This test sets a couple of > breakpoints that have 'commands', where the commands delete the > breakpoint, like: > > [ break main.adb:4 then ... ] > "silent", > 'printf "Breakpoint hit #1.\\n"', > "clear main.adb:4", > "continue", > "end", > > When running the expected output is seen but gdb says: > > (gdb) run > Starting program: C:\[...] > Breakpoint hit #1. > Breakpoint hit #2. > No unwaited-for children left. > > It's that last line that causes the problem. The test expects an "exit > notification", which is kind of complicated in this test suite, but I > think for native testing boils down to a message like "[Inferior > ... exited ...]". > > I see this "unwaited-for" text in infrun.c. But I wonder if this is > really intended. Hmm, I'm not sure how you're seeing that. That is the output of a TARGET_WAITKIND_NO_RESUMED event. But it can also be a TARGET_WAITKIND_THREAD_EXITED, which GDB treats as TARGET_WAITKIND_NO_RESUMED in some cases, but only if the target backend is not in non-stop mode. In any case, TARGET_WAITKIND_NO_RESUMED means that infrun now believes that the target has no resumed threads left running, so if it went back to waiting for events, it would be stuck there forever, as no thread would ever report an event -- none is resumed. "No unwaited-for children left" is the text I came up with back when I added TARGET_WAITKIND_NO_RESUMED, and I based it on "man waitpid", which says: ERRORS ECHILD (for wait()) The calling process does not have any unwaited-for children. I kind of regret it, though. Something like "No resumed threads left." would be probably clearer and less implementer-speak. Is the test using scheduler locking (and was previously ignoring the error that "set scheduler-locking on" currently issues on Windows) ? I ask because that is expected output if you continue with scheduler locking enabled, and the thread exits. E.g., the new gdb.threads/leader-exit-schedlock.exp testcase added by the series, has: Thread 1 "leader-exit-schedlock" hit Breakpoint 2, main () at /home/alves/rocm/gdb/src/gdb/testsuite/gdb.threads/leader-exit-schedlock.c:55 55 return 0; /* break-here */ (gdb) PASS: gdb.threads/leader-exit-schedlock.exp: target-non-stop=off: exit-threads-first=0: schedlock=on: continue to breakpoint: break-here set scheduler-locking on (gdb) PASS: gdb.threads/leader-exit-schedlock.exp: target-non-stop=off: exit-threads-first=0: schedlock=on: set scheduler-locking on c Continuing. [Thread 11496.0x150 exited] No unwaited-for children left. But I don't suppose your test was really doing that. Maybe some logs like: set debug infrun set debugevents on set debugexceptions on set debugexec on would help see what's going on. I wrote a new testcase based on your description, see attached. It passes cleanly here. Can you help pointing me to what would need to be changed in the test to make it closer to the AdaCore test? Pedro Alves --------------bRd3sF7BmWXgiKf4PQa8H1Uu Content-Type: text/x-patch; charset=UTF-8; name="0001-New-gdb.threads-continue-break-command.exp-testcase.patch" Content-Disposition: attachment; filename*0="0001-New-gdb.threads-continue-break-command.exp-testcase.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSAzMjZiZjk1ZmI1YjViOTIxNDVkNmIyYWEzMGZjMzBjYjdmY2QyMTcxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZWRybyBBbHZlcyA8cGVkcm9AcGFsdmVzLm5ldD4K RGF0ZTogV2VkLCAxMSBKdW4gMjAyNSAyMzozNTo1NyArMDEwMApTdWJqZWN0OiBbUEFUQ0hd IE5ldyBnZGIudGhyZWFkcy9jb250aW51ZS1icmVhay1jb21tYW5kLmV4cCB0ZXN0Y2FzZQoK Q2hhbmdlLUlkOiBJZTU3NDkzYmI1MDMyZjI4NjE5ZGI0MThkOWQ4MDY4YWFlMmQ0MGIwOQot LS0KIC4uLi9nZGIudGhyZWFkcy9jb250aW51ZS1icmVhay1jb21tYW5kLmMgICAgICB8IDk0 ICsrKysrKysrKysrKysrKysrKysKIC4uLi9nZGIudGhyZWFkcy9jb250aW51ZS1icmVhay1j b21tYW5kLmV4cCAgICB8IDc2ICsrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAx NzAgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvY29udGludWUtYnJlYWstY29tbWFuZC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQg Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9jb250aW51ZS1icmVhay1jb21tYW5kLmV4cAoK ZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvY29udGludWUtYnJlYWst Y29tbWFuZC5jIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9jb250aW51ZS1icmVhay1j b21tYW5kLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjc4ZmFi ZGM1ZDMzCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9j b250aW51ZS1icmVhay1jb21tYW5kLmMKQEAgLTAsMCArMSw5NCBAQAorLyogVGhpcyB0ZXN0 Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KKworICAgQ29weXJpZ2h0 IDIwMjUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK KyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKyNp bmNsdWRlIDxwdGhyZWFkLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8dW5p c3RkLmg+CisKKyNkZWZpbmUgTlVNX1RIUkVBRFMgMworCitzdGF0aWMgcHRocmVhZF9iYXJy aWVyX3QgdGhyZWFkc19zdGFydGVkX2JhcnJpZXI7CisKK3N0YXRpYyBwdGhyZWFkX2JhcnJp ZXJfdCBtYXlfZXhpdF9iYXJyaWVyOworCitzdGF0aWMgdm9pZCAqCit0aHJlYWRfZnVuYyAo dm9pZCAqYXJnKQoreworICAvKiBXYWl0IHVudGlsIGFsbCB0aHJlYWRzIGhhdmUgc3RhcnRl ZC4gICovCisgIHB0aHJlYWRfYmFycmllcl93YWl0ICgmdGhyZWFkc19zdGFydGVkX2JhcnJp ZXIpOworCisgIC8qIFdhaXQgdW50aWwgdGhlIG1haW4gdGhyZWFkIGxldHMgdXMgZXhpdC4g ICovCisgIHB0aHJlYWRfYmFycmllcl93YWl0ICgmbWF5X2V4aXRfYmFycmllcik7CisKKyAg cmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyB2b2lkCit0aHJlYWRzX3N0YXJ0ZWQgKHZvaWQp Cit7Cit9CisKK3N0YXRpYyB2b2lkCitmb28gKCkKK3sKK30KKworc3RhdGljIHZvaWQKK2Jh ciAoKQoreworfQorCitpbnQKK21haW4gKHZvaWQpCit7CisgIHB0aHJlYWRfdCB0aHJlYWRb TlVNX1RIUkVBRFNdOworICBpbnQgaTsKKworICBhbGFybSAoMzApOworCisgIHB0aHJlYWRf YmFycmllcl9pbml0ICgmdGhyZWFkc19zdGFydGVkX2JhcnJpZXIsIE5VTEwsIE5VTV9USFJF QURTICsgMSk7CisgIHB0aHJlYWRfYmFycmllcl9pbml0ICgmbWF5X2V4aXRfYmFycmllciwg TlVMTCwgTlVNX1RIUkVBRFMgKyAxKTsKKworICBmb3IgKGkgPSAwOyBpIDwgTlVNX1RIUkVB RFM7IGkrKykKKyAgICB7CisgICAgICBpbnQgcmV0OworCisgICAgICByZXQgPSBwdGhyZWFk X2NyZWF0ZSAoJnRocmVhZFtpXSwgTlVMTCwgdGhyZWFkX2Z1bmMsIE5VTEwpOworICAgICAg YXNzZXJ0IChyZXQgPT0gMCk7CisgICAgfQorCisgIHB0aHJlYWRfYmFycmllcl93YWl0ICgm dGhyZWFkc19zdGFydGVkX2JhcnJpZXIpOworCisgIHRocmVhZHNfc3RhcnRlZCAoKTsKKwor ICAvKiBUaGUgdGVzdGNhc2Ugc2V0cyBicmVha3BvaW50cyBvbiB0aGVzZSB0d28sIHRoYXQg d2hlbiBoaXQsIGFyZQorICAgICByZW1vdmVkLiAgKi8KKyAgZm9vICgpOworICBiYXIgKCk7 CisKKyAgLyogQ2FsbCB0aGVtIGFnYWluIHRvIG1ha2Ugc3VyZSB0aGUgYnJlYWtwb2ludHMg YXJlIHJlYWxseQorICAgICBkZWxldGVkLiAgKi8KKyAgZm9vICgpOworICBiYXIgKCk7CisK KyAgcHRocmVhZF9iYXJyaWVyX3dhaXQgKCZtYXlfZXhpdF9iYXJyaWVyKTsKKworICBmb3Ig KGkgPSAwOyBpIDwgTlVNX1RIUkVBRFM7IGkrKykKKyAgICBwdGhyZWFkX2pvaW4gKHRocmVh ZFtpXSwgTlVMTCk7CisKKyAgcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL2NvbnRpbnVlLWJyZWFrLWNvbW1hbmQuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy9jb250aW51ZS1icmVhay1jb21tYW5kLmV4cApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uNWYwMjA0MjU0MTkKLS0tIC9kZXYvbnVs bAorKysgYi9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2NvbnRpbnVlLWJyZWFrLWNvbW1h bmQuZXhwCkBAIC0wLDAgKzEsNzYgQEAKKyMgQ29weXJpZ2h0IDIwMjUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBv ZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCisKKyMgWFhYLCBzb21lIG1lYW5pbmZ1bCBleHBsYW5hdGlv biBoZXJlLgorCitzdGFuZGFyZF90ZXN0ZmlsZSAuYworCitpZiB7IFtidWlsZF9leGVjdXRh YmxlICJmYWlsZWQgdG8gcHJlcGFyZSIgJHRlc3RmaWxlICRzcmNmaWxlIFwKKwkgIHtkZWJ1 ZyBwdGhyZWFkc31dIFwKKwkgPT0gLTEgfSB7CisgICAgcmV0dXJuCit9CisKK3Byb2MgdGVz dCB7fSB7CisgICAgY2xlYW5fcmVzdGFydCAkOjpiaW5maWxlCisKKyAgICBpZiAhW3J1bnRv IHRocmVhZHNfc3RhcnRlZF0geworCXJldHVybgorICAgIH0KKworICAgICMgRGlzYWJsZSAi W1RocmVhZCAxNDE5Mi4weDM2MTggZXhpdGVkIHdpdGggY29kZSAwXSIgbWVzc2FnZXMuCisg ICAgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgcHJpbnQgdGhyZWFkLWV2ZW50cyBvZmYiCisK KyAgICBnZGJfYnJlYWtwb2ludCAiZm9vIiBtZXNzYWdlCisgICAgZ2RiX3Rlc3RfbXVsdGlw bGUgImNvbW1hbmRzIiAiY29tbWFuZCBmb3IgZm9vIiB7CisJLXJlICJFbmQgd2l0aCIgewor CSAgICBnZGJfdGVzdCBcCisJCVttdWx0aV9saW5lX2lucHV0IFwKKwkJICAgICB7c2lsZW50 fSBcCisJCSAgICAge3ByaW50ZiAiQnJlYWtwb2ludCBoaXQgIzEuXG4ifSBcCisJCSAgICAg e2NsZWFyIGZvb30gXAorCQkgICAgIHtjb250aW51ZX0gXAorCQkgICAgIHtlbmR9XSBcCisJ CSIiIFwKKwkJJGdkYl90ZXN0X25hbWUKKwl9CisgICAgfQorCisgICAgZ2RiX2JyZWFrcG9p bnQgImJhciIgbWVzc2FnZQorICAgIGdkYl90ZXN0X211bHRpcGxlICJjb21tYW5kcyIgImNv bW1hbmRzIGZvciBiYXIiIHsKKwktcmUgIkVuZCB3aXRoIiB7CisJICAgIGdkYl90ZXN0IFwK KwkJW211bHRpX2xpbmVfaW5wdXQgXAorCQkgICAgIHtzaWxlbnR9IFwKKwkJICAgICB7cHJp bnRmICJCcmVha3BvaW50IGhpdCAjMi5cbiJ9IFwKKwkJICAgICB7Y2xlYXIgYmFyfSBcCisJ CSAgICAge2NvbnRpbnVlfSBcCisJCSAgICAge2VuZH1dIFwKKwkJIiIgXAorCQkkZ2RiX3Rl c3RfbmFtZQorCX0KKyAgICB9CisKKyAgICBnZGJfdGVzdCAiaW5mbyBicmVha3BvaW50cyIg Ii4qIgorCisgICAgZ2RiX3Rlc3Rfc2VxdWVuY2UgImNvbnRpbnVlIiAiIiBcCisJW2xpc3Qg XAorCSAgICAgIkNvbnRpbnVpbmdcXC4iIFwKKwkgICAgICJeXHJcbkJyZWFrcG9pbnQgaGl0 ICMxXFwuIiBcCisJICAgICAiXlxyXG5CcmVha3BvaW50IGhpdCAjMlxcLiIgXAorCSAgICAg Il5cclxuJDo6aW5mZXJpb3JfZXhpdGVkX3JlIG5vcm1hbGx5Il0KK30KKwordGVzdAoKYmFz ZS1jb21taXQ6IGViNmM5MzEwZWU0ZDZjYmRlNTA5ZDI1MWZhZmI1NGFlNDVmNWE1YmYKLS0g CjIuNDkuMAoK --------------bRd3sF7BmWXgiKf4PQa8H1Uu--