From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2099.outbound.protection.outlook.com [40.107.93.99]) by sourceware.org (Postfix) with ESMTPS id 0D99F3858D3C for ; Sun, 24 Oct 2021 21:46:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 0D99F3858D3C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cornell.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cornell.edu ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nW5fVkympTVXfBgf/E1T5li6MbymclIwV2RccwcKrwLXnDI7kgYlupT0TZNJFBw61br3MyjXrIAelXa80vsNHz2cmYZ45RcA6X+DMwdmt2An7xp/CE+XjBkPO9ivg8jzYC7NRq7V9/M9MWphr+gTF0D7jKt2Y7RrN8H+VK6GM75JUVVwgpHrpJjYO0hMPw8ht2v7SDXhnyKEMLbbO34nt9qoVEziGGMH0XF0SvZl8Fpvck8g+0DYqVv8nBp6Dl/Vv+Kp2ozKVLHLbb1I65Wy6ikO8BLwmGRRz7EcLQ9en9fNLPvgCloY4H7e5J47Yt/zpOZYaJqq8bC4Oiyi8kRjUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=MZ9JYQsEnNkrL4ad8uMIiWZNUc3qmnS2YVBPPkBybfU=; b=Ue5emJ0TdRxsQggQYssdzpmKpgx32zmKTB0cKVs8yastgY+If/6RbUf1TRwBhwP0781xSS0R+ToWxAWxpakwfGvmq51hyRIKXfUpi+KTFkBQ2SykDRrKax8rJnMywMDyva4yq5OgNtzoZjV7Bq9lOVbneWNHyzB2KC/JDEBAWIzYT1U5DAO0dOOv7mihCLFeKSl24jijiKu9AeMxmO0Zw+G8m79oTFX/v3ykGOuluupyXuq/+61JO8dODJzf8P1+gYLrBIRxVkmGvtmNYjFAa3TS0i/1t2cM+W08nzQeHeaeCajXGhEn+3KjBbohkk+VscREJPHsrXjSUSutODhyew== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu; dkim=pass header.d=cornell.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cornell.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MZ9JYQsEnNkrL4ad8uMIiWZNUc3qmnS2YVBPPkBybfU=; b=fPhRM4GwQ9OHiG3z+UOuLwNp/vd62HFKgAI/X9Y6sPwyS6wam1ReTfzUdm0gGNCK6KPvoyNxv+c1LxM7hqkVOcGT8LiBJvvZ5eHio0fpFPpYjLmeTefXdwiXfM304MfDkhdTxBQ6CHeYdYvuHzhs0C37Tom/Ma/TXxY5od/fj9g= Authentication-Results: cygwin.com; dkim=none (message not signed) header.d=none;cygwin.com; dmarc=none action=none header.from=cornell.edu; Received: from BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) by BN3PR04MB2178.namprd04.prod.outlook.com (2a01:111:e400:7bbe::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.15; Sun, 24 Oct 2021 21:46:43 +0000 Received: from BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::d1a8:b6b3:dfd1:b093]) by BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::d1a8:b6b3:dfd1:b093%6]) with mapi id 15.20.4628.020; Sun, 24 Oct 2021 21:46:43 +0000 Content-Type: multipart/mixed; boundary="------------Yit9KMfTlsVbC8nxPGPWZiTs" Message-ID: <6a4d6675-7e4d-bcb3-9aff-acc0788d211d@cornell.edu> Date: Sun, 24 Oct 2021 17:46:40 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Content-Language: en-US From: Ken Brown To: cygwin-devel Subject: malloc crash X-ClientProxiedBy: BL1P223CA0012.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:2c4::17) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 Received: from [10.13.22.5] (65.112.130.200) by BL1P223CA0012.NAMP223.PROD.OUTLOOK.COM (2603:10b6:208:2c4::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18 via Frontend Transport; Sun, 24 Oct 2021 21:46:43 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4f093add-cae1-4829-1270-08d99737c537 X-MS-TrafficTypeDiagnostic: BN3PR04MB2178: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CA0vDCKw3yCOUT74RvDr/ys3HUcwyvXHPsKDRheW0Z6y8LNFPKxgHCwQ/goLuAsLZJNUlxGLLSo90hgrNxz3onlQpuqaFbVRIcV4qLlMos9eIGzk8U/qn9flk/f/bbe9mg7MX12lGxws/CDX0vgCQNsuoknC0gaWcJSUPgA8vfKCKe2jvgNmMGDgROD1PBXN73iZbzxWcEU4V9O9fLK/Na+z0aid2bpaXklrdmmYX09tyn7PmpZh50Ovr2jL/ovgyKOWJpNnF7EEHOKc5anjlVLRC+DOfL/Um8/IIyg+MlmEgej9Ucpz7dejqgVI8A84vOSdM9T2noBozkaBALYzlnCWzd+H2ZuVvmk2lwgAYZQolVqiNTfe6iBKasm2H4CnovLDhnIU4yHJGf488EiYRnatNblOem6HHC7TgSKEq+blilrJeJKPRud3QC8RRu7oqN57CkQSWoclQ0IINWLOgnZNvv3iFZdgb9I6IpoO1gUCYUWPI3ZnkkaRaZxWn0nbchtfUsAGORfXwFOZgHVaU+UK9LcqMB1+mYYGUfBKOGgfKqMSutYTr9eWZwZStFIRdcGcmMl9EGIZLHzc3erQL+FDEJTyvpviudyBTIfFc/x3jB3ZLBzZd+l2knfQrQVzbsbSTpUEGQ3rRemFfQgjbmqIL9sNFLNILX7OmQrzSvRi4i1mMcXv4haMep3afEBjQ66yEQwoB62EeQ1aFaAJl4F9Fa6n/NVW5NshK0n/q2H/3e4aw2KAjq2myr5JP6v1GBmfuuxzUObEJ0IoDe7fXf+T6uqgCWHpnjYcO4hIaG+whNpN/GDY+MnCNIfSvRziSwQ2iAcHrEcfkNj5U8POIA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN7PR04MB4388.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(75432002)(38100700002)(3480700007)(31686004)(66556008)(66476007)(235185007)(2906002)(8676002)(8936002)(6486002)(31696002)(83380400001)(5660300002)(86362001)(956004)(2616005)(7116003)(66946007)(6916009)(786003)(316002)(19627235002)(33964004)(36756003)(508600001)(16576012)(966005)(186003)(26005)(45980500001)(43740500002)(460985005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SHFoWFNUOFJEZGNDZC9VelNwcHNWOTRVNE5CTjlYQ1hZWUhQMVBDK3Y5TWFM?= =?utf-8?B?OXVHcVkyTldiaEhWWjVYUWxoVG5ZelRDcWg2WURaaHQvWlBPa1VTbkVJdnFu?= =?utf-8?B?VVZWM2RKSVVEZWUzazAwcGZIZUs0ckJ4VXBhYW9Bc0Z3c1hlOVl0ZVlOeDNk?= =?utf-8?B?akErLzJzVzkzQUxXaDdRblo5c2hETENBRmhlaXR1RWtHL2NpMENvb09DUHE0?= =?utf-8?B?WmVrZG1CcTFYZVExUW1QZUdsaE4vV0cwTzFtTzZNOVlMUzJPS1NWQUdxNkQ2?= =?utf-8?B?L3VPZ2tXV0E1djZSRXJTd3pGQWF6MTJ5ZndNV1QySENJQTJ3UU0vdjliR1NU?= =?utf-8?B?aERmVnkvSGpoeS9pQkZxbzN5RGpXYkZxNnVoS2JhdmROMnhGaTNFMjAxbmhq?= =?utf-8?B?Q2MxRnQ1WjIvU3dZNDE2dUppZkowdDE3ckxQTEpXNFVrK2M5K1B6REVXTys2?= =?utf-8?B?ZDZUaUYxS29WV0lPSlBjU1VERk94b3UyQlVra21PczZqbDNmN2sxQmlkYlRJ?= =?utf-8?B?eEo5cUwyRlVrL2c3aXh1T0ZYeE5qYXFvbE1mN3J3b2FqeEs5Q0VFK0Zwakw5?= =?utf-8?B?NXI0OWgvYi9KeFJheFVrNGpTU3Z2eFFJa1IxTlJaQm1PNEVUVkxwV2piZnpP?= =?utf-8?B?KzBOTG1heE9tN1RqbXJZcWNvU3VOaXJvNXk3VEFKTlFNVkNmb2dHYzFtaG1R?= =?utf-8?B?dCt0cVhzOWtQSnU2NDAzS0hmWVNQL05YczJCcGFmOEFLem1FcU05akRITGpX?= =?utf-8?B?ZVZVdGtYcFhZT3lrQkVpb0tyOG5VMmRPWE9PWHJyb3FFWmk1ci9JQnRWZDFk?= =?utf-8?B?ODNQd3Y5WStQZjl3OHdtRnZoK1FDRTY1Wmswd2ZHcGUzNzZjVk5WKzIxM1RS?= =?utf-8?B?VWVlMWpEWXdQVUpIT3ZrSFNyWEtDQUcyVjIwTEdtMHhWbWJNTU05WTNoUkta?= =?utf-8?B?UXJYQWhZOFZDVCtXKytaRGNzRWlsVUplQTVVRjZoY2R0VWFyUmpyL2lackRU?= =?utf-8?B?V2FGWFk0eThzQm1lSWtVS1lQejdQTFBkMnorY05lNlZ0UjVXMEswWnRLOU1M?= =?utf-8?B?enlCSTFVRkROOFYrbWhld2oweFVHUzdqWjNWc0xaU3AxYXY2ZnVYVG40aFJ5?= =?utf-8?B?SHJ0eC9WZTZQMFVLaHUzSGdvOUZuVHJUQXZrOVJiSVBoWUhIU2grdjVHT29F?= =?utf-8?B?bzVENlpTVWVEbGFNeVk4dEVGTHZFdkw3YWM5djZFa1FUVkFvNU9McVpTbk5l?= =?utf-8?B?MzVEVzAvU0lMVmZEWHNYTWx2KzIveFlpbTEyckJPOU9yRkdqVWdXT2hMdU9C?= =?utf-8?B?aGpNd0xFWjNaWlRUOVdkRHQxUTNZN3hlbDlxTjN4SDBOcTRiSGQ3V1lRTzU5?= =?utf-8?B?RGRRNXovQXhmOVIvcUx6VEtRV2QxUVVPMitkL1VJUU5BcjFSdms2YlVESGg0?= =?utf-8?B?TXM1VzlzVHBQNHlIVldKeU1mc0hlTTQrZGNjT0o2VTVXSjVKQmdDc3JrUGZP?= =?utf-8?B?emdVVGdHaVptK3FZMVRIK3V0VTBEVTdFTTUyaTR6VWIzT1Q5WDdyaitXN2VJ?= =?utf-8?B?VFpOU3Jpakh4aUZjTmhtQlphc1dHY2F5OU5HKzBkY0JuRldtVkVmYTN2YkNV?= =?utf-8?B?UDgwc3NlZmRtT2djdFBlWlhpdFNTWUFuZDZUNlBoRjdUbVB3L3gxV3dmY29z?= =?utf-8?B?bGMrOGdSb1k1NEdGc1lhYXpUbW8zREFiaU5GUjhTS2V2azg5ZmpNdE5hV05R?= =?utf-8?B?dkxTbHVlMnFqeU5vZ2FLYWQxYXNmUk1zazh6cmlwb0w0NWJ1d2pBVlhMaWVN?= =?utf-8?B?WHhOSHQ5dVVUWTJnYVdoUDBMSGVDeU5SZE5QWFVvTzlCUnZTTFU2dlhjMHVl?= =?utf-8?B?NThFanljZmFhWmtoSW43aDJxaGpZSVkzMlQveGt1NDFsUi81dXpxWnBTcnJy?= =?utf-8?B?VEFBSlA3TmVFMEZXRUZmSXErMFlyVFYxSkFETFF2ems1aHRiVUN5MW1jVXlz?= =?utf-8?B?R0hKdEtjaFBEelNOMjBHQzI0Y3FQTnpDbC9McWsrODd3emx5RE1TV21raEJM?= =?utf-8?B?bmtPNXFNYVJ3bU1rd0txTnkySS9EVFRXdUxjd0RmVFB5RUdiNitqMk5yMzlL?= =?utf-8?B?MmgrcnAwMnpXVW03cSs2Q2dUL2ZGbFQrdHA4eFd0R2h2UW9RQTRscEJrd1ds?= =?utf-8?Q?zjcm7c238EJHoZoLof2qDJ0=3D?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 4f093add-cae1-4829-1270-08d99737c537 X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Oct 2021 21:46:43.8491 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d7e4366-1b9b-45cf-8e79-b14b27df46e1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: PisOUkH+ike3CYEfC2x00A5h4CO2VmIlvgI8wpw2lqpqGdz8vWcJ2nVspaTr+KVLBpT7SyYfgMgQHeFhv/ceDg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR04MB2178 X-Spam-Status: No, score=-3.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, JMQ_SPF_NEUTRAL, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, WEIRD_PORT autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin-developers@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component developers mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Oct 2021 21:46:48 -0000 --------------Yit9KMfTlsVbC8nxPGPWZiTs Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I'm trying to debug the fifo problem reported here: https://cygwin.com/pipermail/cygwin/2021-October/249635.html To keep my email self-contained, here are the reproduction instructions. Run the attached script with argument 1000. The output is supposed to look like this: $ ./fifo_test.sh 1000 Creating 1000 fifo readers... Created PID=6503 reading from /tmp/catfifo_0 FIFO 0 Created PID=6506 reading from /tmp/catfifo_1 FIFO 1 [...] Created PID=9506 reading from /tmp/catfifo_998 FIFO 998 Created PID=9509 reading from /tmp/catfifo_999 FIFO 999 But invariably one of the exec'd cat processes will appear to hang. (Actually it goes into an infinite loop.) If you attach gdb to that process and catch it at the right time, you see something like this: [...] Reading symbols from /usr/bin/cat.exe... Reading symbols from /usr/lib/debug//usr/bin/cat.exe.dbg... (gdb) thr 1 [Switching to thread 1 (Thread 9692.0x8658)] #0 0x00007ffe950ed674 in ntdll!ZwCreateEvent () from /c/WINDOWS/SYSTEM32/ntdll.dll (gdb) bt #0 0x00007ffe950ed674 in ntdll!ZwCreateEvent () from /c/WINDOWS/SYSTEM32/ntdll.dll #1 0x00000001800e56c8 in CreateEventW ( lpEventAttributes=0x18030ac90 , bManualReset=0, bInitialState=0, lpName=0x0) at ../../../../temp/winsup/cygwin/kernel32.cc:46 #2 0x00000001800e57c1 in CreateEventA ( lpEventAttributes=0x18030ac90 , bManualReset=0, bInitialState=0, lpName=0x0) at ../../../../temp/winsup/cygwin/kernel32.cc:71 #3 0x00000001801493f1 in sig_send (p=0x180010000, si=..., tls=0xffffce00) at ../../../../temp/winsup/cygwin/sigproc.cc:698 #4 0x00000001800676c9 in exception::handle (e=0xffffc5b0, frame=0xffffcd80, in=0xffffc0c0, dispatch=0xffffbf40) at ../../../../temp/winsup/cygwin/exceptions.cc:834 #5 0x00007ffe950f20cf in ntdll!.chkstk () from /c/WINDOWS/SYSTEM32/ntdll.dll #6 0x00007ffe950a1454 in ntdll!RtlRaiseException () from /c/WINDOWS/SYSTEM32/ntdll.dll #7 0x00007ffe950f0bfe in ntdll!KiUserExceptionDispatcher () from /c/WINDOWS/SYSTEM32/ntdll.dll #8 0x0000000180191a5c in init_top (m=0x18036f860 <_gm_>, p=0x800010000, psize=65456) at ../../../../temp/winsup/cygwin/malloc.cc:3903 #9 0x0000000180193249 in sys_alloc (m=0x18036f860 <_gm_>, nb=256) at ../../../../temp/winsup/cygwin/malloc.cc:4186 #10 0x0000000180196b96 in dlmalloc (bytes=248) at ../../../../temp/winsup/cygwin/malloc.cc:4669 #11 0x0000000180197f5d in dlcalloc (n_elements=1, elem_size=248) at ../../../../temp/winsup/cygwin/malloc.cc:4799 #12 0x00000001800e9030 in calloc (nmemb=1, size=248) at ../../../../temp/winsup/cygwin/malloc_wrapper.cc:101 #13 0x0000000180044a2a in operator new (s=248) at ../../../../temp/winsup/cygwin/cxx.cc:21 #14 0x000000018016a75d in pthread::init_mainthread () at ../../../../temp/winsup/cygwin/thread.cc:371 #15 0x000000018004a310 in dll_crt0_1 () at ../../../../temp/winsup/cygwin/dcrt0.cc:887 #16 0x000000018004771c in _cygtls::call2 (this=0xffffce00, func=0x18004a218 , arg=0x0, buf=0xffffcdb0) at ../../../../temp/winsup/cygwin/cygtls.cc:40 #17 0x00000001800476c1 in _cygtls::call (func=0x18004a218 , arg=0x0) at ../../../../temp/winsup/cygwin/cygtls.cc:27 #18 0x000000018004aac9 in _dll_crt0 () at ../../../../temp/winsup/cygwin/dcrt0.cc:1099 #19 0x0000000000000000 in ?? () Backtrace stopped: previous frame inner to this frame (corrupt stack?) Typing 'finish' enough times until it won't return anymore shows that there is an infinite loop starting with an access violation here: (gdb) f 8 #8 0x0000000180191a5c in init_top (m=0x18036f860 <_gm_>, p=0x800010000, psize=65456) at ../../../../temp/winsup/cygwin/malloc.cc:3903 3903 p->head = psize | PINUSE_BIT; I guess there's an infinite loop rather than a crash because the exec'd cat process isn't fully initialized yet, and the exception handler just keeps continuing execution at the site of the access violation. If I'm reading the backtrace correctly, the access violation occurs while Cygwin is trying to allocate storage for the main thread object of the exec'd process. I'm not familiar enough with the relevant Cygwin internals to take the analysis any further, but my guess is that the problem is somehow triggered by the creation of a new thread at the end of fhandler_fifo::fixup_after_exec: new cygthread (fifo_reader_thread, this, "fifo_reader", thr_sync_evt); Is this a bug in the fifo code? Is there some reason I shouldn't be creating a new thread in fixup_after_exec? If so, I'm not sure what to do. The fifo reader code depends crucially on having that thread running. By the way, every once in a while the hang seems to occur in the forked bash process, before it execs cat. This could also be due to the creation of a new thread, this time in fixup_after_fork. Ken P.S. The gdb session was based on a build from current git HEAD, but the problem also occurs in Cygwin 3.2.0. So I don't think it's related to the new pipe code. --------------Yit9KMfTlsVbC8nxPGPWZiTs Content-Type: text/plain; charset=UTF-8; name="fifo_test.sh" Content-Disposition: attachment; filename="fifo_test.sh" Content-Transfer-Encoding: base64 IyEvYmluL2Jhc2gKCiMgdGFrZSBhcmcgYXMgbnVtYmVyIG9mIGl0ZXJhdGlvbnMgKGRlZmF1bHQ9 MTAwKQpTVEVQUz0iJHsxLTEwMH0iCgpGSUZPX1BGWD0iL3RtcC9jYXRmaWZvXyIKRklGT19XQUlU PTAKU1RFUF9XQUlUPTAKCmZ1bmN0aW9uIG15c2xlZXAoKSB7IGlmIFsgLW4gIiQxIiAtYSAiJDEi ICE9ICIwIiBdOyB0aGVuIHNsZWVwICIkMSI7IGZpIH0KCmZ1bmN0aW9uIGNsZWFudXAoKXsKCXJt IC1mICIkRklGT19QRlgiKgp9CnRyYXAgY2xlYW51cCBFWElUCgpwcmludGYgIkNyZWF0aW5nICRT VEVQUyBmaWZvIHJlYWRlcnMuLi5cbiIKZm9yICgoaT0wOyBpPFNURVBTOyBpKysgKSk7IGRvCglm aWZvPSIkRklGT19QRlgkaSIKCgkjIGNyZWF0ZSBmaWZvCglta2ZpZm8gIiRmaWZvIgoJbXlzbGVl cCAkRklGT19XQUlUCgoJIyBmb3JrIGEgcHJvY2VzcyByZWFkaW5nIGZyb20gZmlmbyBhbmQgd3Jp dGluZyBpdCB0byBzdGRvdXQKCWNhdCA8ICIkZmlmbyIgJgoJcGlkPSQhCglwcmludGYgIkNyZWF0 ZWQgUElEPSRwaWQgIHJlYWRpbmcgZnJvbSAkZmlmb1xuIgoKCSMgcmVkaXJlY3QgRkQzIHRvIHRo ZSBmaWZvIGFuZCBwcmludCBhIG1lc3NhZ2UgdG8gaXQKCWV4ZWMgMz4iJGZpZm8iCQkKCXByaW50 ZiAiRklGTyAlZFxuIiAiJGkiID4mMwoKCSMgY2xvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciwgd2Fp dCBmb3IgcHJvY2VzcyB0byBleGl0IGFuZCBjbGVhbiB1cAoJZXhlYyAzPiYtCgl3YWl0ICRwaWQK CXJtIC1mICIkZmlmbyIKCglteXNsZWVwICRTVEVQX1dBSVQKZG9uZQo= --------------Yit9KMfTlsVbC8nxPGPWZiTs--