From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from GV2PR08MB11394.eurprd08.prod.outlook.com (2603:10a6:150:2b1::17) by PAXPR08MB6942.eurprd08.prod.outlook.com with HTTPS; Wed, 16 Sep 2026 13:34:22 +0000 Received: from AS4P250CA0027.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:5e3::18) by GV2PR08MB11394.eurprd08.prod.outlook.com (2603:10a6:150:2b1::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.9; Wed, 16 Sep 2026 13:34:18 +0000 Received: from DB3PEPF0000885F.eurprd02.prod.outlook.com (2603:10a6:20b:5e3:cafe::82) by AS4P250CA0027.outlook.office365.com (2603:10a6:20b:5e3::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.11 via Frontend Transport; Wed, 16 Sep 2026 13:34:18 +0000 Authentication-Results: spf=softfail (sender IP is 99.81.216.78) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org;compauth=pass reason=100 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning openvz.org discourages use of 99.81.216.78 as permitted sender) Received: from nat.eu.perception-point.io (99.81.216.78) by DB3PEPF0000885F.mail.protection.outlook.com (10.167.242.10) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.7 via Frontend Transport; Wed, 16 Sep 2026 13:34:17 +0000 X-PERCEPTION-POINT-VERDICT: CLN X-PERCEPTION-POINT-SPF: X-PERCEPTION-POINT-SPAM: PASS X-PERCEPTION-POINT-SENDER-IP: 2a00:1450:4864:30::10 X-PP-Forefront-Antispam-Report: CIP:2a00:1450:4864:30::10;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wr2-x10.google.com;PTR:mail-wr2-x10.google.com;CAT:NONE;SFS:(13230040)(704161411799003)(3072899012)(43022699015)(6059299003)(12012899012)(2092899012)(82310400026)(5063699009)(6133799003)(18002099003)(19002099009)(16102099003)(57112099003)(55112099003)(22082099003)(10067099003);DIR:INB; Received: from DB3PR08CU002.outbound.protection.outlook.com (mail-db3pr08cu00207.outbound.protection.outlook.com [40.93.64.87]) by inbound-smtp.eu-west-1.amazonaws.com with SMTP id 58610q7uk75an0g41b9j5519qgqqj31bs68g2fo1; Wed, 16 Sep 2026 13:34:15 +0000 (UTC) X-SES-Spam-Verdict: PASS X-SES-Virus-Verdict: PASS Received-SPF: softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.64.87 as permitted sender) client-ip=40.93.64.87; envelope-from=den@openvz.org; helo=DB3PR08CU002.outbound.protection.outlook.com; Authentication-Results-Original: amazonses.com; spf=softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.64.87 as permitted sender) client-ip=40.93.64.87; envelope-from=den@openvz.org; helo=DB3PR08CU002.outbound.protection.outlook.com; dkim=pass header.i=@openvz.org; dmarc=pass header.from=openvz.org; X-SES-RECEIPT: AEFBQUFBQUFBQUFFbmd1RUIyMFFkVVlvZU5qaUJmVEUxaXJiYm9YVVNnenJibHhjR0xyOTFJa2YzRjhSVFNrcE4yd2ozYkVieUZBVGJ5R3BLMG5DeUsyN1lyTC93b2Y3aTVSQ2dlSXRKS2ZHZ1FEb2F0R0lGUUIrMHdJcGFGVWQ2T1dXdVdDRCtBSmxEVjN2K2tqR3NhaDVDSXN5dDd4MmEzU0U5aXNTaFFNbXdXRkFXbkR6K2VORGhBUExQa1NqZHQ5WkdmNWdIY3Jsci82NkpEb3JSWnhPeHFndDAwNE1RUXVsVUdocGMzUGxpbUc0Y0k1c1RvT0ZzcW1COEVndTVYS0NVeUkwN1ZMdlVTMEs1R0dGdjdYVFd4dHpkbUpwTmc3UFBKNE85YURVeDRiSTgwYTFTNFE9PQ== X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=5wo2NS7msjH2pNao8TnNdtSwAvSKT9n//U0KZDl7Au0v6is4zXF+l0XzD2k2TPNSS5Lu+4oefB9KX8tKjNzpfp7C6oKGMr3c8RUlj4oCffrvTUM+KIOxuC56sHEs3hYp+EXrDAx+k/pd2KrzFaeKmoSL+TbFBGit2bUM9j53wkc=; c=relaxed/simple; s=shh3fegwg5fppqsuzphvschd53n6ihuv; d=amazonses.com; t=1789565655; v=1; bh=8w5OB6FbqiEGBAyyPrDkVSWCHQmkYghKm0xVLRniNEg=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; Received: from VI1P189CA0008.EURP189.PROD.OUTLOOK.COM (2603:10a6:802:2a::21) by DU0PR08MB9107.eurprd08.prod.outlook.com (2603:10a6:10:474::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.8; Wed, 16 Sep 2026 13:34:08 +0000 Received: from MI3PEPF0000847D.eurprd02.prod.outlook.com (2603:10a6:802:2a:cafe::1c) by VI1P189CA0008.outlook.office365.com (2603:10a6:802:2a::21) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.11 via Frontend Transport; Wed, 16 Sep 2026 13:34:08 +0000 Authentication-Results-Original: spf=pass (sender IP is 2a00:1450:4864:30::10) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org;compauth=pass reason=100 Received-SPF: Pass (protection.outlook.com: domain of openvz.org designates 2a00:1450:4864:30::10 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:30::10; helo=mail-wr2-x10.google.com; pr=C Received: from mail-wr2-x10.google.com (2a00:1450:4864:30::10) by MI3PEPF0000847D.mail.protection.outlook.com (2603:10a6:298:1::64) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.7 via Frontend Transport; Wed, 16 Sep 2026 13:34:07 +0000 Received: by mail-wr2-x10.google.com with SMTP id ffacd0b85a97d-4843c3ee4cfso429229f8f.2 for ; Wed, 16 Sep 2026 06:34:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1789565647; x=1790170447; darn=virtuozzo.com; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=LzmcRXJlYIdmkNM1vrhRZp1y4Bde1EdxLMv446/Nev4=; b=RL4UKR5JwrdMHAgensqEsbC6W2RoU3GR/BcthMBR26mXITElM4fTlm7j2sDCD88zY0 mJe1vYn6CeHIq09JHxQxJ9YiFjLnxozwZRyITg6PHB+H/XY5viOeOZMJlptOzt2OzyPb 2TdUooGTOvxhb8n8WykGKVecDKvp7rG2eRmtYfQQKmpMFXyW1eh0BEvQ+xRe6isc8oek JUmjNmetThq246GWxagboxt6zvjRyVKR2sN2Ueefb67XezoH3N6xNDyWNb4KW/yNhX5w r+w2sYzHyRzJjKjhedaLli7Jraz5msxOYnZmjpu/OJAVtddmw+sD4dA/qBcKy5SR15mR opYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789565647; x=1790170447; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=LzmcRXJlYIdmkNM1vrhRZp1y4Bde1EdxLMv446/Nev4=; b=drmIAEOAY+ANPEItwXHwEVaU+TCAeLlKx1UIFTDrFaXfOYClEBa1SkHis0jFuzPB59 YVeHDUqLTfPkkVCN/0em835vpnMj/sEfcYe4kxMbWw0C+zExLOh0K53M68G/IhNNoona oZPLWx5NPs/HHyfsl8fGeBXkqu68/QZ3Rv9eOYY8Mf0bkXkKp+LG/HnonxUO06hI7Wv4 0wZ5E9ujYwxyZRrYyAMMdV7tWAk8niBMgfonqh9LGIsNiGRoXEDQ2sNpCMNvBsyYXUcs ntbRmpV2uC0BTH4DmLruGKdlsgvYcCrpfHHF+2hM0m33IQoGRiOCYR+PLrKn8KuMlAXp ZHsQ== X-Gm-Message-State: AFuF++mGlA8hmqmITHt+PRRNDFS1jydN+OaBa4tIrj/DixKwNB+AJ4gT Qd9cx6/AZw7jvGl+hnezuA8AsWLk9uSEirN3Csn3yk721HLQ2DTNViyIYZ67phfeEHMjHnoOIwi hfgjV564= X-Gm-Gg: AYBFou0hU/o36eyiEL7VSrNtYegRW23zJUKmlWfhJmJdnwvqtIt6+F75JxyC61J18B2 7zjLZTIU8CO/2F3VfYl2qjEImlEz88On+jIIjL2ghnHz5fHgeAeSdkVJs6V7NbDBLNrkGRF/Baa 8xxNtWHe/qs167WIdVYyhS0qz3vcf5vyS6MtIS3tWBATeKQz8lr52xuGzXfTn18CI001q7oUvlq hsgSlDQh/FljHOLALqdbRHB8KXQ1omdHMlaUe97e3ngn7VM8mXXzOOwCry9vlzx1E05eDTsEBaS My4XOUo7nzePVpTv4bNaAkNW57AO5yhrZ5CBYx3pCj96dZ/uO00d5OLd0Kewjuvgfbewoq2Mfkr 14k0PtEa3GItRsuksDCaoCnDwZDlYZnFyMwCKcS7szearVOfYR1QGr3rUNMNjXd9vB5X8mjb2Dy +hOouNpQ8CuAYmyw8HhaD1YbPdPtTsi42HFWj6+oNQhgyWM3jJCNUXP+33Iys2akt+dvw80j3VD oRz/BA= X-Received: by 2002:a05:600c:314a:b0:49c:fc6e:a3d5 with SMTP id 5b1f17b1804b1-49eb732cc7cmr30802935e9.20.1789565646714; Wed, 16 Sep 2026 06:34:06 -0700 (PDT) Return-Path: den@openvz.org Received: from athena.sw.ru ([2a06:5b06:b600:300:f56f:c51e:c53f:b1ce]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49e83da9a7csm76763235e9.11.2026.09.16.06.34.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Sep 2026 06:34:05 -0700 (PDT) From: "Denis V. Lunev" To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.0 06/12] oslib: report kernel stacks in qemu_thread_states() #VSTOR-144507 Date: Wed, 16 Sep 2026 15:33:45 +0200 Message-ID: <20260916133351.1640303-7-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260916133351.1640303-1-den@openvz.org> References: <20260916133351.1640303-1-den@openvz.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 1 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:1 X-MS-TrafficTypeDiagnostic: MI3PEPF0000847D:EE_|DU0PR08MB9107:EE_|DB3PEPF0000885F:EE_|GV2PR08MB11394:EE_|PAXPR08MB6942:EE_ X-MS-Office365-Filtering-Correlation-Id: d68e2ebc-9740-444a-a067-08df13f7351f X-MS-Exchange-AtpMessageProperties: SA|SL X-PERCEPTION-POINT-CUSTOM: vzpp X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|704161411799003|3072899012|43022699015|6059299003|12012899012|2092899012|82310400026|5063699009|6133799003|18002099003|19002099009|16102099003|57112099003|55112099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info-Original: =?utf-8?B?SnhjeE9Ca2Z6RDB3TG9scWhIYklkUlBNYVZ1RUhwTGwwbDNZeGJucmwxSnpO?= =?utf-8?B?aUMrNXkzZUkxOUpuUWZ5cnV3UXpLL3Z6TFFuWFBPVkI0TGlNeVR6UXRzWGRs?= =?utf-8?B?VjZNbUFRdU01WU1FREFVRE9jTGpTdHBNajlmYTdWWWVkNHdTd01QRWZlS0Ny?= =?utf-8?B?SG0xY1FIdzBxSG5hK041TUdTR1JDV2QxRUhLTGptR1VVczRKVU16cFVLa0lZ?= =?utf-8?B?QmhXeHV2UzZHSlFTWks4ZmlvaW5VQnI1NlVNU0JVSHBxWEJiNEd0dkh2aWV3?= =?utf-8?B?SlJqbzhKWGtNeHJ0ZHhWMVRxTGUvMFVRczdaZmFQc01nN1VMdkg5alV3KzNW?= =?utf-8?B?Z0Z2YlpQVzQ1dXFNc3RUZXA2VmtMZ3QrWDFQWFJiY0pTWWwxUTdwMnRxUjFm?= =?utf-8?B?ejY1cXVTNXNmL2JHNmpJZmdYcU55L1hJMFQyQjNNam9WaXVSR0VSNUoyZTBK?= =?utf-8?B?eVFNcjdBcmxBU0JDQ2RRcTZTNm53SGpDbWUrci9NdW5aUGxDTjRkNHJDbU1o?= =?utf-8?B?OUtJTDhQVk5ybVN6SENWc2krV29jZ2x4Rk85Njg1Y0pQdUVzMzV2TnZVYStj?= =?utf-8?B?VlZNbHAzamNYeGxIaTVhLzFqUWZGVnoycTlwd280VTFBV3NyNHFFNWxvVkVr?= =?utf-8?B?ZjIwaHR5VE9QMmRqcDJPT1B4WXI5TFY2d0E4dUJBVCtOSHc5YW0zZHNPbkhT?= =?utf-8?B?TlJobU8rdTd1NDNKdElHMUtSSXhRNkZUQ1RydUdMT29Cdys2a2FrMzZDL3dW?= =?utf-8?B?dVE0ZmpPdVh0dFF3d09ycm9DZjdnVTZtUmt3d1QvRU9Uckhyb3hKUzdiaXZR?= =?utf-8?B?bjQvMmlFcmdPRG9WOGZzZFpVVEpBbTFoNTlJdTBlaHo5eEp4NTE1MzRDNkRB?= =?utf-8?B?SmU2UWZsd3lMOGNCdTJEcWtrQVBtQk5lKzBxTjByRkpoVkwyY2VZaE9MdFB2?= =?utf-8?B?L0tUeUhWc2t3aEs4UVo3MS9XclEvSnVvWW5YWFV6R0Qva1NROUhvOXlTc1k0?= =?utf-8?B?UFAwcnRSOFpXYUhsNHJJTTlWMU8yTTI4aEVuaDh4bGdzUmMyRXpUYkhuOENi?= =?utf-8?B?RWVsM3RsdnU0STNVNVBQTGFLSDhIdmYwUlgyK1h3aVAyVFkwTzNxYlVVRjdB?= =?utf-8?B?VTFZWG1HUTBrdjkzUEFJODFndXVQQzhHYktNbCtUYWhZK3p0ZjNJRjBFUWdY?= =?utf-8?B?R2FQQkl5ejc5cjhPbUsyOGozd1F6RGw3dGRiUDFLeWtxOXNIcjd1OGhtU29V?= =?utf-8?B?ckxEa3FtT1lpTk9KNERNREFwcEtOamtrbmQ3eW43aFM4UkZ0ZXc0Nk5DVmpF?= =?utf-8?B?cEdwZ08wdzI4Q3U2cWh2bTVYNW1RSEI0MksvT2M0R3B5YVRYTnZwYmN4VmJ1?= =?utf-8?B?c2pad0ZlY2FOSktqU1VVZ3lrYkNmOG9ldHJxenllMlhBWU13QmtlZkZTTnlj?= =?utf-8?B?M0UrN2p4c0hOdE05eWlRTWUvRnJlUG1hUzAwc1p1RmxwcTlpM0V5OTZTWVVK?= =?utf-8?B?TkE3VHlPelRSeTVlQmdjcUdnbXVLd1l2bE9sTGxud21QdVBIdC9sUnFiLy83?= =?utf-8?B?WVFMbWx1U2lsU01jaGxIRS9pN3JYaEJDL0VneSttRnptTHpkNnZEaS9xb2ph?= =?utf-8?B?cmFPaTl5ODVIQVlyODc0Z1lDLzdRZWE3bmNXdjdTTXl0aFJkSkVSN2lkenFT?= =?utf-8?B?TmRvUXhUUUkrMXZlSEg4cXY4Nkd0UGt0cGg1VVp5dnhxZmxuTDFxcVhSVGVk?= =?utf-8?B?R3VaOXFhZEdZTlNFYXh0d1BkWFRwNGduYW9KT1FoS3hWejlURjZSbWJNaU9y?= =?utf-8?B?b2llYUxoUm5uK3hOb1F0T3h3VEI3WU92aXRGSHBKNkpabTFIdkZUOUlSZkwx?= =?utf-8?B?M01jeW9zU3JVZm1ZbVRRRzVHTVNTOW51WjE5Zkt1R1VKNk53ckFjQXNKYXJS?= =?utf-8?B?M0lQZHIxT1FBbjdsVFFOb1l0K2dlbiszZk92NzQzNGdXSE9jNnNWOWxkQU1t?= =?utf-8?B?b2pKUWRQRnY5UW52dHBrYXRRQUtlTStmejVmckRYSW8zK0RueVZneHpiM01i?= =?utf-8?B?SlVvamdaTWJ2L0g1c1lJK3VIbENlY0FaWVgyNmdBbkU0WE9lY29YNXp5SEI3?= =?utf-8?B?VFVINmlVbGZoMWI5RmlqVWZtQllVMVd2dFYwMkJYZzQrYldiMkRPM0djVTNQ?= =?utf-8?B?bzdnWmVYZUtJRWZmczhrY0tMeVlCNkwvcHNQVVZPbXBxQXpYVDErSFhWQmY1?= =?utf-8?B?RzVNQ0toVXpBMEh1dWFHU2VpVGUwd29zMW8vVmczK2gvWmRhNlFLQkRBQ2kw?= =?utf-8?B?a3pmcmlidHZuVmxsc3dEWDRaNDJhbHE0cG8vc0tOcjU4aTYwby9nRDQvZ0ND?= =?utf-8?B?T2NlKzduVHc4Q1B1aTY2c2NXU05ubzhCb2t2TStTVnlpQmwyS2RsbW5JZDN0?= =?utf-8?B?ZUpHMCt2eGVMRFVibGN0bGtKZHd0YjZvaVJyMWxCTFdTQ014bVBQSlJZSVNo?= =?utf-8?B?ZjVCREw4bGRmNmNIK3N0dFgzU3VoTUtQczhMYUl1aDBCcUw5WkFoaDF4dk5i?= =?utf-8?B?MmQ4S3VjN2k4MGFjSlpHVkxUa1h6enR5ekhuY0tNQnRFYWVKdDhrRHBpNmpD?= =?utf-8?B?YTBDODVpa1BPbW5mMUdQeDlOMXpER3R2MHlrRTN6N01neGNIbEVodEd2UTBN?= =?utf-8?B?R3YyWWpwSkN3Q25SdFhzNjB5Q2gxaHpVaHRvZXU3bXJBVHlBaXRhRzlpOGRJ?= =?utf-8?B?a0xpcDUwOUp4VjZDN1ZzUzlqVzBXcTVKSlZLaHMvRXdTbko2c2FNMzhxSS9R?= =?utf-8?Q?dhewxgVUSaHExLK3oky4OsUeRU9X02/bkjrAv4cMtN?= X-Forefront-Antispam-Report-Untrusted: CIP:2a00:1450:4864:30::10;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wr2-x10.google.com;PTR:mail-wr2-x10.google.com;CAT:NONE;SFS:(13230040)(704161411799003)(3072899012)(43022699015)(6059299003)(12012899012)(2092899012)(82310400026)(5063699009)(6133799003)(18002099003)(19002099009)(16102099003)(57112099003)(55112099003)(22082099003)(10067099003);DIR:INB; X-Auto-Response-Suppress: DR, OOF, AutoReply X-Exchange-RoutingPolicyChecked: 3iy86T8uLS7Lfbd7uLY4XVGTjJeB6SxhYHU/Xe87w4aEfgm/Mai6Ny8vBsPnkDKkm/wvQRP/5zEd8Pdt+4rxGNlggYNiN0JH2Weu/aCca3K43/5aUCbNAPmPRg0e/wxlybYyCjyYOGOhpE+TofnZrZ9ah9g/9T+WwoTUcQg3h/mThM/lBU6+heRKcLSqTSVh7zRB3RFUBEQKIE7J+jAJYt+wkUcR3n24s1hW4NkFIP0BRS0sI2Zm3IA5MuErnS0mWGpAJuQCS2HjvIhpXh9TBTd4GjuS0byULIKSl0q0/qDP8atqgn1rfTl2W9nx70/4LDh/7KoT+wH+IjAynrrfew== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9107 X-MS-Exchange-Organization-ExpirationStartTime: 16 Sep 2026 13:34:17.9014 (UTC) X-MS-Exchange-Organization-ExpirationStartTimeReason: OriginalSubmit X-MS-Exchange-Organization-ExpirationInterval: 1:00:00:00.0000000 X-MS-Exchange-Organization-ExpirationIntervalReason: OriginalSubmit X-MS-Exchange-Organization-Network-Message-Id: d68e2ebc-9740-444a-a067-08df13f7351f X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB3PEPF0000885F.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Exchange-Organization-AuthSource: DB3PEPF0000885F.eurprd02.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id-Prvs: e4e0b815-71dd-40e9-dca5-08df13f72ee7 X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0;ARA:13230040|704161411799003|43022699015|35042699022|2092899012|12012899012|3072899012|82310400026|6059299003|10067099003|56012099006|5063699009|19002099009|5133699003|6133799003|18003699003|55112099003|16102099003|22082099003; X-Forefront-Antispam-Report: CIP:99.81.216.78;CTRY:IE;LANG:en;SCL:-1;SRV:;IPV:CAL;SFV:SKN;H:nat.eu.perception-point.io;PTR:nat2.eu.perception-point.io;CAT:NONE;SFS:(13230040)(704161411799003)(43022699015)(35042699022)(2092899012)(12012899012)(3072899012)(82310400026)(6059299003)(10067099003)(56012099006)(5063699009)(19002099009)(5133699003)(6133799003)(18003699003)(55112099003)(16102099003)(22082099003);DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2026 13:34:17.8140 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d68e2ebc-9740-444a-a067-08df13f7351f X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: DB3PEPF0000885F.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB11394 X-MS-Exchange-Transport-EndToEndLatency: 00:00:05.0600606 X-MS-Exchange-Processed-By-BccFoldering: 15.21.0451.004 X-Microsoft-Antispam-Mailbox-Delivery: ucf:0;jmr:0;auth:0;dest:I;ENG:(910005)(944506478)(944626604)(920097)(930201)(20251009189)(140003); X-Microsoft-Antispam-Message-Info: =?utf-8?B?R1U4RmhiRkZDeHUyRWpTVjI5TXViNm10K0c3d3FiN1J3T0RYanB5endLR1hU?= =?utf-8?B?M1JvYXhRR2EvanVOSWg5V3h0Z2cxRStwTDY3dytaVkdUQVlIVzE2VHdHYTNj?= =?utf-8?B?cDl1WWRpdWNJNTR5NGV6MlFVMEhBcFk1NFRYRGEyOXpZbm1PaDBxTUVleU5Q?= =?utf-8?B?WGJ5YzBHTjRsbStDYzV2dG5ydVNVTUR3NnByaGRSVnJZUUZ2S0tLKzdhM2xs?= =?utf-8?B?aVRhVWs4NEpGcVA0ZGNRa3ZiT3BUMHNhUTQ2V1RhUkRFWkRlQldlZCtCYTEy?= =?utf-8?B?d3NmSFplMElnbzE2cVZ1cUhHcDhRQXkwa1BtbWJ4ODRiSVF1RUdudXJ1R1A4?= =?utf-8?B?UFpmRUNCTXBseDVha0JvOEtWY2d6emtFQ2U5RHUzc0ZrK1dOOWprd25CcmRQ?= =?utf-8?B?NkpYakFuK3FQYjc4czg2NmtBcVJERHpPaVlRd1JzZS9wYm1vdHYvUlBIZkw0?= =?utf-8?B?SjNpUEM2cW5Nam42a0lrV2RNMXFvSjloNmdSSTI3bFRNZkhaQmZpUEE2Y29k?= =?utf-8?B?d005THJaOFd5ajFTRXprNVBFQUIrYlovZE1VaWljczlpaUEraTY3OXd4MVgz?= =?utf-8?B?b1JOK0NwUFkvcy9ibnlJM1gxRTF5UTA4MDBjUEJXelJYWGNnL3pjdnZVWlUw?= =?utf-8?B?UThJWCtNckRiK1ZETGJxN2d5Q1RkU1ZSdVdXN0cwSzhwZXJRajhSRTVQR3ow?= =?utf-8?B?Q2k0UFY3dGc3R0xoaHB0cWlaeVpTbkFPM0JDWk5CYVRPRjc2RjRQSnFFNExL?= =?utf-8?B?WFZyS0VlTWpldzVhalV2S1VwVktGWGZPTDV3WlRGb2RlNHM4MjloSEdHUTVU?= =?utf-8?B?Rmxnc3NlamcvNFE5RnM5dTlXdHVYL253TWkyR2pMZzhtNHlZeW5ISTg0ZStH?= =?utf-8?B?eG5wdUIwUFdyN1J2dXVTTjd6anQxdFJ6aS81akZRMTA4c0hGZ25iYndZS0Jy?= =?utf-8?B?OXRTQzBMUVlOS05pVVlsTHQya3dsL0lsQlgyeEl1dmFNQklaSEJnbVVCUk85?= =?utf-8?B?eG1WajhETGtaeVJWbFNROTZET0F0bThybGlvZ2owSXpTeWFOeHJQemxka0dl?= =?utf-8?B?bzZ4dXVSRXV2cE9ud0loaWlqc3ZRNGNqYmJPU2hDTWR1RXdXQ3VQeER6eWRa?= =?utf-8?B?QXMzbHBncEljb3FiOHp3OG5lVVAxWEtUT2REaWdqS2FXS1NudEN1VFRBWGg0?= =?utf-8?B?ekkzQTVjWTBIVjl5ZHk5WjZIYjRzSGZoUjRqc2NpQVUzUUZsS2FwRlorQmYx?= =?utf-8?B?SUJrSEtibUZVUTVpVk5WS1NYZWZsVFVYK09mVlRpbDk1TlV1LzAyaUljRDhU?= =?utf-8?B?WVZaNC9zUTY3R2M0VUVwODlZQUZPaWRoWGNTMjJsckk1c3ZQRFAyUTFiS2g5?= =?utf-8?B?Yng0cUVjLzRpV3dJaHNMbUhCUnk1dWJkMUtrTlpaZDE4NjlyTGhlczRjZnd5?= =?utf-8?B?enBHYkZjWDZ3c08vQ2RYdkNGNnEycjFlM0tUVXcyd01Vam9RdUZoVGNWMFlj?= =?utf-8?B?NU85ZnBvMnZVVjhJYkVrY1pzTy9PVWV1TGZSbWJvWDY4L1NQTzZkUFdWVXpG?= =?utf-8?B?ZXNlc1dSN2laUTNqUEl2QXV1WDZsWFA0T3B4MWkyelFobllDVFQwWldxS2Yr?= =?utf-8?B?YVhBb1hFQS90azZaTVcwNWg4ZEtFakd2ZVI3UzlYdjlCT1lkbFgrcjZaTnhq?= =?utf-8?B?U2xrNmk5K0tLMVdNcE9McDVGYUZXZXFUdTlicHVrOEpPL1FwSVFsMGwzbU8v?= =?utf-8?B?LzFyOTh4a3FqbmRadk9HS04xZ0VVQXF0d1prem9kWEF4aGJDcy82U0Y1Tmg1?= =?utf-8?B?NHM1OGhvM29QK1ZvdWp1YlBWTW1ZWnA4MnIrUWRiK0Q0Q0FkSUdiY0lBdk1j?= =?utf-8?B?QkNDWFBuL1hwU1lybEI0cXpHNml5RE1jandtejRqWk8zWjBwRjRVTHNmUHFq?= =?utf-8?B?blpKTlNCd3dyKysvNXNWbXBKako4V2VnMnJHbkhId1VreGJULzlXVE5BWExP?= =?utf-8?B?SFZSY2ZLMERiejFZeUxmWG5NZXlmM004bFhGeEZVMEtJKzc5U1FoajdteW0v?= =?utf-8?B?TkhIQ3VDWWU2dDFRTmtXckhmSDhETXpHMlIvWmo3c1l6a0VNVHJ2ZUVNbkdp?= =?utf-8?B?bjA4MVJiVTE4am9kNnpsUzNDMGJmQkkvQ2NPenlCWnhuVVdZNEtMT042QW4r?= =?utf-8?B?dEhMUDE5Rnl3NjdNbVkzQ1A2elBVQTRhWVhPL2xjY2ZubEFQL0dNem9jVEh1?= =?utf-8?B?WTllbWtDNjExMlJmakkreWUybUdFcVhqeU1iTFJtQ1AwOHEwYTdXSEUwVXh0?= =?utf-8?B?TCtjNzRRdnJiVXBrMXhEVlBuSWxqQU1mK2Vsa2RQd2tyenFmWVpKOTFXWEps?= =?utf-8?B?bWlidWdKUU1NSWU1RTJOSEVVd1BBUkM2K3hUeUxWbjJia25rVnJoR25DT3o0?= =?utf-8?B?YytKNE9NVVZjSStseHYvME9UK0JNZE8vbUFxczFyUkdjK2tKVkpCa0cvQ3NL?= =?utf-8?B?dmpUOFF2d09MOGp3SGxXNFd5MnJKUWFnV01pME1zSEU4SEEyaEl3Rk80aHJG?= =?utf-8?B?bUhTa2R1SHRLN1JSM1RYZ2VkMzdyQTlNeGRkc2VNQ0tZYXB4TjM2Wmxnbklz?= =?utf-8?B?TC8zOFRNL3pOOGRENTIzRHg2ZUtxVFJKd2xJSnVPM24wVGJ4dStlSDBoZGhn?= =?utf-8?B?R0dlUDZtSzJVUis0ZGY5RURSN29taXB3NElBWEhzK0xJOTJod3NraFJWeWM5?= =?utf-8?B?YXB1SHl4WVlVS0N5Uk1kYkxhZWwxNG5JYUJ3a0U0QXhXUE5MTUhETnJwcFp2?= =?utf-8?B?NVJKWEtFc0ZmL0Z1bE1zb1huWDBGQTAwaWE3Vmtpdkk3VklzMlRjMTNycm02?= =?utf-8?B?cFcySFR5Zk1tTzJZd1VPTXlFbE9sVlM5aXo4RmtyZzJYdktkOTltYXlONmpr?= =?utf-8?B?ekVVbTYvK2lBYTBmUVlESk5YYUpHaURFNDRyazN1VFJaZURKdHNwV2NwNFlJ?= =?utf-8?B?eFNYSVBCV3BIdCtQVXA3c3NuTjJXWnFtakFiNFJiUUlhMVhRS25QTVpYU0Za?= =?utf-8?B?TTY4bUFOekUwQS95dkRjQktJYXR1N29laFRIVnJ1ODhwTFFaTVZTMWJJaXhE?= =?utf-8?B?cmM0elgranZMNmZHMGRpVFdtU2hTN0JOMGUzeHkwNnFUK1I2eXY3aHhMdG9S?= =?utf-8?B?ajloeVVVOVZHSHp2OVJ1MHJoSWZybTl0c202Q3R1ODZCejZqeWlxREZxY2d1?= =?utf-8?B?UmVnUFBHWWR4K2VkSEN3S2Q5bk5OUG91WlF0TWMzaDk2SGxpZkdSRmZmSExO?= =?utf-8?B?TkJqUmk2MzdqKzgxcUdPRjhkckZ5R3AxaHkzeVUxeHU4RlRpZVBQUkxaNnY0?= =?utf-8?B?Q3JxWkwxaE9qQ21KSWtZczRvNnFKRW50VytiNTRtVWtoV0FvcC84akRFYnND?= =?utf-8?B?VjRIVGRPNWRQL1hkR1hwdnpRNytBNWRCdEt1bE5yS0wzM09kczNpZGlLWnlZ?= =?utf-8?B?SkRBMjFoRTFiSDBZUUlZTVdKNkl5T1Y1VDZjU2N5R1gvT1BVODB2Mjl0Nlpu?= =?utf-8?B?dSs2dXF2YnQ2YVR2OTF2ekFIanVST3VSOGNHekR1bHlyc0Y2bzJFVkRZNk1u?= =?utf-8?Q?wXeeGqSgNpoAJFxVN2PYUiYiGRGU+NZD/?= MIME-Version: 1.0 List-Id: From: Denis V. Lunev A wait channel names the primitive a thread is parked on but not the path that got it there, and for a thread wedged in a syscall that path is the answer. Read /proc/tid/stack when the report is built, and keep the wait channel for when it cannot be. The file is restricted to CAP_SYS_ADMIN in the init namespace, so ask once rather than failing per thread, and say why the report came back thinner. Skip a running thread, which has no settled stack to unwind, and cap the frames, because the deep end of a stack is rarely the part that explains the hang. Cc: Paolo Bonzini Cc: Richard Henderson Cc: Philippe Mathieu-Daudé Cc: Zhao Liu Signed-off-by: Denis V. Lunev --- include/qemu/osdep.h | 4 ++-- util/oslib-posix.c | 52 +++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h index d3e85c606f0..e118f12693b 100644 --- a/include/qemu/osdep.h +++ b/include/qemu/osdep.h @@ -649,8 +649,8 @@ bool qemu_debugger_attached(void); * * Returns a newly allocated, newline terminated description of every thread * in this process apart from the caller: its id, name, scheduler state and - * the wait channel it is parked on, or NULL on a host that cannot report any - * of that. + * kernel stack, or NULL on a host that cannot report any of that. Where the + * kernel stack is privileged the description falls back to a wait channel. */ char *qemu_thread_states(void); diff --git a/util/oslib-posix.c b/util/oslib-posix.c index c4856f8cba5..d5aa7d398f1 100644 --- a/util/oslib-posix.c +++ b/util/oslib-posix.c @@ -145,13 +145,39 @@ static char *read_task_file(const char *tid, const char *name) return buf; } +#define THREAD_STACK_FRAMES 12 + +/* + * /proc/tid/stack is restricted to CAP_SYS_ADMIN in the init namespace, so + * ask once instead of failing per thread, and say why the report is thinner. + */ +static bool thread_stacks_readable(void) +{ + static int readable = -1; + g_autofree char *path = NULL; + g_autofree char *buf = NULL; + + if (readable >= 0) { + return readable; + } + path = g_strdup_printf("/proc/self/task/%d/stack", qemu_get_thread_id()); + readable = g_file_get_contents(path, &buf, NULL, NULL); + if (!readable) { + warn_report("kernel stacks need CAP_SYS_ADMIN, falling back to wchan"); + } + return readable; +} + static void append_thread_state(GString *out, const char *tid) { g_autofree char *comm = read_task_file(tid, "comm"); g_autofree char *stat = NULL; + g_autofree char *stack = NULL; g_autofree char *wchan = NULL; + g_auto(GStrv) lines = NULL; char state = '?'; char *rparen; + int i; if (!comm) { return; @@ -168,9 +194,26 @@ static void append_thread_state(GString *out, const char *tid) } g_string_append_printf(out, " %-7s %-16s %c\n", tid, comm, state); - wchan = read_task_file(tid, "wchan"); - if (wchan && wchan[0]) { - g_string_append_printf(out, " wchan %s\n", wchan); + /* A running thread has no settled kernel stack to unwind */ + if (state != 'R' && thread_stacks_readable()) { + stack = read_task_file(tid, "stack"); + } + if (!stack) { + wchan = read_task_file(tid, "wchan"); + if (wchan && wchan[0]) { + g_string_append_printf(out, " wchan %s\n", wchan); + } + return; + } + + lines = g_strsplit(stack, "\n", 0); + for (i = 0; i < THREAD_STACK_FRAMES && lines[i]; i++) { + if (lines[i][0]) { + g_string_append_printf(out, " %s\n", lines[i]); + } + } + if (lines[i]) { + g_string_append(out, " ...\n"); } } @@ -183,6 +226,9 @@ char *qemu_thread_states(void) if (!dir) { return NULL; } + /* Emit the permission notice ahead of the listing, not inside it */ + thread_stacks_readable(); + out = g_string_new(NULL); while ((tid = g_dir_read_name(dir))) { if (atoi(tid) != qemu_get_thread_id()) { -- 2.53.0