Yocto Autobuilder: Latency Monitor and AB-INT - Meeting notes: Sept 9, 2021
YP AB Intermittent failures meeting
=================================== Sept 9, 2021, 9 AM ET https://windriver.zoom.us/j/3696693975 Attendees: Kiran, Richard, Trevor, Randy! Summary: ======== Ptest results continue to improve but there's still room for even more improvement. The make/ninja load average limit is in but it's not clear if it's effective yet and it breaks dunfell. Trevor investigating (Aug 26!, Sept 9). Trevor is going to get back to this! If anyone wants to help, we could use more eyes on the logs, particularly the summary logs and understanding iostat # when the dd test times out. Plans for the week: =================== Richard: QA results for M3, etc. Alex: SWAT plans. September email, training. libevent monotonic fix! Sakib: hook more responsive load average in to latency test. (v3) Trevor: patch to set PARALLEL_MAKE : -l 50 -> dunfell, gatesgarth, hardknott (Aug 5 - it's a priority) Investigate dunfell which failed with this change. - data on WR AB load average. Saul: SBOM Randy: Vacation Kiran: probably work on one of the ptest failures. Nothing much new below here. Keeping the list since it's still to-do. ../Randy Meeting Notes: ============== 1. job server - ninja could be patched with make's more responsive algorithm next or is this good enough? Aug 26: Randy made some graphs that show that the -l NUM results in the number of compile jobs oscillates *wildly* between 0 and 200 on a 192 core builder compiling chromium. What I did was: $ bitbake -c cleansstate chromium-x11 $ bitbake -c configure chromium-x11 $ bitbake -c compile chromium-x11 and while that compile was running: $ while [ ! -f /tmp/compiling-chromium-is-done ]; do \ cat /proc/loadavg >> procs-load.log ; sleep 0.5 ; done Results so far: https://postimg.cc/gallery/3hjfYfG/f8f46c97 Next step is either: a. collect data as above for an image build and see if the sub-optimal ninja behaviour makes a difference and/or b. patch ninja with make's more responsive load avg algorithm: https://git.savannah.gnu.org/cgit/make.git/commit/?id=d8728efc8 - Richard suggested that we extract make's code for measuring the load average to a separate binary and run it in the periodic io latency test. Also can we translate it to python? - Trevor is working on this and had some problems so next week. (Aug 19 - Trevor is back from vaction so maybe next week.) - Trevor to see if the load average change really did reduce load on WR build systems. (Aug 19) 2. AB status Trevor is learning about buildbot and working on a scheduling bug (CentOS worker?) bitbake layer setup tool should allow multiple backends: eg: kas, a y-a-helper. ptest cases are improving, we may be close to done! Let's wait a week to see how things go. (July29, Aug 5, Aug 19, we're not done...) - lttng-tools ptest is failing. RP is working on it with upstream. The timeout (done on Aug 5) increase hasn't helped. 3. Sakib's improvements to the logging are merged. Sakib generated a summary of all high latency 'top' logs from ~July 23->July 29 by just running his summary script on the merged raw top logs. More analysis required.... Still relevant parts of Previous Meeting Notes: ======================= 4. bitbake server timeout ( no change july 29, Aug 19) "Timeout while waiting for a reply from the bitbake server (60s)" 5. io stalls (no update: July 29) Richard said that it would make sense to write an ftrace utility / script to monitor io latency and we could install it with sudo Ch^W mentioned ftrace on IRC. Sakib and Randy will work on that but not for a week or two or longer! (Aug 19). Randy collected iostat data on 3 build server: https://postimg.cc/gallery/8cN6LYB We agreed that having -ty-2 be ~ 100 utilization for many hours in a row is not acceptable and that a threshold of ~ 10 minutes at 100% utilization may be a reasonable limt. I need to figure out if I can get data on the fraction of IO done per IO clas since we do use ionice to do clean-up and other activities. ../Randy |
|
Re: Minutes: Yocto Project Weekly Triage Meeting 9/9/2021
Stephen Jolley
Done with AR
Stephen
From: Trevor Gamblin <trevor.gamblin@...>
Sent: Thursday, September 9, 2021 8:06 AM To: Yocto-mailing-list <yocto@...> Cc: Richard Purdie <richard.purdie@...>; trevor.gamblin@...; MacLeod, Randy <Randy.MacLeod@...>; steve@...; timothy.t.orling@...; sjolley.yp.pm@...; alexandre.belloni@...; Ross Burton <ross@...>; Wold, Saul <saul.wold@...>; Bruce Ashfield <bruce.ashfield@...>; kiran.surendran@... Subject: Minutes: Yocto Project Weekly Triage Meeting 9/9/2021
Wiki: https://wiki.yoctoproject.org/wiki/Bug_Triage Attendees: Alex, Bruce, Diane, Kiran, Randy, Richard, Ross, Saul, Stephen, Steve, Tim, Trevor ARs: - Randy to move AB defects to M4 after call - Tim to file a bug about improving ptest runner timeout warnings - Stephen to handle 3.4 M3 unassigned bugs (move to M4 or 3.5 M1 if enhancements) - Trevor to ask Alex Kanavin if he could help on 14518 - General reminder to review Old Milestone bugs and move as necessary
Notes:
- (carried over) Steve encountered build failures such as the one in https://errors.yoctoproject.org/Errors/Details/593109/ when attempting to run dunfell builds with the PARALLEL_MAKE load averaging added. WR is testing/investigating on internal Autobuilder instance - Trevor is still planning on looking into this! Medium+ 3.4 Unassigned Enhancements/Bugs: 77 (No change) Medium+ 3.99 Unassigned Enhancements/Bugs: 38 (No change)
AB-INT Bugs: 49 (Last week 48) |
|
Minutes: Yocto Project Weekly Triage Meeting 9/9/2021
Trevor Gamblin
Wiki: https://wiki.yoctoproject.org/wiki/Bug_Triage Attendees: Alex, Bruce, Diane, Kiran, Randy, Richard,
Ross, Saul, Stephen, Steve, Tim, Trevor ARs: - Randy to move AB defects to M4 after call - Tim to file a bug about improving ptest runner timeout warnings - Stephen to handle 3.4 M3 unassigned bugs (move to M4 or 3.5 M1 if enhancements) - Trevor to ask Alex Kanavin if he could help on 14518 - General reminder to
review Old Milestone bugs and move as necessary
Notes:
- (carried over) Steve
encountered build failures such as the one in https://errors.yoctoproject.org/Errors/Details/593109/
when attempting to run dunfell builds with the PARALLEL_MAKE load
averaging added. WR is testing/investigating on internal
Autobuilder instance - Trevor is still planning on looking into
this!
Medium+ 3.4 Unassigned Enhancements/Bugs: 77 (No
change) AB-INT Bugs: 49
(Last week 48)
|
|
yocto library build needs ldconfig to start working
Ashutosh Naik
I have a rather simple bitbake package which adds a shared library foo.so to the system in /usr/lib/. However, on first boot, I am always forced to do an explicit "ldconfig" for the library to be detected by the applications. Subsequent reboots do not need an ldconfig. Can I avoid this ldconfig step ? As all other libraries work fine without it. Here is my .bb file : DESCRIPTION = "FOO library" DEPENDS = "bar" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=00006733ca3231dd8b07dde266d4d4e4" FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:" SRC_URI = "file://foo-1.0.tar.gz" S = "${WORKDIR}/foo-1.0" inherit autotools pkgconfig BBCLASSEXTEND = "native nativesdk" EXTRA_OEMAKE = '-C ${S} FOO_BITBAKE=yes' FILES_${PN} += "/usr/lib/*.so" do_compile() { oe_runmake } do_install() oe_runmake DESTDIR=${D} install } Thanks for your help! Ash |
|
[yocto-autobuilder2][PATCH] add prioritizeBuilders
Trevor Gamblin
This prioritizeBuilders function sorts builders by the length of their
associated worker lists, so that builders that can only be assigned to a small number of workers are assigned to those workers before other builds that don't have specific needs when resources are limited. An example might be when a slot is available on an Ubuntu-based worker, and "oe-selftest-ubuntu" and "genericx86-64" build requests exist in the queue. Since oe-selftest-ubuntu requires an Ubuntu-based worker and genericx86-64 does not, genericx86-64 will be assigned a higher value (lower priority) so that oe-selftest-ubuntu is assigned to that worker first. Signed-off-by: Trevor Gamblin <trevor.gamblin@...> --- builders.py | 13 +++++++++++++ master.cfg | 6 ++++++ 2 files changed, 19 insertions(+) diff --git a/builders.py b/builders.py index 53c5f0e..94fb561 100644 --- a/builders.py +++ b/builders.py @@ -135,6 +135,19 @@ for builder in config.subbuilders: workernames=workers, nextWorker=nextWorker, nextBuild=nextBuild, factory=f, env=extra_env)) +# prioritize assigning builders to available workers based on the length +# of the worker lists they are associated with. Builders that have fewer +# valid worker options should always be assigned first +def prioritizeBuilders(buildmaster, builders): + # re-use the builder_to_workers list + builder_to_workers = config.builder_to_workers + + # sort builders by the length of their worker lists. Since not all + # builders are explicitly listed in builder_to_workers, make sure to + # default to the len() of the "default" value + builders.sort(key=lambda b: len(builder_to_workers.get(b.name)) if b.name in builder_to_workers.keys() else len(builder_to_workers.get("default"))) + return builders + def create_parent_builder_factory(buildername, waitname): factory = util.BuildFactory() # NOTE: Assumes that yocto-autobuilder repo has been cloned to home diff --git a/master.cfg b/master.cfg index a7c151f..4f7d74e 100644 --- a/master.cfg +++ b/master.cfg @@ -88,6 +88,12 @@ c['www'] = www.www # These items are specific to an individual AB deployment c['workers'] = workers.workers +# This enables our prioritizeBuilders function from builders.py. +# Builders such as buildperf-centos7, buildperf-ubuntu1604, +# oe-selftest-*, and reproducible-* will be assigned (if possible) +# before other builders since their possible worker lists are smaller +c['prioritizeBuilders'] = builders.prioritizeBuilders + c['title'] = "Yocto Autobuilder" c['titleURL'] = "https://autobuilder.yoctoproject.org/main/" # visible location for internal web server -- 2.31.1 |
|
rpaluri@...
Hi,
Below are my observations on these packages w.r.t pTests.
Thanks, Ravi |
|
Re: [qa-build-notification] QA notification for completed autobuilder build (yocto-3.4_M3.rc1)
Teoh, Jay Shen
Hi All,
toggle quoted message
Show quoted text
This is the full report for yocto-3.4_M3.rc1: https://git.yoctoproject.org/cgit/cgit.cgi/yocto-testresults-contrib/tree/?h=intel-yocto-testresults ======= Summary ======== No high milestone defects. No new issue found. Thanks, Jay -----Original Message----- |
|
Enable graphic in core-image-minimal for raspberrypi
#yocto
yasminebenghozzi6@...
Hello,
I cant find how to add maybe graphic conf for the yocto image I already have for the raspberrypi, Any help? |
|
extra-cmake-modules
#yocto
sateesh m
Hi All,
I am trying to build an extra-cmake-modules package. Using bitbake command "bitbake extra-cmake-modules" compiled succuss. But using bitbake core-image-plasma-mobile throwing error. So I want to disable native build on the x86 platform is it possible? or else can anybody know how to fix this issue suggest me any corrections required. ERROR: extra-cmake-modules-native-5.79.0-r0 do_compile: Execution of '/home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/temp/run.do_compile.20787' failed with exit code 1: [1/2] cd /home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/build/docs && /usr/local/bin/sphinx-build -c /home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/build/docs -d /home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/build/docs/doctrees -b html /home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/git/docs /home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/build/docs/html > build-html.log
FAILED: docs/doc_format_html
cd /home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/build/docs && /usr/local/bin/sphinx-build -c /home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/build/docs -d /home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/build/docs/doctrees -b html /home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/git/docs /home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/build/docs/html > build-html.log
Extension error:
Could not import extension ecm (exception: cannot import name 'htmlescape')
ninja: build stopped: subcommand failed.
WARNING: exit code 1 from a shell command.
ERROR: Logfile of failure stored in: /home/sateesh/KDE/sources/fu540-build/tmp-glibc/work/x86_64-linux/extra-cmake-modules-native/5.79.0-r0/temp/log.do_compile.20787
Regards, Sateesh |
|
Re: [meta-security][PATCH 1/2] image-with-hardened-binaries: add class
Maximilian Blenk
Hi, On 06.09.21 10:18, Maximilian Blenk
wrote:
|
|
Re: Inactive service of hello world
#yocto
Nicolas Jeker
On Tue, 2021-09-07 at 10:43 -0700, Rudolf J Streif wrote:
What does your 'Hello World' service do? Just print 'Hello World' toTo piggyback on that, it is possible to set Type=oneshot[1] for the service so that systemd considers the service to be up after it exited. I find it useful for init or migration scripts that another service can then depend upon. [1]: https://www.freedesktop.org/software/systemd/man/systemd.service.html#Type= :rjs |
|
Re: Building Yocto on AWS container getting ERROR: The postinstall intercept hook 'update_icon_cache' failed,
#yocto
mail2uvijay@...
For the error, i have tried installed below package in aws container
libgdk-pixbuf2.0-0 in container, and added DEPENDS += "qemuwrapper-cross" in bb file. Will try the option building "core-image-minimal" or "core-image-sato" Regards, Vijay |
|
Re: Building Yocto on AWS container getting ERROR: The postinstall intercept hook 'update_icon_cache' failed,
#yocto
Alexander Kanavin
It's right there at the very end: NOTE: Exit code 127. Output: /home/wlsom/YoctoCode/poky/build-microchip/tmp/work/sama5d27_wlsom1_ek_sd-poky-linux-gnueabi/utec-mcdgrill-image/1.0-r0/intercept_scripts-7f1ca27092c337bb8d06dfe7837dad99a9fb3e5e5ff266e8ce34762c23025acb/update_icon_cache: 9: /home/wlsom/YoctoCode/poky/build-microchip/tmp/work/sama5d27_wlsom1_ek_sd-poky-linux-gnueabi/utec-mcdgrill-image/1.0-r0/intercept_scripts-7f1ca27092c337bb8d06dfe7837dad99a9fb3e5e5ff266e8ce34762c23025acb/update_icon_cache: /home/wlsom/YoctoCode/poky/build-microchip/tmp/work/sama5d27_wlsom1_ek_sd-poky-linux-gnueabi/utec-mcdgrill-image/1.0-r0/recipe-sysroot-native//gdk-pixbuf-2.0/gdk-pixbuf-query-loaders: not found This isn't easy to diagnose without having access to your build tree, but you can build plain core-image-sato for example and check that the binary does exist there and gets executed, and then untangle where the difference come from. Alex On Wed, 8 Sept 2021 at 06:47, <mail2uvijay@...> wrote:
|
|
multilib SDK
Arun
I have a custom project where I am building for 64-bit kernel and 32-bit userspace using multilib config # for 32bit userspace build require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "armv7athf-neon" I am successfully able to build the target image as MACHINE=<custom_machine> bitbake lib32-<custom_target> However, when I try to build the SDK, I am noticing that the userspace recipes are being built for both 64-bit and 32-bit. I am running into errors for 64-bit. I have no need for 64-bit, is there any way I can disable 64-bit build for SDK? note: I am building SDK via this command without lib32- prefix for target, following details from this commit message stating that lib32- prefix is not required MACHINE=<custom_machine> bitbake -c populate_sdk <custom_target> thanks -Arun |
|
Re: Building Yocto on AWS container getting ERROR: The postinstall intercept hook 'update_icon_cache' failed,
#yocto
mail2uvijay@...
Raj thanks for the response. Couldnt able to find error from the logs.. Attached detailed logs.. |
|
Re: [poky] Poky:dunfell: SDK install issue (sed: -e expression #1, char 0: no previous regular expression)
Richard Purdie
On Tue, 2021-09-07 at 06:10 +0000, Groeting, Claus wrote:
Hi all!Hi, I think there is a patch queued in the testing branch for dunfell: http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=stable/dunfell-nut http://git.yoctoproject.org/cgit.cgi/poky-contrib/commit/?h=stable/dunfell-nut&id=ed0f6236ceb6a127903241f783a526bcdefc66ce that should address this. Cheers, Richard |
|
Re: Inactive service of hello world
#yocto
What does your 'Hello World' service do? Just print 'Hello World' to the console and then exit? If so that would be the reason why it is inactive. Systemd starts it and then it exits. Typically, services keep running (except for some special cases) once they are started. That's what makes them a service. To stop them 'systemctl stop <service>' is used. By default systemctl sends SIGTERM to tell the service to clean up and terminate itself. :rjs On Tue, Sep 7, 2021, 10:20 <yasminebenghozzi6@...> wrote: Hi everyone, |
|
Inactive service of hello world
#yocto
yasminebenghozzi6@...
Hi everyone,
I wanted to run the helloworld service, but it keeps telling that its inactive , I really cant find why, I changed the service many times but no solution. I m sorry I ant copy paste from putty |
|
Re: Debating best tool to use
KL <deco33000@...>
That is exactly what I thought and why I insisted that much.
toggle quoted message
Show quoted text
I will step back and constrict to my app, and not the whole OS. Thanks! 17:38, 7 September 2021, Ross Burton <ross@...>:--
|
|
Re: Debating best tool to use
Ross Burton <ross@...>
On Tue, 7 Sept 2021 at 11:22, KL <deco33000@...> wrote:
Thanks does that mean that I can reshape the whole "everything is a file" under unix?Doable? Yes, everything is open source. Sensible? Not really. I'm not sure you've considered the scale of what you're asking. For example, /etc/passwd and /etc/hosts are deeply tied into large amounts of software. You can make *your* software use whatever configuration database you want, but you'll have a lot of work to do if you want to move the user database or DNS resolver information out of /etc. Ross |
|