From: "'Clara Kowalsky' via isar-users" <isar-users@googlegroups.com>
To: isar-users@googlegroups.com
Cc: Clara Kowalsky <clara.kowalsky@siemens.com>
Subject: [PATCH 3/4] isar-events: close /proc/mounts after cleanup
Date: Wed, 4 Nov 2026 10:22:14 +0100 [thread overview]
Message-ID: <20261104092215.3567061-4-clara.kowalsky@siemens.com> (raw)
In-Reply-To: <20261104092215.3567061-1-clara.kowalsky@siemens.com>
Running the UUID unittest:
python3 -m unittest discover -s testsuite/unittests \
-p test_build_uuid.py -v
emits the warning:
/isar/meta/classes-global/isar-events.bbclass:65:
ResourceWarning: unclosed file <_io.TextIOWrapper name='/proc/mounts'
mode='r' encoding='UTF-8'>
The test_completion_resets_only_default_multiconfig exercises the
BuildCompleted handler, which reads /proc/mounts using open() without
closing the file. Fix this by reading the mount entries within a context
manager for deterministic file closure.
Fixes: e596cdf97198 ("isar-events: Unhide mounts left behind")
Signed-off-by: Clara Kowalsky <clara.kowalsky@siemens.com>
---
meta/classes-global/isar-events.bbclass | 37 +++++++++++++------------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/meta/classes-global/isar-events.bbclass b/meta/classes-global/isar-events.bbclass
index 9b66796e..48f5f441 100644
--- a/meta/classes-global/isar-events.bbclass
+++ b/meta/classes-global/isar-events.bbclass
@@ -62,24 +62,25 @@ python build_completed() {
basepath = tmpdir + '/work/'
- for line in reversed(list(open('/proc/mounts'))):
- if basepath not in line:
- continue
- msg_line = f"{line.split()[1]} left mounted"
- # If bitbake is started manually, bb.warn and bb.error go to stdout;
- # with bb.error, bitbake additionally fails the build. Under CI,
- # bb.warn and bb.error currently go to a file.
- if fail_on_cleanup:
- bb.error(msg_line)
- else:
- msg_line += ', unmounting...'
- bb.warn(msg_line)
- try:
- subprocess.run(
- f"sudo umount {line.split()[1]}", shell=True, check=True
- )
- except subprocess.CalledProcessError as e:
- bb.error(str(e))
+ with open('/proc/mounts') as mounts:
+ for line in reversed(mounts.readlines()):
+ if basepath not in line:
+ continue
+ msg_line = f"{line.split()[1]} left mounted"
+ # If bitbake is started manually, bb.warn and bb.error go to stdout;
+ # with bb.error, bitbake additionally fails the build. Under CI,
+ # bb.warn and bb.error currently go to a file.
+ if fail_on_cleanup:
+ bb.error(msg_line)
+ else:
+ msg_line += ', unmounting...'
+ bb.warn(msg_line)
+ try:
+ subprocess.run(
+ f"sudo umount {line.split()[1]}", shell=True, check=True
+ )
+ except subprocess.CalledProcessError as e:
+ bb.error(str(e))
# Cleanup build UUID, the next bitbake run will generate new one
bb.utils.exec_flat_python_func('clear_build_uuid', d)
--
2.56.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/20261104092215.3567061-4-clara.kowalsky%40siemens.com.
next prev parent reply other threads:[~2026-11-04 9:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-04 9:22 [PATCH 0/4] BitBake update in Isar - part 1 'Clara Kowalsky' via isar-users
2026-11-04 9:22 ` [PATCH 1/4] base: replace BitBake's outdated persist_data 'Clara Kowalsky' via isar-users
2026-11-04 9:22 ` [PATCH 2/4] isar-events: preserve cleanup for default multiconfig 'Clara Kowalsky' via isar-users
2026-11-04 9:22 ` 'Clara Kowalsky' via isar-users [this message]
2026-11-04 9:22 ` [PATCH 4/4] meta: migrate fetcher references to bb.fetch 'Clara Kowalsky' via isar-users
2026-11-04 9:32 ` [PATCH 0/4] BitBake update in Isar - part 1 Anton Mikanovich
2026-11-04 9:46 ` 'Clara Kowalsky' via isar-users
2026-11-04 13:14 ` 'Moessbauer, Felix' via isar-users
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261104092215.3567061-4-clara.kowalsky@siemens.com \
--to=isar-users@googlegroups.com \
--cc=clara.kowalsky@siemens.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox