From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Fri, 06 Mar 2026 17:16:14 +0100 X-Sieve: CMU Sieve 2.4 Received: from mail-pl1-f184.google.com (mail-pl1-f184.google.com [209.85.214.184]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 626GGCEx028117 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 6 Mar 2026 17:16:13 +0100 Received: by mail-pl1-f184.google.com with SMTP id d9443c01a7336-2ae5031c6c5sf257793545ad.3 for ; Fri, 06 Mar 2026 08:16:13 -0800 (PST) ARC-Seal: i=3; a=rsa-sha256; t=1772813766; cv=pass; d=google.com; s=arc-20240605; b=DKWaCV1o7qOKFFrlkthIqQmmqU0M4FHULt1S/3JkadJN1qxXN+sizV4mdNNZCW0uai L8FbQZssBK99IZx7FFxnug/t1zQyYBR1ry0limAOkMsR6i/s0pZtJzmOu/TQfsNeQVxi xh1nDTf6PVozegb7UcDUiX543EjVziXFUwQVYFz8oc5gIAUlfGEE+TLY/hCTmNm6X4nt 0AFAKK4GtU5XPaxmHoUmUTBhnuA8AjSKhvShBpFCXtkpGsp+gINOK7JhjWeGE0wRDUnR 8Txcr5iNTEzl/ef6gTBS5KfNxcLGv3Z4wqDsxMivEZCKsOmbcKlGZdWqI88Ug4tYVHtF e/Dg== ARC-Message-Signature: i=3; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature; bh=XUCFQNWttC77jaJqwLcKyE//oxOTO21OIIkXY75sGYQ=; fh=/N8LdIXY14r47blXU92oouEldkjDFDoEO3hKplQEUgw=; b=YxsZ1yL47JQPRlQNJ2hr65qBoNKKrFw6PkMsqICHqLFzZOuXl90OPwPNBGkpRA5XpE 33s1ydUVwg2Ol5aWjfsfDO/JNJPVdonxnh4BCXot1ZhyN7UY8oNRSr29YkzAUMaQq2VV Pi7FxQUU6LiUJPLLBWnJfSaXkMSzoDsrC57+Y7kct6LBYFOchR8mXmoc4ieIPncHIp91 NjDkn6OdDk5ShnM2+IYdaqaITuk4r/Scdb264pbmmrgLEjKTs0Q2kJ6pmtED53q5DvxG 9L0fN3h06VmsH27sOEkY6r+OR6Uc4VDWa/mt1n065WtuvsqZ3hmV7ylW88zQwBoN13OF ikJA==; darn=ilbers.de ARC-Authentication-Results: i=3; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=IuHqzzAc; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1772813766; x=1773418566; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=XUCFQNWttC77jaJqwLcKyE//oxOTO21OIIkXY75sGYQ=; b=JtNvUQUz74XQHsKtGTNwa3otCFFZSWgsodYfJklG5WhGNbI+Ze1BYZjtMFR804nycx 5NeWg3wRuDklu6cUQ05Gu3dA6Kwo3/pyChqKPycrLtOFf9r10tPDHLa1DrMrkP58TueS B+fe1/+5NXqvGYkUP+lHNAqpPKwd9BK1Jyk6MWFvreji/EBVXZbaKoX/y7dka+ajxMpH z5HGD3wE7NtYclomiv40+JjStdp6N/chQaduBQjW7DIfU+EmN0LfYjmzXgb1pPYW9XNe K/b8D/bDNnkFQIofNu+yMxjJmxpBWBovZCb9QCDVqj/CwxudJW3aospLCMhoTXo1GPQj LnVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772813766; x=1773418566; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=XUCFQNWttC77jaJqwLcKyE//oxOTO21OIIkXY75sGYQ=; b=kzGQ7YXu75PvJbDlk1gajliSLHrRTaAXKqzCAHjjFDsVmXcXMh3nsDnReWPxtr7NmW L/rE4ELgQtFHh3JWYy81+8g/F9LPgBEQjPcc7+ySvniGkxvahwwWjJJ41YrsIUzmQwVR RPWu5ki7WLvfOE7hkSaFy95q7z3/a7S/N81iIoTKkkXg7JKTHzQnJXkcO0y4vCbuz7n9 Vi3PLNhm+hgUY+ZgZyLkjXzsOnb79SdjvobMwuuXM9AsamxQsxbjfYnBpqWG1JEkkIcn szbvsfH+HOg9UBqR7RnYX9zpNW9HHhl7ceOYPhGAqlKv3m00yE9geNDs3wD1nQ8d9SFU 9uXw== X-Forwarded-Encrypted: i=3; AJvYcCWIUlmfBjGcN5rJ0LkH3Hecdovyf3ohlpx/3JmG4GO27X3/bK9Xhoc/Jyboynb/Ghz7r/uM@ilbers.de X-Gm-Message-State: AOJu0Yx6yVucNE7SgXXOnLnZENjxrVuz8orMj8J7/vV6M3smcFsoy3WJ PISlNWUIQPKpkYUvLkrMLuf786GVyVFqxuNDmZOzTM4aQnit1SbRKOks X-Received: by 2002:a17:903:2384:b0:2ae:7f24:2378 with SMTP id d9443c01a7336-2ae8245bc0fmr30198685ad.38.1772813765655; Fri, 06 Mar 2026 08:16:05 -0800 (PST) X-BeenThere: isar-users@googlegroups.com; h="AV1CL+GiZ8EKgBMrXej7oxlbWWRHNs9FP2KHhqIWDZWOjg/pFg==" Received: by 2002:a17:902:f60e:b0:2ae:4932:32da with SMTP id d9443c01a7336-2ae72ac5bfcls3626475ad.1.-pod-prod-03-us; Fri, 06 Mar 2026 08:16:04 -0800 (PST) X-Received: by 2002:a17:903:2c04:b0:2ae:4fc2:d951 with SMTP id d9443c01a7336-2ae8243b629mr28789035ad.27.1772813763991; Fri, 06 Mar 2026 08:16:03 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1772813763; cv=pass; d=google.com; s=arc-20240605; b=OKdXPwOqzd8kNTJcvk4qZYbB9d5Tb//fAWwbap8bqvGtGRsIkwrfjNb6YSt309hJTi Z/RPni1lpj4cB3l94Y2cP85g1ZXTq//02XYivC7xCZqEH6GRhu6fUdYvunx7z6jjW/Zy KSB83kyGGSOkZCKOJwAe/mYkPKGo9Z5o99jCFnS8w1+VDgvlNEN4BDwcaHVR5Z7Zb1rM lP4RNhTC+RH0s6oYikJTYGSjUErPUqJVwi6g+Gb7uRcFwAOhwmGtscddCsJbDYO7kuqd tDMj+B/3iiJXBCcqrMj/u5M5dA+sekO00uAaYhYcgRFefELp0QfWmjEXKZkcIYcYK0by 4V1w== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=mime-version:content-transfer-encoding:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=vcywICy2fx3sqjjOLYyH40Asq+/jNmBlhWOPPiWfDAs=; fh=dMJRa0bn5D4IlmBEka5tvLJScu3Adha8QEPpexkSJrs=; b=YJdU9keEYHPrYjOncG0bbyKpGGeMrya/q3y57At+3RhJeZ44Lai1zR51STuGc7iVYs cuIrk3EDKYMlhjDVUiHfyOo2gI6ciwCJ91/VLcZfuj7xY5SJXOwGRYKrIsNHKuRXyAZP roseJ3KaYC+ogsURQZWPU59TjUuBFGymQ2bMG0TrpipQkxwOQ15+e7xJGcP4I/PuZZ4q 0sDpih0LNgV0moAZQtlf1u2wAo51+2xLmIoziuMuQwAAEP789tGGh2IcnMkhiCLv5mnc OrVnJ1ZGfKxOjPrgT9TcEOkz0kMGdE0Yte1wRx4tUneDW4e6WJ7lg2Aul9M3pDtwIcFf EfBA==; dara=google.com ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=IuHqzzAc; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c201::3]) by gmr-mx.google.com with ESMTPS id d9443c01a7336-2ae83f39cdcsi414345ad.4.2026.03.06.08.16.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 08:16:03 -0800 (PST) Received-SPF: pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) client-ip=2a01:111:f403:c201::3; ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=e4LVeLdKrn/iHYCRKw5sgo4swV+xKqVnM4ZJj/VUxm8/Tzctd5+HdEtVxECUPlUtX2Q7N0JhcGmVrJXplHKxhyIvUT5+kyaQpBKZA0EybuuPOVFGGVa827vywrDJauUKyxtFMzFs5Wgx4FninzAXjHN34a6zn6NwAL5w2XfcN2TaruBlzV3FDUklxVjhKFovKwmNU8b3sdvPhYQm7gywV6iKbsu/zjdl4GkfP+95UkjSnfPhOoYwTvJWuqxSWaq+CejgaQimO4xtVKZNFM6AsmlyYHYIE6Z+Wdb1pd04Df/l+sKMsbQf7yEvAzPQLZJPUnm3aC1/1siZ2VLiYMWdBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=vcywICy2fx3sqjjOLYyH40Asq+/jNmBlhWOPPiWfDAs=; b=DggdGnfbDDKYWwVYdque8drmv0XOrkxkA/fERnWy56XRywkTxkKAjtC0CV2wVrkG+d6RlTvil59r8u62dqGwQrWunsJPJMXTtidgGAZL/T9FDtLyt1W5RjhiwapPhWyaG4J6cZLTZAfSMeCLPmQnbKYK6+RILBFHovHuqxmhIVdb9j5u3ZyaCqvhwQ9f7NswcQH0c1nOZljbKfdteiVUifLmlkw9N4r2ktK/LUOOgdvxFiLQKQxJZQxrtzuUL1HfxikveYgMjLJBgLI9EKMAWmkbJCDKEbig0ZcX7pZwtm2cfHRBmZf9BmsapCDL4QlCcbQT6VBYoIx9Y9KgPBsYYg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=siemens.com; dmarc=pass action=none header.from=siemens.com; dkim=pass header.d=siemens.com; arc=none Received: from AS2PR10MB6823.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5f6::12) by DB4PR10MB6238.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:382::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9678.19; Fri, 6 Mar 2026 16:16:00 +0000 Received: from AS2PR10MB6823.EURPRD10.PROD.OUTLOOK.COM ([fe80::349d:731e:a849:b4a5]) by AS2PR10MB6823.EURPRD10.PROD.OUTLOOK.COM ([fe80::349d:731e:a849:b4a5%6]) with mapi id 15.20.9678.017; Fri, 6 Mar 2026 16:16:00 +0000 From: "'Felix Moessbauer' via isar-users" To: isar-users@googlegroups.com Cc: wzh@ilbers.de, jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH v2 2/2] bitbake: Remove custom exception backtrace formatting Date: Fri, 6 Mar 2026 17:15:48 +0100 Message-ID: <20260306161548.1102004-3-felix.moessbauer@siemens.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260306161548.1102004-1-felix.moessbauer@siemens.com> References: <20260306161548.1102004-1-felix.moessbauer@siemens.com> Content-Type: text/plain; charset="UTF-8" X-ClientProxiedBy: FR0P281CA0221.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ac::17) To AS2PR10MB6823.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5f6::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS2PR10MB6823:EE_|DB4PR10MB6238:EE_ X-MS-Office365-Filtering-Correlation-Id: ac272984-3da1-46c6-87a3-08de7b9ba80c X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|10070799003|1800799024|366016; X-Microsoft-Antispam-Message-Info: wCjJxRb0tvS5VzoKjlnRCfCBgl1HCp3eXUbJdeAUZtdvJ/PHhr6b9X79CVMWMXh2iqQAB1IJZBpgnk1T6pItdI5KvpiCdaQEYCMY03v40bJHib85TYIXgFa8JxNECdn4dBLK7k9cLX0HNdVoBN57RVQ1taHRVQNhpQs9nyxtFYWTudRnfmtwexY6S3CfMzBJjJCO45iYukUjlUYYGv67M6eKWLG0xereLLoMGbIlu5uL08kCrouUEPzBqNPKambby+fbcye+qLCHOG2qcIIlSadCC6Ne8KPKbL3099ezH0VqH1TGEPIX/9ZuIqO+Vt8faksjdu/9iygxmTN6fxTNJ+sq78Ro8kx5F+W5gKndhJm/7h7P/XEWdsJ+HQ8ewuJd1I6cWZX7Ah4OHObixLmu8/K1w+xUGTI5kMaI/yYATP0Iz1+bi2zJ4v81ffYf2OOh4pH5prJgR3DedMsZrvhXzM1KfrdBKqIBmnodIVNIKwJjqQ7UP+jvZyQcVZLyfJIwElIQvChBn8LSq2GxtvsUZvk8uVkokDN840wAFaJHV07yV4BwwM9Hul3pqeCKF89DCfAd2747eERAD3Jj4w48xUznNMbAY3FVb252xEBJEaxZT30dOsq21G0sCN2RggmoulvoeLk1qZLjHtfmtTuwIPODsBmEKwiho0Uwx4k+mGnpTfa+QFQKtBiv/OCI/Mr4cllDiSLSdKXxUhl4TJuPEBIZHSf2dr9HHd1GuQ02rSk= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS2PR10MB6823.EURPRD10.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(1800799024)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?x60Y6IDm7N6kuZj2786qqBwk9E98z55DHGX4rnUv2trQA9K2CGYRuaZgtXIM?= =?us-ascii?Q?Nt5lLb2AH72Ks6b+KcbdQN2rFnmvoxkZo6fNptnEMgjGTWZPgN4rV+7uGgpj?= =?us-ascii?Q?WuDaKZN4u3Dlo63d62bSvPdiia5CnixTwFgxr3K7OPLXxdwCchVYBwOjNrOh?= =?us-ascii?Q?nOzk7DoR3s6HmZUCa3w3h7s6USDzyzYL0rli+WnbCfaqUNRCdOj9Z/1oLZxM?= =?us-ascii?Q?abhWQzuqjV0kXw1nV2UjRY6GB9Ewqa1ZFXcxg4aPhUvmlAvbnkv2Ys22FwPt?= =?us-ascii?Q?H7bVjQkkjczPqGtt7eXktctG/zcufQUppeyRTOdopJpWVRXNA79vFYqaLqMV?= =?us-ascii?Q?Zc8Eh2PM7zJytK/rWCZqXB9v4h1naKHAC0dcg1gaZmjHLKuNBd2LPO+l2CBA?= =?us-ascii?Q?okAuSvYH1YlaED64xkOi+npf6LA47lv4w/nhSRLgAq/uHJj57NUfZeT7Pt9r?= =?us-ascii?Q?W2mGQCVpbNqOHyjsAaadQA0WGNOvrWQcrx5pz+lucuty1ouzHDm3CJfD1NL2?= =?us-ascii?Q?1ucZvFVBeKgggj/Sx8OgoczM2ytq3yilrxEYtFDZJii4KyX6kvrk09V5dTyH?= =?us-ascii?Q?Ft1SSQcEjovjXy09T0psmOmETu7Ge4jJC7wC1SBwRucyN0jGG/QlUNaU+npb?= =?us-ascii?Q?IlssKOY+E6v0NX4QXyyAICAwEPf/ar18wyncGjMVExj+YbhGrwqa4CI+TWBb?= =?us-ascii?Q?HxQW1XuIQTZm+dnaFA8gZmjBZqtZUT7ohjgLnau8K0OWdQqJBQrxqsP2cli7?= =?us-ascii?Q?FBCGnrj+lARYMrbhsGy4P5j9BjpWpzME8JthVJCYYPCdU4DdzUbKHEJMHZV2?= =?us-ascii?Q?HZTK4LGU7fMc+FHHiltyr5vkvxGBfzzTsTpTT42mJNNVMQXh6QNGwWphOg7S?= =?us-ascii?Q?RsY3CZNx/geV6eGZLg2Bvs7RhhpXSbZY3K+RyD6rhcy9Y+4dEpWChq9R58sY?= =?us-ascii?Q?XgLvCvEuvwN1dZad5uHA5aYR8PdbgkJ9ed6AXC1qT1BUZ3K6cqE+Zi4/VWKR?= =?us-ascii?Q?gG8VrIJWSlDha+jThO1ZXdHtROEeibLhLTVA8yP+d2IzeFlaZ4TU+deXRoKI?= =?us-ascii?Q?zfq8ptTlup5Bmz3kyj+5KJ4P/GsUttEVmJKTyLJJr9qLk2zO3/XjpwbQiG3r?= =?us-ascii?Q?s6AepK08XkqapDmFgaEm19mAtd7EqtHYNX8J8g0B/n1xxsC1JnafXZIK+5uM?= =?us-ascii?Q?HXh4KHWdIigAiwfGT0YIVycC4eG6H1hbm7K60tc5SRJavk0cr681tbZkbOuQ?= =?us-ascii?Q?dlboZK6YqcACzjC0KAA2g9pHeOffFJAP6CrCLR8EJNBy/QHf0+O/fubUjHqA?= =?us-ascii?Q?Pii/1gN3YWbd695mGzfMTZpYMmE4MsOrQmkbv7Zxll1vyANE8H2SL2KiXFIk?= =?us-ascii?Q?dgvSGQ9RxQE+d4RC54Lb5H9dJaNuQI2dufgEbV57Np2gKDT4rZOLTeonXeL8?= =?us-ascii?Q?SJoHo+jihM/2iOs+NJaBAMFENuxuIf2LIuPO32CoQA8lXRdJomM/eSlJC1Er?= =?us-ascii?Q?9lYMjHNbRVC1KHhJFQQl2pyuaw5UNl8E1E0Rsd5TPbT3gURKxVDVJFrve8i+?= =?us-ascii?Q?iprCExfNSJlKekC9E9IcfpnaUrL5he/UHDzP1MR0oTs0mRqlCpN2EuwBy/7z?= =?us-ascii?Q?g80n9XNHZG7xWk+M1hpdcB+gB7r+YKcYlvzdOxfScCq/mSYlEXutwIVJ4LkX?= =?us-ascii?Q?2bvCWb/Elrgtsfc7eNeHDjr0HRWcuhIZUTmTXbgtu5fn3fGYUxhSrrXu84EQ?= =?us-ascii?Q?O/BUBzd6I8SVcCe5MF2hkPpskfbTb+YQsie6PStPEyD5UFPhZ1vppnyJP6iH?= X-MS-Exchange-AntiSpam-MessageData-1: XanRS34aWZMuSawQUuRg9VNSZJNKnVEmmkQ= X-OriginatorOrg: siemens.com X-MS-Exchange-CrossTenant-Network-Message-Id: ac272984-3da1-46c6-87a3-08de7b9ba80c X-MS-Exchange-CrossTenant-AuthSource: AS2PR10MB6823.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2026 16:16:00.4201 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 38ae3bcd-9579-4fd4-adda-b42e1495d55a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: U848+kBAkhcplzqOgBRv09QwqL5ISfuZb9hNdxOnDFk5psnx803/CBWSLRcPEHwvbsGRdxshl8DyPfPysRbsgJTeCkNmMPfciPyZ7no9Cqo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR10MB6238 X-Original-Sender: felix.moessbauer@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=selector2 header.b=IuHqzzAc; arc=pass (i=1 spf=pass spfdomain=siemens.com dkim=pass dkdomain=siemens.com dmarc=pass fromdomain=siemens.com); spf=pass (google.com: domain of felix.moessbauer@siemens.com designates 2a01:111:f403:c201::3 as permitted sender) smtp.mailfrom=felix.moessbauer@siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Felix Moessbauer Reply-To: Felix Moessbauer Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_DNSWL_BLOCKED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: QVCyS0GCxYqO Backport of upstream bitbake patch c25e7ed128b9fd5b53d28d678238e2f3af52ef8b. Removes the code in bitbake to show custom backtrace formatting for exceptions. In particular, the bitbake exception code prints function arguments, which while helpful is a security problem when passwords and other secrets can be passed as function arguments. As it turns out, the handling of the custom serialized exception stack frames was pretty much made obsolete by d7db75020ed ("event/msg: Pass formatted exceptions"), which changed the events to pass a preformatted stacktrack list of strings, but the passing of the serialized data was never removed. Change all the code to use the python traceback API to format exceptions instead of the custom code; conveniently traceback.format_exception() also returns a list of stack trace strings, so it can be used as a drop in replacement for bb.exception.format_exception() [Felix: adjusted to bitbake path in isar repo] Signed-off-by: Felix Moessbauer --- bitbake/lib/bb/cooker.py | 32 +++++++++--- bitbake/lib/bb/event.py | 9 +--- bitbake/lib/bb/exceptions.py | 96 ----------------------------------- bitbake/lib/bb/msg.py | 4 -- bitbake/lib/bb/ui/teamcity.py | 5 -- 5 files changed, 25 insertions(+), 121 deletions(-) delete mode 100644 bitbake/lib/bb/exceptions.py diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index c5bfef55..701cf51b 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -17,7 +17,7 @@ import threading from io import StringIO, UnsupportedOperation from contextlib import closing from collections import defaultdict, namedtuple -import bb, bb.exceptions, bb.command +import bb, bb.command from bb import utils, data, parse, event, cache, providers, taskdata, runqueue, build import queue import signal @@ -2098,7 +2098,6 @@ class Parser(multiprocessing.Process): except Exception as exc: tb = sys.exc_info()[2] exc.recipe = filename - exc.traceback = list(bb.exceptions.extract_traceback(tb, context=3)) return True, None, exc # Need to turn BaseExceptions into Exceptions here so we gracefully shutdown # and for example a worker thread doesn't just exit on its own in response to @@ -2299,8 +2298,12 @@ class CookerParser(object): return False except ParsingFailure as exc: self.error += 1 - logger.error('Unable to parse %s: %s' % - (exc.recipe, bb.exceptions.to_string(exc.realexception))) + + exc_desc = str(exc) + if isinstance(exc, SystemExit) and not isinstance(exc.code, str): + exc_desc = 'Exited with "%d"' % exc.code + + logger.error('Unable to parse %s: %s' % (exc.recipe, exc_desc)) self.shutdown(clean=False) return False except bb.parse.ParseError as exc: @@ -2309,20 +2312,33 @@ class CookerParser(object): self.shutdown(clean=False, eventmsg=str(exc)) return False except bb.data_smart.ExpansionError as exc: + def skip_frames(f, fn_prefix): + while f and f.tb_frame.f_code.co_filename.startswith(fn_prefix): + f = f.tb_next + return f + self.error += 1 bbdir = os.path.dirname(__file__) + os.sep - etype, value, _ = sys.exc_info() - tb = list(itertools.dropwhile(lambda e: e.filename.startswith(bbdir), exc.traceback)) + etype, value, tb = sys.exc_info() + + # Remove any frames where the code comes from bitbake. This + # prevents deep (and pretty useless) backtraces for expansion error + tb = skip_frames(tb, bbdir) + cur = tb + while cur: + cur.tb_next = skip_frames(cur.tb_next, bbdir) + cur = cur.tb_next + logger.error('ExpansionError during parsing %s', value.recipe, exc_info=(etype, value, tb)) self.shutdown(clean=False) return False except Exception as exc: self.error += 1 - etype, value, tb = sys.exc_info() + _, value, _ = sys.exc_info() if hasattr(value, "recipe"): logger.error('Unable to parse %s' % value.recipe, - exc_info=(etype, value, exc.traceback)) + exc_info=sys.exc_info()) else: # Most likely, an exception occurred during raising an exception import traceback diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 4761c868..952c85c0 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py @@ -19,7 +19,6 @@ import sys import threading import traceback -import bb.exceptions import bb.utils # This is the pid for which we should generate the event. This is set when @@ -759,13 +758,7 @@ class LogHandler(logging.Handler): def emit(self, record): if record.exc_info: - etype, value, tb = record.exc_info - if hasattr(tb, 'tb_next'): - tb = list(bb.exceptions.extract_traceback(tb, context=3)) - # Need to turn the value into something the logging system can pickle - record.bb_exc_info = (etype, value, tb) - record.bb_exc_formatted = bb.exceptions.format_exception(etype, value, tb, limit=5) - value = str(value) + record.bb_exc_formatted = traceback.format_exception(*record.exc_info) record.exc_info = None fire(record, None) diff --git a/bitbake/lib/bb/exceptions.py b/bitbake/lib/bb/exceptions.py deleted file mode 100644 index 801db9c8..00000000 --- a/bitbake/lib/bb/exceptions.py +++ /dev/null @@ -1,96 +0,0 @@ -# -# Copyright BitBake Contributors -# -# SPDX-License-Identifier: GPL-2.0-only -# - -import inspect -import traceback -import bb.namedtuple_with_abc -from collections import namedtuple - - -class TracebackEntry(namedtuple.abc): - """Pickleable representation of a traceback entry""" - _fields = 'filename lineno function args code_context index' - _header = ' File "{0.filename}", line {0.lineno}, in {0.function}{0.args}' - - def format(self, formatter=None): - if not self.code_context: - return self._header.format(self) + '\n' - - formatted = [self._header.format(self) + ':\n'] - - for lineindex, line in enumerate(self.code_context): - if formatter: - line = formatter(line) - - if lineindex == self.index: - formatted.append(' >%s' % line) - else: - formatted.append(' %s' % line) - return formatted - - def __str__(self): - return ''.join(self.format()) - -def _get_frame_args(frame): - """Get the formatted arguments and class (if available) for a frame""" - arginfo = inspect.getargvalues(frame) - - try: - if not arginfo.args: - return '', None - # There have been reports from the field of python 2.6 which doesn't - # return a namedtuple here but simply a tuple so fallback gracefully if - # args isn't present. - except AttributeError: - return '', None - - firstarg = arginfo.args[0] - if firstarg == 'self': - self = arginfo.locals['self'] - cls = self.__class__.__name__ - - arginfo.args.pop(0) - del arginfo.locals['self'] - else: - cls = None - - formatted = inspect.formatargvalues(*arginfo) - return formatted, cls - -def extract_traceback(tb, context=1): - frames = inspect.getinnerframes(tb, context) - for frame, filename, lineno, function, code_context, index in frames: - formatted_args, cls = _get_frame_args(frame) - if cls: - function = '%s.%s' % (cls, function) - yield TracebackEntry(filename, lineno, function, formatted_args, - code_context, index) - -def format_extracted(extracted, formatter=None, limit=None): - if limit: - extracted = extracted[-limit:] - - formatted = [] - for tracebackinfo in extracted: - formatted.extend(tracebackinfo.format(formatter)) - return formatted - - -def format_exception(etype, value, tb, context=1, limit=None, formatter=None): - formatted = ['Traceback (most recent call last):\n'] - - if hasattr(tb, 'tb_next'): - tb = extract_traceback(tb, context) - - formatted.extend(format_extracted(tb, formatter, limit)) - formatted.extend(traceback.format_exception_only(etype, value)) - return formatted - -def to_string(exc): - if isinstance(exc, SystemExit): - if not isinstance(exc.code, str): - return 'Exited with "%d"' % exc.code - return str(exc) diff --git a/bitbake/lib/bb/msg.py b/bitbake/lib/bb/msg.py index 3e18596f..4f616ff4 100644 --- a/bitbake/lib/bb/msg.py +++ b/bitbake/lib/bb/msg.py @@ -89,10 +89,6 @@ class BBLogFormatter(logging.Formatter): msg = logging.Formatter.format(self, record) if hasattr(record, 'bb_exc_formatted'): msg += '\n' + ''.join(record.bb_exc_formatted) - elif hasattr(record, 'bb_exc_info'): - etype, value, tb = record.bb_exc_info - formatted = bb.exceptions.format_exception(etype, value, tb, limit=5) - msg += '\n' + ''.join(formatted) return msg def colorize(self, record): diff --git a/bitbake/lib/bb/ui/teamcity.py b/bitbake/lib/bb/ui/teamcity.py index fca46c28..7eeaab8d 100644 --- a/bitbake/lib/bb/ui/teamcity.py +++ b/bitbake/lib/bb/ui/teamcity.py @@ -30,7 +30,6 @@ import bb.build import bb.command import bb.cooker import bb.event -import bb.exceptions import bb.runqueue from bb.ui import uihelper @@ -102,10 +101,6 @@ class TeamcityLogFormatter(logging.Formatter): details = "" if hasattr(record, 'bb_exc_formatted'): details = ''.join(record.bb_exc_formatted) - elif hasattr(record, 'bb_exc_info'): - etype, value, tb = record.bb_exc_info - formatted = bb.exceptions.format_exception(etype, value, tb, limit=5) - details = ''.join(formatted) if record.levelno in [bb.msg.BBLogFormatter.ERROR, bb.msg.BBLogFormatter.CRITICAL]: # ERROR gets a separate errorDetails field -- 2.53.0 -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/isar-users/20260306161548.1102004-3-felix.moessbauer%40siemens.com.