Re: FYI: Over 2 hours spent (so far) in /usr/local/share/poudriere/processonelog.sh executing bzgrep commands for www/chromium failure
Date: Sun, 08 Aug 2021 22:53:25 UTC
On 2021-Aug-6, at 17:39, Mark Millard via freebsd-toolchain <freebsd-toolchain at freebsd.org> wrote:
> On 2021-Aug-6, at 14:24, linimon@portsmon.org linimon@portsmon.org <linimon at portsmon.org> wrote:
>>
>>> On 08/04/2021 4:43 PM Mark Millard via freebsd-toolchain <freebsd-toolchain at freebsd.org> wrote:
>>> it has spent over 2 hours (so far) doing:
>>>
>>> /usr/local/share/poudriere/processonelog.sh activity ( /usr/bin/bzgrep 's ) of/for:
>>
>> fwiw processonelog.sh is not part of the toolchain per se. It is a script that is part
>> of poudriere.
>
> poudriere clearly is not part of the buildworld buildkernel
> support.
>
> Since poudriere is used as infrastructure for building
> ports into packages, including use on one or more
> aarch64 systems for such, I took a guess that toolchain
> was more appropriate than ports for what list to use.
> Sorry if I guessed wrong.
>
>> I have maintained it in various incarnations over the years.
>
>> One of the things that I have tried to do is minimize the time the script takes in a run
>> over the errorlogs for an entire build. These generally complete in around a minute or so.
>
> Until attempting www/chromium builds, I'd never noticed
> the time frame but in this case I was monitoring with top,
> as well as waiting for pouriere's next output after it
> reported having saved the wrkdir.
>
> In the end it was about 2 hr 50 min. Part of this is
> likely just the size of a log file from a www/chromium
> build attempt that gets near the end.
>
> The actual log file is not compressed and can be looked at
> with just less or more or the like. Such is how I normally
> take a preliminary look at build failures.
>
>> You will need to figure out how big your logfile is, and compare it to the size of a
>> successful logfile, to figure out what is going on.
>>
>
> Unfortunately the system involved is down/not-accessible
> for about a day or two. So I'll not be able to check
> details for a while.
>
> The www/chromium build is huge and my original report
> lists the size of the log file in the "ls -LTld" output:
> 153683812 . So, between 146 MiByte and 147 MiByte.
>
> A successful build's log file would be larger. The build
> only made it into the 94% range for what ninja reports
> about steps executed. (Unfortunately, rebuilds use
> different alternative orderings that satisfy the partial
> ordering criteria. So build to build varies. I've also
> seen 77% for the same failure on the same file.)
>
> For reference: the (root) file system is on an Optane
> 480 GiByte in the PCIe 3 slot and is a ZFS file system.
> The system has 64 GiByte of RAM. The swap partitioning
> is on the same media.
>
> For reference:
> Using USE_TMPFS="yes" lead to the tmpfs for the wrkdir
> involved being over 99000 MiByte (so somewhat under
> 100 GiByte). The system configuration was sufficient to
> not run out of swap/paging space, 64 GiByte of RAM + 120
> GiByte of swap-space. I've since adjusted to just have
> USE_TMPFS="data" now that I know of an example of such a
> huge wrkdir. (lang/rust ends up with a small wrkdir
> peak size, by comparison to www/chromium anyway.)
>
>
> Until I again get access to the system, that is about
> all I can report.
Here is a "time -l" for one of the bzgrep's that is involved,
the first:
# time -l bzgrep -qE "(Error: mtree file ./etc/mtree/BSD.local.dist. is missing|error in pkg_delete|filesystem was touched prior to .make install|list of extra files and directories|listof files present before this port was installed|list of filesystem changes from before and after|Error: Files or directories left over|Error: Filesystem touched during build)" /usr/local/poudriere/data/logs/bulk/main-CA72-default/2021-08-03_22h54m48s/logs/chromium-91.0.4472.114.log
806.63 real 806.63 user 0.19 sys
2476 maximum resident set size
20 average shared memory size
8 average unshared data size
128 average unshared stack size
496 page reclaims
0 page faults
0 swaps
0 block input operations
0 block output operations
37521 messages sent
4691 messages received
0 signals received
7138 voluntary context switches
8536 involuntary context switches
Using grep directly is not much different
for the times:
# time -l grep -qE "(Error: mtree file ./etc/mtree/BSD.local.dist. is missing|error in pkg_delete|filesystem was touched prior to .make install|list of extra files and directories|list of files present before this port was installed|list of filesystem changes from before and after|Error: Files or directories left over|Error: Filesystem touched during build)" /usr/local/poudriere/data/logs/bulk/main-CA72-default/2021-08-03_22h54m48s/logs/chromium-91.0.4472.114.log
804.02 real 803.86 user 0.18 sys
2476 maximum resident set size
19 average shared memory size
7 average unshared data size
127 average unshared stack size
158 page reclaims
0 page faults
0 swaps
579 block input operations
0 block output operations
0 messages sent
0 messages received
0 signals received
2432 voluntary context switches
9089 involuntary context switches
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)