From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id nSU8L3Y9oGNATAUAWB0awg (envelope-from ) for ; Mon, 19 Dec 2022 05:31:18 -0500 Received: by simark.ca (Postfix, from userid 112) id AF9171E222; Mon, 19 Dec 2022 05:31:18 -0500 (EST) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=H2iXcgYs; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, RDNS_DYNAMIC,URIBL_BLOCKED,WEIRD_PORT autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 087261E0D3 for ; Mon, 19 Dec 2022 05:31:18 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D4F363D31244 for ; Mon, 19 Dec 2022 07:47:05 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D4F363D31244 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1671436025; bh=XCKX8RIE/R9KSxF7Pn+KqRO35TUi+ntfJWS+EHDfL9k=; h=To:CC:Subject:Date:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=H2iXcgYs0It0KJ2dS1PqHoRnAdityTVjkm0sGz22ixQYZtVO+gBGQz+zqMRN7CZmt UY4aZI0hyy3XDkZz3S/NX7ZEL3N+DKYGJRtk48Zv9GaWlHWg/qwOnDZkjxF+XRLzNs EJwzVGQo76uJR7Jn54ANsU4zyMcIltjZ7RW8xwuU= Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 7CD0A3ADB5E0 for ; Mon, 19 Dec 2022 06:30:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7CD0A3ADB5E0 Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2BJ6FM18016620; Mon, 19 Dec 2022 06:30:05 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2108.outbound.protection.outlook.com [104.47.70.108]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3mjjhdg84a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 19 Dec 2022 06:30:04 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ecnpRimDCFtTrelxR82G4bYiPGIc0iEH9KhmrhErRFjNbNF38RhrUnDTROaSCl+zzTy1/KLhl9Jan1XuITBNFxP92wPHk/kcmhgDW/hguaEbCEImLNl5ftufH53382sVyFpSM2w4Gq8a/DYoc+653liwgCoYdEuTXVkgIEmnUYvW+dzUQj04O/TE26A9elu5ZY57NWJXZAK8JlgjgH8CxES2z/OVPRZAypyrwj6BJnKCLRcQsfwZfGkhcoO1tQSGWuoDo0XNQRig5ODoBnxAhsQaSWD2UUg5zjdmbb+YGtt2/6yxxyRnpGikO3ikgtD0tY/EEZ3GILKVOPyQ+rvLiQ== 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=m1zZa6V8zH1r1haqsFtmWmp+75jeiQJ2rzDJLEJ7IXw=; b=Ih+uIqb3cQpsfRmCIaYQjWGFiCeWfsAeFtPYvW8CbXoQtyvoQNVjMJxRBgDt/zFuq5JjBtABYy94LRCV8DybYqaksd+x7fecxSzV2qBtSByX4Mky57IsmKnBdsDifpo58XFce28JXPQvM4UEbq4VZuuEU2NGjBfyWReD2Y48zTuA80IiWIO4oMbMpgxnNzxEtuWrekaoW9YRMyLsmWBJUD2Jut8dVB/6uBQ8YfATMsmrFTtzOTc9JwQdwAoz7khDaaCCCIxzjXlvIbuQAkp3wYMvbRMtnjcOb5qUFi+KpjkONsYHvar4P45V4Qmxqiq8s8qQpJBT7b6y3ysI4yvbEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ibm.com; dmarc=pass action=none header.from=ibm.com; dkim=pass header.d=ibm.com; arc=none Received: from CH2PR15MB3544.namprd15.prod.outlook.com (2603:10b6:610:5::26) by PH0PR15MB5736.namprd15.prod.outlook.com (2603:10b6:510:28c::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec 2022 06:30:02 +0000 Received: from CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::7450:e71:7fd7:88df]) by CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::7450:e71:7fd7:88df%3]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022 06:30:02 +0000 To: Ulrich Weigand , "simark@simark.ca" , "gdb-patches@sourceware.org" CC: Sangamesh Mallayya Subject: Re: [PATCH] 0001-Fix-multi-thread-debug-bug-in-AIX.patch Thread-Topic: [PATCH] 0001-Fix-multi-thread-debug-bug-in-AIX.patch Thread-Index: AQHY6DximDPpCqTL9kGyFvcEZokFBq4jlIiAgBFljYeAAA2HgIAIORaygAMrdQCACMPAdYADi8KAgAAbf+aAABUYgIAADhDtgAjHItiAAgYnAIACq/WKgAVsGwCABC6K8oAAZcYAgAq8WQ+AADoMgIAFnB/f Date: Mon, 19 Dec 2022 06:30:02 +0000 Message-ID: References: <0866c91331b08f2870fad6e6a13fbcd1a9823b48.camel@de.ibm.com> <5df6ab523034d1997ffda5bb06c3bd87777dcccb.camel@de.ibm.com> <0dba07cfad3da44c0281c53702d73f807bca7d06.camel@de.ibm.com> <5956432ab1e0eedc8f65e01d3793a80ccf3a3a1f.camel@de.ibm.com> <139ff3da5e35905c963869569bebf280733740c2.camel@de.ibm.com> <8302c3570292b864ab21176e58bdee546f6e4544.camel@de.ibm.com> In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-IN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR15MB3544:EE_|PH0PR15MB5736:EE_ x-ms-office365-filtering-correlation-id: 7664d6c1-be74-4983-2137-08dae18a75aa x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: NbqhOxeX81yat/43atej1NbE2L2YYfcwYdZ87cV4LJtJktFGE7zLf0lUTuH+ylec5z7yhEKV+ZGM2qyN1EUyD/VXlCBQQuXea8Cx/bzXnS7UoMDN+mKdr2V9Kj8WjdQDwRqIdJHHwDqRuJr7w7A2Xkc2eEhVTZWOEz5/CIDGNi3f9Ax2LlSrhgPIRtQTgUsN68hhaEMK5dx9ger7r3ki0PBSM2fvUGG7VgihBxrS1H8tddRb/WXxBmJZVLXe8V686ncJd/fyHs4DlUxQ0mTa2rxlcRKwEgBGKNgycy3yhlTAptM8PNCrITP7Ta2n4acWC82gky6dMAUdksaOkN5BRyilQre0ibwJkGNiGuO+tMjCz5JJIk0W80VZh1ywSDgpxxYZkoOqsH+yT17KKzz8TmYWp3jq6YxjMSdxxyMbKz1WSicHyCWTljA/3174JLcA0p7fDXXWxDCgGi+3/kDIMangrgzOzflgy+WzVG+nfoqyHvXURO6NcfTAVMbIVyWocMo2YZYkRgr4nA2qCkK/CpESaiMHcV7u3yV/4j6AqZSw1qwEYJ2AWzG8eW4iqkwJTVFauaWWGU4LlEHXUTK+TTzD7xvsSMGiujRazD4hvsSYv53e62Dywk16IMBZX//NjSywA+UK+HKoq+Gkvpr0uuIBOWxEPjQDrsNHwEEtrsC2xU+jrkpi8pI+WyZlFRC1WGpBhFDpKuAVa1DtXUjg2w== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH2PR15MB3544.namprd15.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(346002)(376002)(396003)(136003)(366004)(39860400002)(451199015)(83380400001)(19627405001)(478600001)(71200400001)(186003)(33656002)(86362001)(55016003)(38070700005)(99936003)(122000001)(38100700002)(66946007)(64756008)(5660300002)(66476007)(66556008)(66446008)(76116006)(91956017)(8936002)(9686003)(53546011)(7696005)(6506007)(41300700001)(110136005)(4326008)(2906002)(8676002)(52536014)(316002)(559001)(579004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?YLUaa5FajPE9ZkUt4JrPHqWMWwAuqo83AFPue5rvWntDfSiWuP7PSrJ2Lkes?= =?us-ascii?Q?ipXeBb0+qFq35BQADGvecaejXqGG8NmIzErDkQPs1B5MuKl2guBSfNLlan/e?= =?us-ascii?Q?BXH8SbTyQKukvTVgtJgZ5oemVeK80ietoeYVLcrW01Egcxks251ggXP5UmZE?= =?us-ascii?Q?m4mdDaKLq5beCuQN2zunHE1wiZAQhCErqy8hDUfigsVTrHjuiQGzzZKoaD2O?= =?us-ascii?Q?zrHD5mXfOYNG8O2k6X+nAeFsdfaqzBLA1j6cLGTu8GOibTZGQgxTXlUIYfn0?= =?us-ascii?Q?WCK7dHKNcJ9yCntJbaXaMC2xYr8fm1rEhUUVU3CP9hwJ7IRUZcEwIAFAdTOE?= =?us-ascii?Q?Wa1It7toL0FicHRJ9K74yQGd21IXbOU5GBZe0c+puIOoaAE5zGrFfD/mkXpe?= =?us-ascii?Q?Eo0vKMxslrHjMThHL2OH4ljhfYYMi+r/Glvl08p7JfIhv9eTlXeABVS5siFN?= =?us-ascii?Q?zBFZjO3VJQVZZMc52RD2ja/tWpVwtn94BIHyDXgDOPLVNj9sgC4krfuYv0C4?= =?us-ascii?Q?hYF+BK/o6DGDaOp8LiDUMJxS0HHgwi74LVJI5KChdxx851umuR5I1ZJ1ChN9?= =?us-ascii?Q?y47tLOB4gkuBtYJL4BXS6rgBZAj7SCclByuSJ5h3bYIpXuBRP2NnLE5z2ZXn?= =?us-ascii?Q?XRBsT6ecykNSYPY5SQahUlR6y3rI064Ap4K9xzj6CYoVH0aF2+22XYCTo9OP?= =?us-ascii?Q?+I9fXfiwZZ6S8QC6PEsbbWJYlSZcEbRYQBnK0gOjptv04kMugH65XK+Z3tqx?= =?us-ascii?Q?coTi7pJSoq21cKqmSIkyyrpq6YhSWr/1kK+dQ5dQFyiEZ+XkFZ1MSNkoRXnC?= =?us-ascii?Q?aHBo6FKutMINmA6JD9iWHDNkinGknBr0D06GTDMi+/TdbEpWJVdQYcprxjfq?= =?us-ascii?Q?bdbPPoJNfFSgam4I/pgJ+Kh3G6w/N5lqkU64r5cDhWMSyvbHRWpooZ/1Jl0U?= =?us-ascii?Q?meMr7jdqqJ1j/8Kt3w8yE6pAQ6Nn9yOZ/wYxie/U9r0oTzqq6fYpvdg7rv5k?= =?us-ascii?Q?RjBWbDb1aDUL1Y76gKoqhLaclAweyPpaMxpXxvOMb31CCV3DdO01+6Ubiwei?= =?us-ascii?Q?WTYeTpEfcbK49Rd50MaSf6mYE624T7fWvlaRfKFXEjv2mq8tsazLlf2VMgeY?= =?us-ascii?Q?4ldaHsZ59R89bPP/FJT350+eU9zfjoruD0z6+YhayKkeQLfQhptfQxS0JLj3?= =?us-ascii?Q?5KyQ38XBnxacqku8ETbeLhdBTGLBsIeRtxEtXla4qswhm16s+5jwh7F1HLiA?= =?us-ascii?Q?+wMEQkl7pnOVioo/pDlvGHYvhw/JXNoCNsBSL9sPAQAnXAzyxTSW5t+IAhFX?= =?us-ascii?Q?PvGRqkpM8Vo/pIOfw63ellOUJoqJlxx2IsKw6k45Q62TjMFgtG8B/NsO0EA0?= =?us-ascii?Q?V6majkO6JctLfh5JhuJjDU9OYUdVZLYcoqJFnV1469UrE2hUUmBbjGjXycDN?= =?us-ascii?Q?ffgyZoMiMWr12cA/8cEUzAqY/03gNCvBlucGGqyR2sHndIdpXsp9KxAiKZUO?= =?us-ascii?Q?t+aOMn3h10Y4dpCEVjcpsBFmBt0tCinOn+VsMlII5PbqbmnkZAxFa7uILbmE?= =?us-ascii?Q?aMxeWN7TzELHRInNjK1X0qmRLxn9uUL0su198QgLcTeJlRlZOw1iVn92iok6?= =?us-ascii?Q?xh0enr0n7llq6HUijh1PcYnUF6+iaHDF3DivMgBOJvb/?= Content-Type: multipart/mixed; boundary="_004_CH2PR15MB35449A5A2BA7153A02CE913BD6E59CH2PR15MB3544namp_" MIME-Version: 1.0 X-OriginatorOrg: ibm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR15MB3544.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7664d6c1-be74-4983-2137-08dae18a75aa X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2022 06:30:02.2010 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fcf67057-50c9-4ad4-98f3-ffca64add9e9 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: wkHEWFmS1Te+Q8Vplbx2//oZSWeBQntI3kPPPO9S1HNK508JVkP9Ixl7xb/vJ5+/OhJy9sgiO4vd2Og1MFj8qA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR15MB5736 X-Proofpoint-ORIG-GUID: wxtxwIkS5_8C9Vc0KN3VERxKXeTdsX1Q X-Proofpoint-GUID: wxtxwIkS5_8C9Vc0KN3VERxKXeTdsX1Q X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-12-18_13,2022-12-15_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 bulkscore=0 phishscore=0 spamscore=0 lowpriorityscore=0 mlxlogscore=851 adultscore=0 priorityscore=1501 impostorscore=0 clxscore=1015 mlxscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000 definitions=main-2212190053 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Aditya Kamath1 via Gdb-patches Reply-To: Aditya Kamath1 Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" --_004_CH2PR15MB35449A5A2BA7153A02CE913BD6E59CH2PR15MB3544namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Ulrich and community, Please find attached the patch {See: 0001-Fix-multi-thread-debug-bug-in-AIX.patch} >I think the problem here may be that the lookup_minimal_symbol >call in pdc_symbol_addrs has to be performed in the correct >process address space. This wasn't an issue before since the >routine was only called for the first process anyway. >Look at the equivalent routine on Linux, which is >ps_pglobal_lookup in proc-service.c. This does: >inferior *inf =3D ph->thread->inf; > scoped_restore_current_program_space restore_pspace; > set_current_program_space (inf->pspace); > You'll need to do the equivalent (set the program space > to the one appropriate for the inferior referenced by > user_current_pid). So, I tried setting this right in this patch and it did not work. I even tr= ied setting the inferior_ptid and current_inferior to user_current_pid, but= that also did not help. The output still appears as follows for the same code in the previous mail. [New Thread 258] [New Thread 515] fetch_regs_kernel_thread tid=3D1da0189 regno=3D64 arch64=3D0 [New inferior 2 (process 6553888)] pdc_free (user_current_pid =3D 11272598, buf =3D 0x11016ee70) pdc_free (user_current_pid =3D 11272598, buf =3D 0x11016eeb0) pdc_free (user_current_pid =3D 11272598, buf =3D 0x11016eff0) pdc_free (user_current_pid =3D 11272598, buf =3D 0x1104e2530) pdc_free (user_current_pid =3D 11272598, buf =3D 0x1108af2d0) pdc_symbol_addrs (user_current_pid =3D 11272598, symbols =3D 0xfffffffffffd= f08, count =3D 1) symbols[0].name =3D "__n_pthreads" symbols[0].addr =3D 0xf0807334 returning PDC_SUCCESS pdc_read_data (user_current_pid =3D 11272598, buf =3D 0xfffffffffffdf00, ad= dr =3D 0xf0807334, len =3D 4) status=3D0, returning SUCCESS pdc_symbol_addrs (user_current_pid =3D 6553888, symbols =3D 0xfffffffffffe2= 58, count =3D 1) symbols[0].name =3D "__n_pthreads" returning PDC_FAILURE [New process 11272598] [New inferior 3 (process 8323536)] pdc_symbol_addrs (user_current_pid =3D 11272598, symbols =3D 0xfffffffffffd= f08, count =3D 1) symbols[0].name =3D "__n_pthreads" symbols[0].addr =3D 0xf0807334 returning PDC_SUCCESS pdc_read_data (user_current_pid =3D 11272598, buf =3D 0xfffffffffffdf00, ad= dr =3D 0xf0807334, len =3D 4) status=3D0, returning SUCCESS pdc_symbol_addrs (user_current_pid =3D 8323536, symbols =3D 0xfffffffffffe2= 58, count =3D 1) symbols[0].name =3D "__n_pthreads" returning PDC_FAILURE I am parent I am parent So, we can see clearly it did try to check if our new inferiors can be thre= aded and it failed. What I observed one thing while I tried to guess how Linux might be doing i= t is that once it detects a new inferior it continuously calls ps_pglobal_l= ookup in proc-service.c using an observable till it succeeds in reading th= e symbol. Kindly see the below output of linux for the same program. {Outpu= t Credits:- Linux GDB} [New Thread 0x7ffff7cff170 (LWP 259785)] [New Thread 0x7ffff74ef170 (LWP 259786)] [New inferior 2 (process 259787)] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New inferior 3 (process 259788)] The backtrace might be as follows:- #11 0x0000000010063fe8 in std::_Function_handler::_M_invoke(std::_Any_data const&, inferior*&&) at /usr/include/c++/8/bits/std_function.h:297 #12 0x00000000102c77b8 in std::function::operator()(infer= ior*) const ( __args#0=3D0x112cd920, this=3D) at /usr/include/c++/8/bi= ts/std_function.h:687 #13 gdb::observers::observable::notify (args#0=3D0x112cd920, thi= s=3D) at ./../gdbsupport/observable.h:166 #14 post_create_inferior at infcmd.c:315 #15 0x00000000102e25a4 in follow_fork_inferior (detach_fork=3Dfalse, follow= _child=3Dfalse) at infrun.c:683 #16 follow_fork () at infrun.c:79 #17 0x00000000102ec7b8 in handle_inferior_event at infrun.c:5728 #18 0x00000000102ed9d8 in fetch_inferior_event () at infrun.c:4233 #19 0x00000000102c05a4 in inferior_event_handler at inf-loop.c:41 #20 0x0000000010317e7c in handle_target_event at -nat.c:4216 #21 0x0000000010957e68 in handle_file_event at event-loop.cc:549 #22 0x00000000109588c4 in gdb_wait_for_event at event-loop.cc:670 #23 0x0000000010958cac in gdb_wait_for_event (block=3D0) at event-loop.cc:5= 69 #24 gdb_do_one_event () at event-loop.cc:210 #25 0x000000001034d684 in start_event_loop () at main.c:411 #26 captured_command_loop () at main.c:471 #27 0x000000001034f8b0 in captured_main at main.c:1329 #28 gdb_main (args=3D) at main.c:1344 #29 0x000000001001a188 in main at gdb.c:32 Post stack number #11 they might be going to ps_pglobal_lookup () everytime= till they can make the new inferior thread debugging possible. AIX on the = other hand calls the pdc_symbol_adddress () only once for a new inferior af= ter first inferior. For the first inferior as well, things succeed only in = the fourth time as shown below for a 32-bit code. pdc_symbol_addrs (user_current_pid =3D 11272598, symbols =3D 0xfffffffffffd= bd8, count =3D 1) symbols[0].name =3D "__n_pthreads" returning PDC_FAILURE pdc_symbol_addrs (user_current_pid =3D 11272598, symbols =3D 0xfffffffffffd= bd8, count =3D 1) symbols[0].name =3D "__n_pthreads" returning PDC_FAILURE pdc_symbol_addrs (user_current_pid =3D 11272598, symbols =3D 0xfffffffffffd= bd8, count =3D 1) symbols[0].name =3D "__n_pthreads" returning PDC_FAILURE pdc_symbol_addrs (user_current_pid =3D 11272598, symbols =3D 0xfffffffffffd= bd8, count =3D 1) symbols[0].name =3D "__n_pthreads" symbols[0].addr =3D 0xf0807334 returning PDC_SUCCESS So, I guess if we manage to do something similar just like for the first in= ferior, we will get to the solution, but I did not understand how Linux mig= ht be reading the symbol again and again for a new inferior or AIX for that= matter for the first inferior. Kindly let me know how we can do something= similar or are we missing something here that I have not kept in mind in o= ur attempt to solve this for AIX and GDB community. Let me know what you think. Waiting for a reply soon. Have a nice day. Regards, Aditya. ________________________________ From: Ulrich Weigand Sent: 15 December 2022 21:23 To: simark@simark.ca ; Aditya Kamath1 ; gdb-patches@sourceware.org Cc: Sangamesh Mallayya Subject: Re: [PATCH] 0001-Fix-multi-thread-debug-bug-in-AIX.patch Aditya Kamath1 wrote: >[New Thread 258] >[New Thread 515] >fetch_regs_kernel_thread tid=3D225018d regno=3D64 arch64=3D0 >[New inferior 2 (process 8061286)] >pdc_free (user_current_pid =3D 17957132, buf =3D 0x11016f370) >pdc_free (user_current_pid =3D 17957132, buf =3D 0x11016f3b0) >pdc_free (user_current_pid =3D 17957132, buf =3D 0x11016f4f0) >pdc_free (user_current_pid =3D 17957132, buf =3D 0x1104e3a70) >pdc_free (user_current_pid =3D 17957132, buf =3D 0x1108af0d0) >pdc_symbol_addrs (user_current_pid =3D 17957132, symbols =3D 0xfffffffffff= def8, count =3D 1) > symbols[0].name =3D "__n_pthreads" > returning PDC_FAILURE >pdc_symbol_addrs (user_current_pid =3D 8061286, symbols =3D 0xfffffffffffe= 248, count =3D 1) > symbols[0].name =3D "__n_pthreads" > returning PDC_FAILURE >I am parent >[New process 17957132] >[New inferior 3 (process 17433000)] >pdc_symbol_addrs (user_current_pid =3D 17957132, symbols =3D 0xfffffffffff= def8, count =3D 1) > symbols[0].name =3D "__n_pthreads" > returning PDC_FAILURE I think the problem here may be that the lookup_minimal_symbol call in pdc_symbol_addrs has to be performed in the correct process address space. This wasn't an issue before since the routine was only called for the first process anyway. Look at the equivalent routine on Linux, which is ps_pglobal_lookup in proc-service.c. This does: inferior *inf =3D ph->thread->inf; scoped_restore_current_program_space restore_pspace; set_current_program_space (inf->pspace); You'll need to do the equivalent (set the program space to the one appropriate for the inferior referenced by user_current_pid). Bye, Ulrich --_004_CH2PR15MB35449A5A2BA7153A02CE913BD6E59CH2PR15MB3544namp_ Content-Type: application/octet-stream; name="0001-Fix-multi-thread-debug-bug-in-AIX.patch" Content-Description: 0001-Fix-multi-thread-debug-bug-in-AIX.patch Content-Disposition: attachment; filename="0001-Fix-multi-thread-debug-bug-in-AIX.patch"; size=9371; creation-date="Mon, 19 Dec 2022 05:38:26 GMT"; modification-date="Mon, 19 Dec 2022 05:38:52 GMT" Content-Transfer-Encoding: base64 RnJvbSA4YjFmMzRiN2Q2MmM5ZTZhMGYyMTZjMGUzYjM2ZmNlNzUyOTUyZWVlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVmlkeWFkaGFyIEthbWF0aCA8QWRpdHlhLkthbWF0 aDFAaWJtLmNvbT4KRGF0ZTogU3VuLCAxOCBEZWMgMjAyMiAyMzoxOTowNCAtMDYwMApTdWJqZWN0 OiBbUEFUQ0hdIEZpeCBtdWx0aSB0aHJlYWQgZGVidWcgYnVnIGluIEFJWAoKLS0tCiBnZGIvYWl4 LXRocmVhZC5jIHwgMTAzICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZ2RiL2FpeC10aHJlYWQuYyBiL2dkYi9haXgtdGhyZWFkLmMKaW5kZXgg ZTU1NmMxNTM1NzYuLjNhMmFmYWQyNWExIDEwMDY0NAotLS0gYS9nZGIvYWl4LXRocmVhZC5jCisr KyBiL2dkYi9haXgtdGhyZWFkLmMKQEAgLTU1LDYgKzU1LDcgQEAKICNpbmNsdWRlIDxzeXMvcmVn Lmg+CiAjaW5jbHVkZSA8c2NoZWQuaD4KICNpbmNsdWRlIDxzeXMvcHRoZGVidWcuaD4KKyNpbmNs dWRlIDx2ZWN0b3I+CiAKICNpZiAhSEFWRV9ERUNMX0dFVFRIUkRTCiBleHRlcm4gaW50IGdldHRo cmRzIChwaWRfdCwgc3RydWN0IHRocmRzaW5mbzY0ICosIGludCwgdGlkX3QgKiwgaW50KTsKQEAg LTcwLDcgKzcxLDcgQEAgc3RhdGljIGJvb2wgZGVidWdfYWl4X3RocmVhZDsKIAogLyogUmV0dXJu IHdoZXRoZXIgdG8gdHJlYXQgUElEIGFzIGEgZGVidWdnYWJsZSB0aHJlYWQgaWQuICAqLwogCi0j ZGVmaW5lIFBEX1RJRChwdGlkKQkocGRfYWN0aXZlICYmIHB0aWQudGlkICgpICE9IDApCisjZGVm aW5lIFBEX1RJRChwdGlkKQkoc3RkOjpmaW5kIChwZF9hY3RpdmUuYmVnaW4gKCksIHBkX2FjdGl2 ZS5lbmQgKCksIHB0aWQucGlkICgpKSAhPSBwZF9hY3RpdmUuZW5kICgpICYmIHB0aWQudGlkICgp ICE9IDApCiAKIC8qIFN1Y2Nlc3MgYW5kIGZhaWx1cmUgdmFsdWVzIHJldHVybmVkIGJ5IHB0aGRi IGNhbGxiYWNrcy4gICovCiAKQEAgLTE1MSwxMSArMTUyLDExIEBAIHN0YXRpYyBDT1JFX0FERFIg cGRfYnJrX2FkZHI7CiAKIC8qIFdoZXRoZXIgdGhlIGN1cnJlbnQgYXBwbGljYXRpb24gaXMgZGVi dWdnYWJsZSBieSBwdGhkYi4gICovCiAKLXN0YXRpYyBpbnQgcGRfYWJsZSA9IDA7CitzdGF0aWMg c3RkOjp2ZWN0b3I8cGlkX3Q+IHBkX2FibGU7CiAKIC8qIFdoZXRoZXIgYSB0aHJlYWRlZCBhcHBs aWNhdGlvbiBpcyBiZWluZyBkZWJ1Z2dlZC4gICovCiAKLXN0YXRpYyBpbnQgcGRfYWN0aXZlID0g MDsKK3N0YXRpYyBzdGQ6OnZlY3RvcjxwaWRfdD4gcGRfYWN0aXZlOwogCiAvKiBXaGV0aGVyIHRo ZSBjdXJyZW50IGFyY2hpdGVjdHVyZSBpcyA2NC1iaXQuICAKICAgIE9ubHkgdmFsaWQgd2hlbiBw ZF9hYmxlIGlzIHRydWUuICAqLwpAQCAtMzMxLDYgKzMzMiw5IEBAIHBkY19zeW1ib2xfYWRkcnMg KHB0aGRiX3VzZXJfdCB1c2VyX2N1cnJlbnRfcGlkLCBwdGhkYl9zeW1ib2xfdCAqc3ltYm9scywg aW50IGNvCiAgIHN0cnVjdCBib3VuZF9taW5pbWFsX3N5bWJvbCBtczsKICAgaW50IGk7CiAgIGNo YXIgKm5hbWU7CisgIHNjb3BlZF9yZXN0b3JlX2N1cnJlbnRfcHJvZ3JhbV9zcGFjZSByZXN0b3Jl X3BzcGFjZTsgCisgIGluZmVyaW9yICppbmYgPSBmaW5kX2luZmVyaW9yX3BpZCAoY3VycmVudF9p bmZlcmlvciAoKS0+cHJvY2Vzc190YXJnZXQgKCksIHVzZXJfY3VycmVudF9waWQpOworICBzZXRf Y3VycmVudF9wcm9ncmFtX3NwYWNlIChpbmYtPnBzcGFjZSk7CiAKICAgaWYgKGRlYnVnX2FpeF90 aHJlYWQpCiAgICAgZ2RiX3ByaW50ZiAoZ2RiX3N0ZGxvZywKQEAgLTUwOCwxNCArNTEyLDEzIEBA IHBkY19yZWFkX2RhdGEgKHB0aGRiX3VzZXJfdCB1c2VyX2N1cnJlbnRfcGlkLCB2b2lkICpidWYs CiAgIC8qIFRoaXMgaXMgbmVlZGVkIHRvIGVsaW1pbmF0ZSB0aGUgZGVwZW5kZW5jeSBvZiBjdXJy ZW50IHRocmVhZAogICAgICB3aGljaCBpcyBudWxsIHNvIHRoYXQgdGhyZWFkIHJlYWRzIHRoZSBj b3JyZWN0IHRhcmdldCBtZW1vcnkuICAqLwogICB7Ci0gICAgc2NvcGVkX3Jlc3RvcmVfY3VycmVu dF90aHJlYWQgcmVzdG9yZV9jdXJyZW50X3RocmVhZDsKKyAgICBzY29wZWRfcmVzdG9yZSBzYXZl X2luZmVyaW9yX3B0aWQgPSBtYWtlX3Njb3BlZF9yZXN0b3JlICgmaW5mZXJpb3JfcHRpZCk7CiAg ICAgLyogQmVmb3JlIHRoZSBmaXJzdCBpbmZlcmlvciBpcyBhZGRlZCwgd2UgcGFzcyBpbmZlcmlv cl9wdGlkLnBpZCAoKQogICAgICAgIGZyb20gcGRfZW5hYmxlICgpIHdoaWNoIGlzIDAuICBUaGVy ZSBpcyBubyBuZWVkIHRvIHN3aXRjaCB0aHJlYWRzCiAgICAgICAgZHVyaW5nIGZpcnN0IGluaXRp YWxpc2F0aW9uLiAgSW4gdGhlIHJlc3Qgb2YgdGhlIGNhbGxiYWNrcyB0aGUKICAgICAgICBjdXJy ZW50IHRocmVhZCBuZWVkcyB0byBiZSBjb3JyZWN0LiAgKi8KICAgICBpZiAodXNlcl9jdXJyZW50 X3BpZCAhPSAwKQotICAgICAgc3dpdGNoX3RvX3RocmVhZCAoY3VycmVudF9pbmZlcmlvciAoKS0+ cHJvY2Vzc190YXJnZXQgKCksCi0JCQlwdGlkX3QgKHVzZXJfY3VycmVudF9waWQpKTsKKyAgICAg IGluZmVyaW9yX3B0aWQgPSBwdGlkX3QgKHVzZXJfY3VycmVudF9waWQpOwogICAgIHN0YXR1cyA9 IHRhcmdldF9yZWFkX21lbW9yeSAoYWRkciwgKGdkYl9ieXRlICopIGJ1ZiwgbGVuKTsKICAgfQog ICByZXQgPSBzdGF0dXMgPT0gMCA/IFBEQ19TVUNDRVNTIDogUERDX0ZBSUxVUkU7CkBAIC02Mzks MzYgKzY0MiwyMyBAQCBwY21wIChjb25zdCB2b2lkICpwMXYsIGNvbnN0IHZvaWQgKnAydikKICAg cmV0dXJuIHAxLT5wdGhpZCA8IHAyLT5wdGhpZCA/IC0xIDogcDEtPnB0aGlkID4gcDItPnB0aGlk OwogfQogCi0vKiBpdGVyYXRlX292ZXJfdGhyZWFkcygpIGNhbGxiYWNrIGZvciBjb3VudGluZyBH REIgdGhyZWFkcy4KLQotICAgRG8gbm90IGNvdW50IHRoZSBtYWluIHRocmVhZCAod2hvc2UgdGlk IGlzIHplcm8pLiAgVGhpcyBtYXRjaGVzCi0gICB0aGUgbGlzdCBvZiB0aHJlYWRzIHByb3ZpZGVk IGJ5IHRoZSBwdGhyZWFkZGVidWcgbGlicmFyeSwgd2hpY2gKLSAgIGRvZXMgbm90IGluY2x1ZGUg dGhhdCBtYWluIHRocmVhZCBlaXRoZXIsIGFuZCB0aHVzIGFsbG93cyB1cwotICAgdG8gY29tcGFy ZSB0aGUgdHdvIGxpc3RzLiAgKi8KKy8qIGl0ZXJhdGVfb3Zlcl90aHJlYWRzKCkgY2FsbGJhY2sg Zm9yIGNvdW50aW5nIEdEQiB0aHJlYWRzLiAgKi8KIAogc3RhdGljIGludAogZ2l0ZXJfY291bnQg KHN0cnVjdCB0aHJlYWRfaW5mbyAqdGhyZWFkLCB2b2lkICpjb3VudHApCiB7Ci0gIGlmIChQRF9U SUQgKHRocmVhZC0+cHRpZCkpCi0gICAgKCooaW50ICopIGNvdW50cCkrKzsKKyAgKCooaW50ICop IGNvdW50cCkrKzsKICAgcmV0dXJuIDA7CiB9CiAKLS8qIGl0ZXJhdGVfb3Zlcl90aHJlYWRzKCkg Y2FsbGJhY2sgZm9yIGFjY3VtdWxhdGluZyBHREIgdGhyZWFkIHBpZHMuCi0KLSAgIERvIG5vdCBp bmNsdWRlIHRoZSBtYWluIHRocmVhZCAod2hvc2UgdGlkIGlzIHplcm8pLiAgVGhpcyBtYXRjaGVz Ci0gICB0aGUgbGlzdCBvZiB0aHJlYWRzIHByb3ZpZGVkIGJ5IHRoZSBwdGhyZWFkZGVidWcgbGli cmFyeSwgd2hpY2gKLSAgIGRvZXMgbm90IGluY2x1ZGUgdGhhdCBtYWluIHRocmVhZCBlaXRoZXIs IGFuZCB0aHVzIGFsbG93cyB1cwotICAgdG8gY29tcGFyZSB0aGUgdHdvIGxpc3RzLiAgKi8KKy8q IGl0ZXJhdGVfb3Zlcl90aHJlYWRzKCkgY2FsbGJhY2sgZm9yIGFjY3VtdWxhdGluZyBHREIgdGhy ZWFkIHBpZHMuICAqLwogCiBzdGF0aWMgaW50CiBnaXRlcl9hY2N1bSAoc3RydWN0IHRocmVhZF9p bmZvICp0aHJlYWQsIHZvaWQgKmJ1ZnApCiB7Ci0gIGlmIChQRF9USUQgKHRocmVhZC0+cHRpZCkp Ci0gICAgewotICAgICAgKiooc3RydWN0IHRocmVhZF9pbmZvICoqKikgYnVmcCA9IHRocmVhZDsK LSAgICAgICgqKHN0cnVjdCB0aHJlYWRfaW5mbyAqKiopIGJ1ZnApKys7Ci0gICAgfQorICAqKihz dHJ1Y3QgdGhyZWFkX2luZm8gKioqKSBidWZwID0gdGhyZWFkOworICAoKihzdHJ1Y3QgdGhyZWFk X2luZm8gKioqKSBidWZwKSsrOworCiAgIHJldHVybiAwOwogfQogCkBAIC03MTksNyArNzA5LDcg QEAgZ2V0X3NpZ25hbGVkX3RocmVhZCAoaW50IHBpZCkKIAkJICAgIHNpemVvZiAodGhyaW5mKSwg Jmt0aWQsIDEpICE9IDEpCiAJYnJlYWs7CiAKLSAgICAgIGlmICh0aHJpbmYudGlfY3Vyc2lnID09 IFNJR1RSQVApCisgICAgICBpZiAodGhyaW5mLnRpX2N1cnNpZykKIAlyZXR1cm4gdGhyaW5mLnRp X3RpZDsKICAgICB9CiAKQEAgLTc1MCw2ICs3NDAsOSBAQCBzeW5jX3RocmVhZGxpc3RzIChpbnQg cGlkKQogICBwdGhkYl9wdGhyZWFkX3QgcGR0aWQ7CiAgIHB0aHJlYWRfdCBwdGhpZDsKICAgcHRo ZGJfdGlkX3QgdGlkOworICBwcm9jZXNzX3N0cmF0dW1fdGFyZ2V0ICpwcm9jX3RhcmdldAorICAg ICAgICAgICAgPSBjdXJyZW50X2luZmVyaW9yICgpLT5wcm9jZXNzX3RhcmdldCAoKTsKKyAgdGhy ZWFkX2luZm8gICp0cDsKIAogICAvKiBBY2N1bXVsYXRlIGFuIGFycmF5IG9mIGxpYnB0aGRlYnVn IHRocmVhZHMgc29ydGVkIGJ5IHB0aHJlYWQgaWQuICAqLwogCkBAIC04MTAsOCArODAzLDYgQEAg c3luY190aHJlYWRsaXN0cyAoaW50IHBpZCkKIAkgIHByaXYtPnBkdGlkID0gcGJ1ZltwaV0ucGR0 aWQ7CiAJICBwcml2LT50aWQgPSBwYnVmW3BpXS50aWQ7CiAKLQkgIHByb2Nlc3Nfc3RyYXR1bV90 YXJnZXQgKnByb2NfdGFyZ2V0Ci0JICAgID0gY3VycmVudF9pbmZlcmlvciAoKS0+cHJvY2Vzc190 YXJnZXQgKCk7CiAJICB0aHJlYWQgPSBhZGRfdGhyZWFkX3dpdGhfaW5mbyAocHJvY190YXJnZXQs CiAJCQkJCSBwdGlkX3QgKHBpZCwgMCwgcGJ1ZltwaV0ucHRoaWQpLAogCQkJCQkgcHJpdik7CkBA IC04NDEsOCArODMyLDIyIEBAIHN5bmNfdGhyZWFkbGlzdHMgKGludCBwaWQpCiAJICAgIH0KIAkg IGVsc2UgaWYgKGNtcF9yZXN1bHQgPiAwKQogCSAgICB7Ci0JICAgICAgZGVsZXRlX3RocmVhZCAo Z2J1ZltnaV0pOwotCSAgICAgIGdpKys7CisgICAgICAgICAgICAgIGlmIChncHRpZC5pc19waWQg KCkgJiYgZ3B0aWQucGlkICgpID09IHBwdGlkLnBpZCAoKSkKKyAgICAgICAgICAgICAgICB7Cisg ICAgICAgICAgICAgICAgICB0aHJlYWRfY2hhbmdlX3B0aWQgKHByb2NfdGFyZ2V0LCBncHRpZCwg cHB0aWQpOworICAgICAgICAgICAgICAgICAgYWl4X3RocmVhZF9pbmZvICpwcml2ID0gbmV3IGFp eF90aHJlYWRfaW5mbzsKKyAgICAgICAgICAgICAgICAgIHByaXYtPnBkdGlkID0gcGJ1ZltwaV0u cGR0aWQ7CisgICAgICAgICAgICAgICAgICBwcml2LT50aWQgPSBwYnVmW3BpXS50aWQ7CisgICAg ICAgICAgICAgICAgICB0cCA9IGZpbmRfdGhyZWFkX3B0aWQgKHByb2NfdGFyZ2V0LCBwcHRpZCk7 CisgICAgICAgICAgICAgICAgICB0cC0+cHJpdi5yZXNldCAocHJpdik7CisgICAgICAgICAgICAg ICAgICBwaSsrOworICAgICAgICAgICAgICAgICAgZ2krKzsKKyAgICAgICAgICAgICAgICB9Cisg ICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICBk ZWxldGVfdGhyZWFkIChnYnVmW2dpXSk7CisgICAgICAgICAgICAgICAgICBnaSsrOworICAgICAg ICAgICAgICAgIH0KIAkgICAgfQogCSAgZWxzZQogCSAgICB7CkBAIC04ODgsNyArODkzLDggQEAg cGRfdXBkYXRlIChpbnQgcGlkKQogICBwdGhkYl90aWRfdCB0aWQ7CiAgIHN0cnVjdCB0aHJlYWRf aW5mbyAqdGhyZWFkID0gTlVMTDsKIAotICBpZiAoIXBkX2FjdGl2ZSkKKyAgaWYgKHN0ZDo6Zmlu ZCAocGRfYWN0aXZlLmJlZ2luICgpLCBwZF9hY3RpdmUuZW5kICgpLCBwaWQpCisgICAgPT0gcGRf YWN0aXZlLmVuZCAoKSkKICAgICByZXR1cm4gcHRpZF90IChwaWQpOwogCiAgIHN0YXR1cyA9IHB0 aGRiX3Nlc3Npb25fdXBkYXRlIChwZF9zZXNzaW9uKTsKQEAgLTkyNiw3ICs5MzIsNyBAQCBwZF9h Y3RpdmF0ZSAoaW50IHBpZCkKICAgICB7CiAgICAgICByZXR1cm4gcHRpZF90IChwaWQpOwogICAg IH0KLSAgcGRfYWN0aXZlID0gMTsKKyAgcGRfYWN0aXZlLnB1c2hfYmFjayAocGlkKTsKICAgcmV0 dXJuIHBkX3VwZGF0ZSAocGlkKTsKIH0KIApAQCAtOTM1LDI2ICs5NDEsMjkgQEAgcGRfYWN0aXZh dGUgKGludCBwaWQpCiBzdGF0aWMgdm9pZAogcGRfZGVhY3RpdmF0ZSAodm9pZCkKIHsKLSAgaWYg KCFwZF9hY3RpdmUpCisgIGlmIChzdGQ6OmZpbmQgKHBkX2FjdGl2ZS5iZWdpbiAoKSwgcGRfYWN0 aXZlLmVuZCAoKSwgaW5mZXJpb3JfcHRpZC5waWQgKCkpCisgICAgPT0gcGRfYWN0aXZlLmVuZCAo KSkKICAgICByZXR1cm47CiAgIHB0aGRiX3Nlc3Npb25fZGVzdHJveSAocGRfc2Vzc2lvbik7CiAg IAogICBwaWRfdG9fcHJjICgmaW5mZXJpb3JfcHRpZCk7Ci0gIHBkX2FjdGl2ZSA9IDA7CisgIHBk X2FjdGl2ZS5lcmFzZSAoc3RkOjpmaW5kIChwZF9hY3RpdmUuYmVnaW4gKCksIHBkX2FjdGl2ZS5l bmQgKCksIGluZmVyaW9yX3B0aWQucGlkICgpKSk7CiB9CiAKIC8qIEFuIG9iamVjdCBmaWxlIGhh cyBqdXN0IGJlZW4gbG9hZGVkLiAgQ2hlY2sgd2hldGhlciB0aGUgY3VycmVudAogICAgYXBwbGlj YXRpb24gaXMgcHRocmVhZGVkLCBhbmQgaWYgc28sIHByZXBhcmUgZm9yIHRocmVhZCBkZWJ1Z2dp bmcuICAqLwogCiBzdGF0aWMgdm9pZAotcGRfZW5hYmxlICh2b2lkKQorcGRfZW5hYmxlIChpbmZl cmlvciAqaW5mKQogewogICBpbnQgc3RhdHVzOwogICBjaGFyICpzdHViX25hbWU7CiAgIHN0cnVj dCBib3VuZF9taW5pbWFsX3N5bWJvbCBtczsKKyAgcGlkX3QgcGlkID0gKGluZiA9PSBOVUxMP2lu ZmVyaW9yX3B0aWQucGlkICgpOmluZi0+cGlkKTsKIAogICAvKiBEb24ndCBpbml0aWFsaXplIHR3 aWNlLiAgKi8KLSAgaWYgKHBkX2FibGUpCisgIGlmIChzdGQ6OmZpbmQgKHBkX2FibGUuYmVnaW4g KCksIHBkX2FibGUuZW5kICgpLCBwaWQpIAorCSE9IHBkX2FibGUuZW5kICgpKQogICAgIHJldHVy bjsKIAogICAvKiBDaGVjayBhcHBsaWNhdGlvbiB3b3JkIHNpemUuICAqLwpAQCAtOTYyLDcgKzk3 MSw3IEBAIHBkX2VuYWJsZSAodm9pZCkKIAogICAvKiBDaGVjayB3aGV0aGVyIHRoZSBhcHBsaWNh dGlvbiBpcyBwdGhyZWFkZWQuICAqLwogICBzdHViX25hbWUgPSBOVUxMOwotICBzdGF0dXMgPSBw dGhkYl9zZXNzaW9uX3B0aHJlYWRlZCAoaW5mZXJpb3JfcHRpZC5waWQgKCksIFBUSERCX0ZMQUdf UkVHUywKKyAgc3RhdHVzID0gcHRoZGJfc2Vzc2lvbl9wdGhyZWFkZWQgKHBpZCwgUFRIREJfRkxB R19SRUdTLAogCQkJCSAgICAmcGRfY2FsbGJhY2tzLCAmc3R1Yl9uYW1lKTsKICAgaWYgKChzdGF0 dXMgIT0gUFRIREJfU1VDQ0VTUwogICAgICAgICYmIHN0YXR1cyAhPSBQVEhEQl9OT1RfUFRIUkVB REVEKSB8fCAhc3R1Yl9uYW1lKQpAQCAtOTc4LDEyICs5ODcsMTIgQEAgcGRfZW5hYmxlICh2b2lk KQogCiAgIC8qIFByZXBhcmUgZm9yIHRocmVhZCBkZWJ1Z2dpbmcuICAqLwogICBjdXJyZW50X2lu ZmVyaW9yICgpLT5wdXNoX3RhcmdldCAoJmFpeF90aHJlYWRfb3BzKTsKLSAgcGRfYWJsZSA9IDE7 CisgIHBkX2FibGUucHVzaF9iYWNrIChwaWQpOwogCiAgIC8qIElmIHdlJ3JlIGRlYnVnZ2luZyBh IGNvcmUgZmlsZSBvciBhbiBhdHRhY2hlZCBpbmZlcmlvciwgdGhlCiAgICAgIHB0aHJlYWQgbGli cmFyeSBtYXkgYWxyZWFkeSBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQsIHNvIHRyeSB0bwogICAgICBh Y3RpdmF0ZSB0aHJlYWQgZGVidWdnaW5nLiAgKi8KLSAgcGRfYWN0aXZhdGUgKGluZmVyaW9yX3B0 aWQucGlkICgpKTsKKyAgcGRfYWN0aXZhdGUgKHBpZCk7CiB9CiAKIC8qIFVuZG8gdGhlIGVmZmVj dHMgb2YgcGRfZW5hYmxlKCkuICAqLwpAQCAtOTkxLDExICsxMDAwLDE0IEBAIHBkX2VuYWJsZSAo dm9pZCkKIHN0YXRpYyB2b2lkCiBwZF9kaXNhYmxlICh2b2lkKQogewotICBpZiAoIXBkX2FibGUp CisgIGlmIChzdGQ6OmZpbmQgKHBkX2FibGUuYmVnaW4gKCksIHBkX2FibGUuZW5kICgpLCAKKwlp bmZlcmlvcl9wdGlkLnBpZCAoKSkgPT0gcGRfYWJsZS5lbmQgKCkpCiAgICAgcmV0dXJuOwotICBp ZiAocGRfYWN0aXZlKQorICBpZiAoc3RkOjpmaW5kIChwZF9hY3RpdmUuYmVnaW4gKCksIHBkX2Fj dGl2ZS5lbmQgKCksCisgICAgICAgIGluZmVyaW9yX3B0aWQucGlkICgpKSAhPSBwZF9hY3RpdmUu ZW5kICgpKQogICAgIHBkX2RlYWN0aXZhdGUgKCk7Ci0gIHBkX2FibGUgPSAwOworICBwZF9hYmxl LmVyYXNlIChzdGQ6OmZpbmQgKHBkX2FibGUuYmVnaW4gKCksIHBkX2FibGUuZW5kICgpLCAKKwlp bmZlcmlvcl9wdGlkLnBpZCAoKSkpOwogICBjdXJyZW50X2luZmVyaW9yICgpLT51bnB1c2hfdGFy Z2V0ICgmYWl4X3RocmVhZF9vcHMpOwogfQogCkBAIC0xMDEwLDcgKzEwMjIsNyBAQCBzdGF0aWMg dm9pZAogbmV3X29iamZpbGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogewogICBpZiAob2Jq ZmlsZSkKLSAgICBwZF9lbmFibGUgKCk7CisgICAgcGRfZW5hYmxlIChOVUxMKTsKICAgZWxzZQog ICAgIHBkX2Rpc2FibGUgKCk7CiB9CkBAIC0xMDIwLDcgKzEwMzIsNyBAQCBuZXdfb2JqZmlsZSAo c3RydWN0IG9iamZpbGUgKm9iamZpbGUpCiBzdGF0aWMgdm9pZAogYWl4X3RocmVhZF9pbmZlcmlv cl9jcmVhdGVkIChpbmZlcmlvciAqaW5mKQogewotICBwZF9lbmFibGUgKCk7CisgIHBkX2VuYWJs ZSAoaW5mKTsKIH0KIAogLyogRGV0YWNoIGZyb20gdGhlIHByb2Nlc3MgYXR0YWNoZWQgdG8gYnkg YWl4X3RocmVhZF9hdHRhY2goKS4gICovCkBAIC0xMDk2LDcgKzExMDgsOCBAQCBhaXhfdGhyZWFk X3RhcmdldDo6d2FpdCAocHRpZF90IHB0aWQsIHN0cnVjdCB0YXJnZXRfd2FpdHN0YXR1cyAqc3Rh dHVzLAogICBnZGJfYXNzZXJ0IChwdGlkLmlzX3BpZCAoKSk7CiAKICAgLyogQ2hlY2sgd2hldGhl ciBsaWJwdGhkZWJ1ZyBtaWdodCBiZSByZWFkeSB0byBiZSBpbml0aWFsaXplZC4gICovCi0gIGlm ICghcGRfYWN0aXZlICYmIHN0YXR1cy0+a2luZCAoKSA9PSBUQVJHRVRfV0FJVEtJTkRfU1RPUFBF RAorICBpZiAoc3RkOjpmaW5kIChwZF9hY3RpdmUuYmVnaW4gKCksIHBkX2FjdGl2ZS5lbmQgKCks IHB0aWQucGlkICgpKSA9PSBwZF9hY3RpdmUuZW5kICgpCisgICAgICAmJiBzdGF0dXMtPmtpbmQg KCkgPT0gVEFSR0VUX1dBSVRLSU5EX1NUT1BQRUQKICAgICAgICYmIHN0YXR1cy0+c2lnICgpID09 IEdEQl9TSUdOQUxfVFJBUCkKICAgICB7CiAgICAgICBwcm9jZXNzX3N0cmF0dW1fdGFyZ2V0ICpw cm9jX3RhcmdldAotLSAKMi4zMS4xCgo= --_004_CH2PR15MB35449A5A2BA7153A02CE913BD6E59CH2PR15MB3544namp_--