From: "Maxim Yu. Osipov" <mosipov@ilbers.de>
To: "Hombourger, Cedric" <Cedric_Hombourger@mentor.com>,
Jan Kiszka <jan.kiszka@siemens.com>
Cc: Henning Schild <henning.schild@siemens.com>,
isar-users <isar-users@googlegroups.com>
Subject: Re: [PATCH] isar-bootstrap: Fix and cleanup bind mounting
Date: Tue, 4 Dec 2018 19:59:03 +0300 [thread overview]
Message-ID: <cd97e0ff-5059-a17e-1fe3-6d49dc6a768e@ilbers.de> (raw)
In-Reply-To: <3daa2bd836424990a478b3981f9ca222@svr-ies-mbx-02.mgc.mentorg.com>
Hi Jan, Cedric,
Another question:
Which debian/kernel do you use inside your VM/docker?
Is it also stretch?
The problem is reproducible at the the same point on stretch systems
(with kernel SMP Debian 4.9.110-3+deb9u6 (2018-10-08) x86_64 GNU/Linux)
when commands are launched by hand:
Command 1)
bitbake -c cache_base_repo multiconfig:qemuarm-stretch:isar-image-base
multiconfig:qemuarm64-stretch:isar-image-base multiconfig:qemuamd64-
stretch:isar-image-base
Command 2)
sudo rm -rf tmp
Command 3)
sed -i -e 's/#ISAR_USE_CACHED_BASE_REPO ?= "1"/ISAR_USE_CACHED_BASE_REPO
?= "1"/g' conf/local.conf
No problems detected at this point - the same mounts etc.
The next command hungs on the last task (according strace bitbake tries
to unmount /sys /dev)
Command 4)
bitbake multiconfig:qemuarm-stretch:isar-image-base
multiconfig:qemuarm64-stretch:isar-image-base
multiconfig:qemuamd64-stretch:isar-image-base
Maxim.
On 12/4/18 6:45 PM, Hombourger, Cedric wrote:
> Good catch & analysis Jan!
> In our CI, our build script is checking for any mounts relative to the current directory before purging them
>
> -----Original Message-----
> From: Jan Kiszka [mailto:jan.kiszka@siemens.com]
> Sent: Tuesday, December 4, 2018 6:43 PM
> To: Maxim Yu. Osipov <mosipov@ilbers.de>
> Cc: Henning Schild <henning.schild@siemens.com>; isar-users <isar-users@googlegroups.com>; Hombourger, Cedric <Cedric_Hombourger@mentor.com>
> Subject: Re: [PATCH] isar-bootstrap: Fix and cleanup bind mounting
>
> On 04.12.18 15:24, [ext] Jan Kiszka wrote:
>> On 04.12.18 11:49, Maxim Yu. Osipov wrote:
>>> On 12/3/18 3:59 PM, Jan Kiszka wrote:
>>>> On 30.11.18 10:20, Maxim Yu. Osipov wrote:
>>>>> Hi Jan,
>>>>>
>>>>> I've just tried this patch (on the 'next' with reverted patch
>>>>> d40a9ac0) and ran "fast" CI
>>>>>
>>>>> isar$mount | wc -l
>>>>> 34
>>>>>
>>>>> isar$./scripts/ci_build.sh -q -f
>>>>>
>>>>> CI script hung on CI stage when dpkg-base is modified causing
>>>>> rebuilding recipes based on dpkg-base.
>>>>>
>>>>> The mount reports less (!) mount points than before launching the script.
>>>>>
>>>>> mount | wc -l
>>>>> 31
>>>>
>>>> Any news on what's different on your side? Where exactly does your
>>>> build hang? Was your CI environment in a clean state when running
>>>> this test? Before the comment lots of things leaked.
>>>
>>>
>>> On my stretch laptop (i7-6820HQ CPU @ 2.70GHz (8 cores) with SSD)
>>> the reported problem is reproducible (I rerun 'ci_build.sh -q -f'
>>> several times in clean state) it hung and with the less mount points
>>> (the mount points before and after running are attached).
>>>
>>> The strange thing that I observe two bitbake processes:
>>>
>>> myo 26373 0.0 0.3 153116 29732 pts/0 Sl+ 12:31 0:01
>>> python3 /home/myo/work/isar/src/trunk/isar/bitbake/bin/bitbake
>>> multiconfig:qemuarm-stretch:isar-image-base
>>> multiconfig:qemuarm64-stretch:isar-image-base
>>> multiconfig:qemuamd64-stretch:isar-image-base
>>>
>>> myo 26379 2.5 0.6 328476 50028 ? Sl 12:31 0:40
>>> python3 /home/myo/work/isar/src/trunk/isar/bitbake/bin/bitbake
>>> multiconfig:qemuarm-stretch:isar-image-base
>>> multiconfig:qemuarm64-stretch:isar-image-base
>>> multiconfig:qemuamd64-stretch:isar-image-base
>>>
>>
>> We run multiple bitbake sessions after each other. Maybe the first one never
>> terminates (get stuck), and that is also why the rm after the first session
>> fails. You need to stop the build there and analyse what is keeping the mount
>> points busy.
>
> Wait... If I terminate a build from inside the container (i.e. "natively") and
> then quickly try to delete the build artifacts, I can trigger that infamous
> empty /dev bug - on the host. That has always been the problem, and that is one
> reason why we encapsulate things into containers.
>
> The reason for this is that bitbake's cooker waits for the last sub-process to
> finish before it calls the cleanup hook that does all the unmounting. If you
> delete something before that, you step into the mount point and purge its
> content. That /may/ be the issue here as well as we run rm directly after bitbake.
>
> IOW: Possibly just a known limitation of current Isar design /wrt to unmounting
> in isar_handler() that now surfaces in CI. I would not be surprised you can
> resolve that by waiting for the last cooker instance to terminate before
> deleting tmp.
>
> Jan
>
--
Maxim Osipov
ilbers GmbH
Maria-Merian-Str. 8
85521 Ottobrunn
Germany
+49 (151) 6517 6917
mosipov@ilbers.de
http://ilbers.de/
Commercial register Munich, HRB 214197
General Manager: Baurzhan Ismagulov
next prev parent reply other threads:[~2018-12-04 16:59 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-29 16:29 Jan Kiszka
2018-11-29 18:39 ` Henning Schild
2018-11-30 9:20 ` Maxim Yu. Osipov
2018-11-30 9:36 ` Henning Schild
2018-11-30 9:40 ` Jan Kiszka
2018-11-30 9:38 ` Jan Kiszka
2018-11-30 10:19 ` Jan Kiszka
2018-11-30 10:51 ` Jan Kiszka
2018-12-03 12:59 ` Jan Kiszka
2018-12-03 14:37 ` Hombourger, Cedric
2018-12-04 10:49 ` Maxim Yu. Osipov
2018-12-04 14:24 ` Jan Kiszka
2018-12-04 15:42 ` Jan Kiszka
2018-12-04 15:45 ` Hombourger, Cedric
2018-12-04 16:59 ` Maxim Yu. Osipov [this message]
2018-12-04 17:10 ` Jan Kiszka
2018-12-04 17:31 ` Jan Kiszka
2018-12-04 15:45 ` Jan Kiszka
2018-12-07 13:45 ` Maxim Yu. Osipov
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=cd97e0ff-5059-a17e-1fe3-6d49dc6a768e@ilbers.de \
--to=mosipov@ilbers.de \
--cc=Cedric_Hombourger@mentor.com \
--cc=henning.schild@siemens.com \
--cc=isar-users@googlegroups.com \
--cc=jan.kiszka@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