diff mbox series

cooker: Add support for BB_DEFAULT_EVENTLOG

Message ID 20231116165233.2862786-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit ee174b231897a53cdde0f68769518342e53210cf
Headers show
Series cooker: Add support for BB_DEFAULT_EVENTLOG | expand

Commit Message

Richard Purdie Nov. 16, 2023, 4:52 p.m. UTC
Currently it is only possible to specify an eventlog on the bitbake
commandline. Add a variable that can be used in bitbake.conf so that
we can log data by default more easily.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 lib/bb/cooker.py | 25 +++++++++++++++++--------
 1 file changed, 17 insertions(+), 8 deletions(-)

Comments

Jose Quaresma Nov. 24, 2023, 5:27 p.m. UTC | #1
Hi Richard,

I believe I found a regression in this patch.
When we build with a custom BB_LOGCONFIG configuration, bitbake hangs at
start-up
in the ping command. Here is my build log:

Loading cache...done.
Loaded 6050 entries from dependency cache.
(2023-11-24 16:06:39,801) INFO: Resolving any missing task queue
dependencies
(2023-11-24 16:06:46,455) Level 21:
Build Configuration:
BB_VERSION           = "2.6.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "x86_64-lmp-linux"
MACHINE              = "intel-corei7-64"
DISTRO               = "lmp"
DISTRO_VERSION       = "4.0.14-78-91"
TUNE_FEATURES        = "m64 corei7"
TARGET_FPU           = ""
DISTRO_FEATURES      = "acl argp bluetooth ext2 ipv4 ipv6 largefile
usbgadget usbhost wifi xattr zeroconf pci vfat modsign efi security tpm
integrity seccomp pam usrmerge virtualization alsa sota systemd usrmerge"
meta-lmp-base        = "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
meta-oe
meta-networking
meta-filesystems
meta-perl
meta-python          = "HEAD:991e6852a53e0fcd40af8f0386d7f46bb318015e"
meta-virtualization  = "HEAD:a215d8320edee0a317a6511e7e2efa5bba867486"
meta-clang           = "HEAD:8aaed8f345683c2fb03a4d90f615f1e93f545a55"
meta-updater         = "HEAD:defecf4523fe70d38ef0e264b46a38019d6d3088"
meta-security
meta-tpm
meta-parsec
meta-integrity       = "HEAD:070a1e82cc59424d230a23c0b2a104b01fbaa2ad"
meta-arm
meta-arm-toolchain
meta-arm-bsp         = "HEAD:5f8b6a2d269c59c21273fee5417f2f0d90a086a1"
meta-freescale       = "HEAD:d48d230b34292f8c61e5ead75e067fff404fb20c"
meta-freescale-3rdparty = "HEAD:a9bba0f7fc3765431433886a3e78632dcfa7ad26"
meta-raspberrypi     = "HEAD:8231f97534812cb0c6ab8d500eff44d3880fdac5"
meta-intel           = "HEAD:52ce86a7f5f1ed751d80bc5e1d6b76db1c5b84c8"
meta-yocto-bsp       = "HEAD:5d86975934b46a64b36f60c097bce7a577c1b8b0"
meta-xilinx-core
meta-xilinx-bsp
meta-xilinx-standalone = "HEAD:0872170289d08996d821db4d8988647a13063269"
meta-xilinx-tools    = "HEAD:65799115a9d3dd53053b08f6f1416ecf879f4898"
meta-tegra           = "HEAD:fb4c603c504b6df9631f15a4734cbb8c42b1005a"
meta-ti-bsp
meta-ti-extras       = "HEAD:d3bcad2cbe63d4e1cd2b4e4418d0b3b9c1f864ed"
meta-lmp-bsp         = "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
meta                 = "HEAD:795e85f62f3c88c08f24d986548ffe422f459cd0"

[Errno 32] Broken pipeTraceback (most recent call last):
  File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 647, in main
    ret, error = server.runCommand(["ping"])
  File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in runCommand
    self.connection.send(command)
  File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in send
    self._send(obj)
  File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in _send
    self.writer.send_bytes(obj)
  File "/usr/lib/python3.8/multiprocessing/connection.py", line 200, in
send_bytes
    self._send_bytes(m[offset:offset + size])
  File "/usr/lib/python3.8/multiprocessing/connection.py", line 411, in
_send_bytes
    self._send(header + buf)
  File "/usr/lib/python3.8/multiprocessing/connection.py", line 368, in
_send
    n = write(self._handle, buf)
BrokenPipeError: [Errno 32] Broken pipe
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/srv/oe/bitbake/bin/bitbake", line 36, in <module>
    sys.exit(bitbake_main(BitBakeConfigParameters(sys.argv),
  File "/srv/oe/bitbake/lib/bb/main.py", line 404, in bitbake_main
    return ui_module.main(server_connection.connection,
server_connection.events,
  File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 864, in main
    _, error = server.runCommand(["stateForceShutdown"])
  File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in runCommand
    self.connection.send(command)
  File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in send
    self._send(obj)
  File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in _send
    self.writer.send_bytes(obj)
  File "/usr/lib/python3.8/multiprocessing/connection.py", line 200, in
send_bytes
    self._send_bytes(m[offset:offset + size])
  File "/usr/lib/python3.8/multiprocessing/connection.py", line 411, in
_send_bytes
    self._send(header + buf)
  File "/usr/lib/python3.8/multiprocessing/connection.py", line 368, in
_send
    n = write(self._handle, buf)
BrokenPipeError: [Errno 32] Broken pipe

Cheers,

Jose

Richard Purdie <richard.purdie@linuxfoundation.org> escreveu no dia quinta,
16/11/2023 à(s) 16:52:

> Currently it is only possible to specify an eventlog on the bitbake
> commandline. Add a variable that can be used in bitbake.conf so that
> we can log data by default more easily.
>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
>  lib/bb/cooker.py | 25 +++++++++++++++++--------
>  1 file changed, 17 insertions(+), 8 deletions(-)
>
> diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
> index 4bf1809bc0..9f84030962 100644
> --- a/lib/bb/cooker.py
> +++ b/lib/bb/cooker.py
> @@ -303,6 +303,10 @@ class BBCooker:
>          self.data_hash = self.databuilder.data_hash
>          self.extraconfigdata = {}
>
> +        eventlog = self.data.getVar("BB_DEFAULT_EVENTLOG")
> +        if not self.configuration.writeeventlog and eventlog:
> +            self.setupEventLog(eventlog)
> +
>          if consolelog:
>              self.data.setVar("BB_CONSOLELOG", consolelog)
>
> @@ -409,6 +413,18 @@ class BBCooker:
>
>          self._parsecache_set(False)
>
> +    def setupEventLog(self, eventlog):
> +        if self.eventlog and self.eventlog[0] != eventlog:
> +            bb.event.unregister_UIHhandler(self.eventlog[1])
> +        if not self.eventlog or self.eventlog[0] != eventlog:
> +            # we log all events to a file if so directed
> +            # register the log file writer as UI Handler
> +            if not os.path.exists(os.path.dirname(eventlog)):
> +                bb.utils.mkdirhier(os.path.dirname(eventlog))
> +            writer = EventWriter(self, eventlog)
> +            EventLogWriteHandler = namedtuple('EventLogWriteHandler',
> ['event'])
> +            self.eventlog = (eventlog,
> bb.event.register_UIHhandler(EventLogWriteHandler(writer)))
> +
>      def updateConfigOpts(self, options, environment, cmdline):
>          self.ui_cmdline = cmdline
>          clean = True
> @@ -428,14 +444,7 @@ class BBCooker:
>                  setattr(self.configuration, o, options[o])
>
>          if self.configuration.writeeventlog:
> -            if self.eventlog and self.eventlog[0] !=
> self.configuration.writeeventlog:
> -                bb.event.unregister_UIHhandler(self.eventlog[1])
> -            if not self.eventlog or self.eventlog[0] !=
> self.configuration.writeeventlog:
> -                # we log all events to a file if so directed
> -                # register the log file writer as UI Handler
> -                writer = EventWriter(self,
> self.configuration.writeeventlog)
> -                EventLogWriteHandler = namedtuple('EventLogWriteHandler',
> ['event'])
> -                self.eventlog = (self.configuration.writeeventlog,
> bb.event.register_UIHhandler(EventLogWriteHandler(writer)))
> +            self.setupEventLog(self.configuration.writeeventlog)
>
>          bb.msg.loggerDefaultLogLevel = self.configuration.default_loglevel
>          bb.msg.loggerDefaultDomains = self.configuration.debug_domains
> --
> 2.39.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#15531):
> https://lists.openembedded.org/g/bitbake-devel/message/15531
> Mute This Topic: https://lists.openembedded.org/mt/102630301/5052612
> Group Owner: bitbake-devel+owner@lists.openembedded.org
> Unsubscribe:
> https://lists.openembedded.org/g/bitbake-devel/leave/10441984/5052612/1901433512/xyzzy
> [quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Richard Purdie Nov. 24, 2023, 8:19 p.m. UTC | #2
On Fri, 2023-11-24 at 17:27 +0000, Jose Quaresma wrote:
> Hi Richard,
> 
> I believe I found a regression in this patch.
> When we build with a custom BB_LOGCONFIG configuration, bitbake hangs
> at start-up
> in the ping command. Here is my build log:
> 
> Loading cache...done.
> Loaded 6050 entries from dependency cache.
> (2023-11-24 16:06:39,801) INFO: Resolving any missing task queue
> dependencies
> (2023-11-24 16:06:46,455) Level 21: 
> Build Configuration:
> BB_VERSION           = "2.6.0"
> BUILD_SYS            = "x86_64-linux"
> NATIVELSBSTRING      = "universal"
> TARGET_SYS           = "x86_64-lmp-linux"
> MACHINE              = "intel-corei7-64"
> DISTRO               = "lmp"
> DISTRO_VERSION       = "4.0.14-78-91"
> TUNE_FEATURES        = "m64 corei7"
> TARGET_FPU           = ""
> DISTRO_FEATURES      = "acl argp bluetooth ext2 ipv4 ipv6 largefile
> usbgadget usbhost wifi xattr zeroconf pci vfat modsign efi security
> tpm integrity seccomp pam usrmerge virtualization alsa sota systemd
> usrmerge"
> meta-lmp-base        =
> "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
> meta-oe              
> meta-networking      
> meta-filesystems     
> meta-perl            
> meta-python          =
> "HEAD:991e6852a53e0fcd40af8f0386d7f46bb318015e"
> meta-virtualization  =
> "HEAD:a215d8320edee0a317a6511e7e2efa5bba867486"
> meta-clang           =
> "HEAD:8aaed8f345683c2fb03a4d90f615f1e93f545a55"
> meta-updater         =
> "HEAD:defecf4523fe70d38ef0e264b46a38019d6d3088"
> meta-security        
> meta-tpm             
> meta-parsec          
> meta-integrity       =
> "HEAD:070a1e82cc59424d230a23c0b2a104b01fbaa2ad"
> meta-arm             
> meta-arm-toolchain   
> meta-arm-bsp         =
> "HEAD:5f8b6a2d269c59c21273fee5417f2f0d90a086a1"
> meta-freescale       =
> "HEAD:d48d230b34292f8c61e5ead75e067fff404fb20c"
> meta-freescale-3rdparty =
> "HEAD:a9bba0f7fc3765431433886a3e78632dcfa7ad26"
> meta-raspberrypi     =
> "HEAD:8231f97534812cb0c6ab8d500eff44d3880fdac5"
> meta-intel           =
> "HEAD:52ce86a7f5f1ed751d80bc5e1d6b76db1c5b84c8"
> meta-yocto-bsp       =
> "HEAD:5d86975934b46a64b36f60c097bce7a577c1b8b0"
> meta-xilinx-core     
> meta-xilinx-bsp      
> meta-xilinx-standalone =
> "HEAD:0872170289d08996d821db4d8988647a13063269"
> meta-xilinx-tools    =
> "HEAD:65799115a9d3dd53053b08f6f1416ecf879f4898"
> meta-tegra           =
> "HEAD:fb4c603c504b6df9631f15a4734cbb8c42b1005a"
> meta-ti-bsp          
> meta-ti-extras       =
> "HEAD:d3bcad2cbe63d4e1cd2b4e4418d0b3b9c1f864ed"
> meta-lmp-bsp         =
> "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
> meta                 =
> "HEAD:795e85f62f3c88c08f24d986548ffe422f459cd0"
> 
> [Errno 32] Broken pipeTraceback (most recent call last):
>   File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 647, in main
>     ret, error = server.runCommand(["ping"])
>   File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in
> runCommand
>     self.connection.send(command)
>   File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in send
>     self._send(obj)
>   File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in _send
>     self.writer.send_bytes(obj)
>   File "/usr/lib/python3.8/multiprocessing/connection.py", line 200,
> in send_bytes
>     self._send_bytes(m[offset:offset + size])
>   File "/usr/lib/python3.8/multiprocessing/connection.py", line 411,
> in _send_bytes
>     self._send(header + buf)
>   File "/usr/lib/python3.8/multiprocessing/connection.py", line 368,
> in _send
>     n = write(self._handle, buf)
> BrokenPipeError: [Errno 32] Broken pipe
> During handling of the above exception, another exception occurred:
> Traceback (most recent call last):
>   File "/srv/oe/bitbake/bin/bitbake", line 36, in <module>
>     sys.exit(bitbake_main(BitBakeConfigParameters(sys.argv),
>   File "/srv/oe/bitbake/lib/bb/main.py", line 404, in bitbake_main
>     return ui_module.main(server_connection.connection,
> server_connection.events,
>   File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 864, in main
>     _, error = server.runCommand(["stateForceShutdown"])
>   File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in
> runCommand
>     self.connection.send(command)
>   File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in send
>     self._send(obj)
>   File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in _send
>     self.writer.send_bytes(obj)
>   File "/usr/lib/python3.8/multiprocessing/connection.py", line 200,
> in send_bytes
>     self._send_bytes(m[offset:offset + size])
>   File "/usr/lib/python3.8/multiprocessing/connection.py", line 411,
> in _send_bytes
>     self._send(header + buf)
>   File "/usr/lib/python3.8/multiprocessing/connection.py", line 368,
> in _send
>     n = write(self._handle, buf)
> BrokenPipeError: [Errno 32] Broken pipe

Those tracebacks are the connection failing. Is there something
more/different in the bitbake-cookerdaemon.log file?

Cheers,

Richard
Jose Quaresma Nov. 24, 2023, 10:05 p.m. UTC | #3
A sexta, 24/11/2023, 20:19, Richard Purdie <
richard.purdie@linuxfoundation.org> escreveu:

> On Fri, 2023-11-24 at 17:27 +0000, Jose Quaresma wrote:
> > Hi Richard,
> >
> > I believe I found a regression in this patch.
> > When we build with a custom BB_LOGCONFIG configuration, bitbake hangs
> > at start-up
> > in the ping command. Here is my build log:
> >
> > Loading cache...done.
> > Loaded 6050 entries from dependency cache.
> > (2023-11-24 16:06:39,801) INFO: Resolving any missing task queue
> > dependencies
> > (2023-11-24 16:06:46,455) Level 21:
> > Build Configuration:
> > BB_VERSION           = "2.6.0"
> > BUILD_SYS            = "x86_64-linux"
> > NATIVELSBSTRING      = "universal"
> > TARGET_SYS           = "x86_64-lmp-linux"
> > MACHINE              = "intel-corei7-64"
> > DISTRO               = "lmp"
> > DISTRO_VERSION       = "4.0.14-78-91"
> > TUNE_FEATURES        = "m64 corei7"
> > TARGET_FPU           = ""
> > DISTRO_FEATURES      = "acl argp bluetooth ext2 ipv4 ipv6 largefile
> > usbgadget usbhost wifi xattr zeroconf pci vfat modsign efi security
> > tpm integrity seccomp pam usrmerge virtualization alsa sota systemd
> > usrmerge"
> > meta-lmp-base        =
> > "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
> > meta-oe
> > meta-networking
> > meta-filesystems
> > meta-perl
> > meta-python          =
> > "HEAD:991e6852a53e0fcd40af8f0386d7f46bb318015e"
> > meta-virtualization  =
> > "HEAD:a215d8320edee0a317a6511e7e2efa5bba867486"
> > meta-clang           =
> > "HEAD:8aaed8f345683c2fb03a4d90f615f1e93f545a55"
> > meta-updater         =
> > "HEAD:defecf4523fe70d38ef0e264b46a38019d6d3088"
> > meta-security
> > meta-tpm
> > meta-parsec
> > meta-integrity       =
> > "HEAD:070a1e82cc59424d230a23c0b2a104b01fbaa2ad"
> > meta-arm
> > meta-arm-toolchain
> > meta-arm-bsp         =
> > "HEAD:5f8b6a2d269c59c21273fee5417f2f0d90a086a1"
> > meta-freescale       =
> > "HEAD:d48d230b34292f8c61e5ead75e067fff404fb20c"
> > meta-freescale-3rdparty =
> > "HEAD:a9bba0f7fc3765431433886a3e78632dcfa7ad26"
> > meta-raspberrypi     =
> > "HEAD:8231f97534812cb0c6ab8d500eff44d3880fdac5"
> > meta-intel           =
> > "HEAD:52ce86a7f5f1ed751d80bc5e1d6b76db1c5b84c8"
> > meta-yocto-bsp       =
> > "HEAD:5d86975934b46a64b36f60c097bce7a577c1b8b0"
> > meta-xilinx-core
> > meta-xilinx-bsp
> > meta-xilinx-standalone =
> > "HEAD:0872170289d08996d821db4d8988647a13063269"
> > meta-xilinx-tools    =
> > "HEAD:65799115a9d3dd53053b08f6f1416ecf879f4898"
> > meta-tegra           =
> > "HEAD:fb4c603c504b6df9631f15a4734cbb8c42b1005a"
> > meta-ti-bsp
> > meta-ti-extras       =
> > "HEAD:d3bcad2cbe63d4e1cd2b4e4418d0b3b9c1f864ed"
> > meta-lmp-bsp         =
> > "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
> > meta                 =
> > "HEAD:795e85f62f3c88c08f24d986548ffe422f459cd0"
> >
> > [Errno 32] Broken pipeTraceback (most recent call last):
> >   File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 647, in main
> >     ret, error = server.runCommand(["ping"])
> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in
> > runCommand
> >     self.connection.send(command)
> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in send
> >     self._send(obj)
> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in _send
> >     self.writer.send_bytes(obj)
> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 200,
> > in send_bytes
> >     self._send_bytes(m[offset:offset + size])
> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 411,
> > in _send_bytes
> >     self._send(header + buf)
> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 368,
> > in _send
> >     n = write(self._handle, buf)
> > BrokenPipeError: [Errno 32] Broken pipe
> > During handling of the above exception, another exception occurred:
> > Traceback (most recent call last):
> >   File "/srv/oe/bitbake/bin/bitbake", line 36, in <module>
> >     sys.exit(bitbake_main(BitBakeConfigParameters(sys.argv),
> >   File "/srv/oe/bitbake/lib/bb/main.py", line 404, in bitbake_main
> >     return ui_module.main(server_connection.connection,
> > server_connection.events,
> >   File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 864, in main
> >     _, error = server.runCommand(["stateForceShutdown"])
> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in
> > runCommand
> >     self.connection.send(command)
> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in send
> >     self._send(obj)
> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in _send
> >     self.writer.send_bytes(obj)
> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 200,
> > in send_bytes
> >     self._send_bytes(m[offset:offset + size])
> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 411,
> > in _send_bytes
> >     self._send(header + buf)
> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 368,
> > in _send
> >     n = write(self._handle, buf)
> > BrokenPipeError: [Errno 32] Broken pipe
>
> Those tracebacks are the connection failing. Is there something
> more/different in the bitbake-cookerdaemon.log file?
>

Reverting this patch or disabling the custom logger solves the issue. Next
week I will share the cookerdaemon.log file.

Jose


> Cheers,
>
> Richard
>
>
>
Jose Quaresma Nov. 27, 2023, 12:16 p.m. UTC | #4
Jose Quaresma via lists.openembedded.org <quaresma.jose=
gmail.com@lists.openembedded.org> escreveu no dia sexta, 24/11/2023 à(s)
22:05:

>
>
> A sexta, 24/11/2023, 20:19, Richard Purdie <
> richard.purdie@linuxfoundation.org> escreveu:
>
>> On Fri, 2023-11-24 at 17:27 +0000, Jose Quaresma wrote:
>> > Hi Richard,
>> >
>> > I believe I found a regression in this patch.
>> > When we build with a custom BB_LOGCONFIG configuration, bitbake hangs
>> > at start-up
>> > in the ping command. Here is my build log:
>> >
>> > Loading cache...done.
>> > Loaded 6050 entries from dependency cache.
>> > (2023-11-24 16:06:39,801) INFO: Resolving any missing task queue
>> > dependencies
>> > (2023-11-24 16:06:46,455) Level 21:
>> > Build Configuration:
>> > BB_VERSION           = "2.6.0"
>> > BUILD_SYS            = "x86_64-linux"
>> > NATIVELSBSTRING      = "universal"
>> > TARGET_SYS           = "x86_64-lmp-linux"
>> > MACHINE              = "intel-corei7-64"
>> > DISTRO               = "lmp"
>> > DISTRO_VERSION       = "4.0.14-78-91"
>> > TUNE_FEATURES        = "m64 corei7"
>> > TARGET_FPU           = ""
>> > DISTRO_FEATURES      = "acl argp bluetooth ext2 ipv4 ipv6 largefile
>> > usbgadget usbhost wifi xattr zeroconf pci vfat modsign efi security
>> > tpm integrity seccomp pam usrmerge virtualization alsa sota systemd
>> > usrmerge"
>> > meta-lmp-base        =
>> > "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
>> > meta-oe
>> > meta-networking
>> > meta-filesystems
>> > meta-perl
>> > meta-python          =
>> > "HEAD:991e6852a53e0fcd40af8f0386d7f46bb318015e"
>> > meta-virtualization  =
>> > "HEAD:a215d8320edee0a317a6511e7e2efa5bba867486"
>> > meta-clang           =
>> > "HEAD:8aaed8f345683c2fb03a4d90f615f1e93f545a55"
>> > meta-updater         =
>> > "HEAD:defecf4523fe70d38ef0e264b46a38019d6d3088"
>> > meta-security
>> > meta-tpm
>> > meta-parsec
>> > meta-integrity       =
>> > "HEAD:070a1e82cc59424d230a23c0b2a104b01fbaa2ad"
>> > meta-arm
>> > meta-arm-toolchain
>> > meta-arm-bsp         =
>> > "HEAD:5f8b6a2d269c59c21273fee5417f2f0d90a086a1"
>> > meta-freescale       =
>> > "HEAD:d48d230b34292f8c61e5ead75e067fff404fb20c"
>> > meta-freescale-3rdparty =
>> > "HEAD:a9bba0f7fc3765431433886a3e78632dcfa7ad26"
>> > meta-raspberrypi     =
>> > "HEAD:8231f97534812cb0c6ab8d500eff44d3880fdac5"
>> > meta-intel           =
>> > "HEAD:52ce86a7f5f1ed751d80bc5e1d6b76db1c5b84c8"
>> > meta-yocto-bsp       =
>> > "HEAD:5d86975934b46a64b36f60c097bce7a577c1b8b0"
>> > meta-xilinx-core
>> > meta-xilinx-bsp
>> > meta-xilinx-standalone =
>> > "HEAD:0872170289d08996d821db4d8988647a13063269"
>> > meta-xilinx-tools    =
>> > "HEAD:65799115a9d3dd53053b08f6f1416ecf879f4898"
>> > meta-tegra           =
>> > "HEAD:fb4c603c504b6df9631f15a4734cbb8c42b1005a"
>> > meta-ti-bsp
>> > meta-ti-extras       =
>> > "HEAD:d3bcad2cbe63d4e1cd2b4e4418d0b3b9c1f864ed"
>> > meta-lmp-bsp         =
>> > "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
>> > meta                 =
>> > "HEAD:795e85f62f3c88c08f24d986548ffe422f459cd0"
>> >
>> > [Errno 32] Broken pipeTraceback (most recent call last):
>> >   File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 647, in main
>> >     ret, error = server.runCommand(["ping"])
>> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in
>> > runCommand
>> >     self.connection.send(command)
>> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in send
>> >     self._send(obj)
>> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in _send
>> >     self.writer.send_bytes(obj)
>> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 200,
>> > in send_bytes
>> >     self._send_bytes(m[offset:offset + size])
>> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 411,
>> > in _send_bytes
>> >     self._send(header + buf)
>> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 368,
>> > in _send
>> >     n = write(self._handle, buf)
>> > BrokenPipeError: [Errno 32] Broken pipe
>> > During handling of the above exception, another exception occurred:
>> > Traceback (most recent call last):
>> >   File "/srv/oe/bitbake/bin/bitbake", line 36, in <module>
>> >     sys.exit(bitbake_main(BitBakeConfigParameters(sys.argv),
>> >   File "/srv/oe/bitbake/lib/bb/main.py", line 404, in bitbake_main
>> >     return ui_module.main(server_connection.connection,
>> > server_connection.events,
>> >   File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 864, in main
>> >     _, error = server.runCommand(["stateForceShutdown"])
>> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in
>> > runCommand
>> >     self.connection.send(command)
>> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in send
>> >     self._send(obj)
>> >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in _send
>> >     self.writer.send_bytes(obj)
>> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 200,
>> > in send_bytes
>> >     self._send_bytes(m[offset:offset + size])
>> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 411,
>> > in _send_bytes
>> >     self._send(header + buf)
>> >   File "/usr/lib/python3.8/multiprocessing/connection.py", line 368,
>> > in _send
>> >     n = write(self._handle, buf)
>> > BrokenPipeError: [Errno 32] Broken pipe
>>
>> Those tracebacks are the connection failing. Is there something
>> more/different in the bitbake-cookerdaemon.log file?
>>
>
> Reverting this patch or disabling the custom logger solves the issue. Next
> week I will share the cookerdaemon.log file.
>

I can replicate the issue in a more easy way just running bitbake in debug
mode (with one -D) and
without any custom BB_LOGCONFIG. The result is the same as before, with
this patch reverted all good.

The bitbake-cookerdaemon.log don't gives much informations:

$ cat bitbake-cookerdaemon.log
365401 12:05:42.235324 --- Starting bitbake server pid 365401 at 2023-11-27
12:05:42.235314 ---
365401 12:05:42.235772 Started bitbake server pid 365401
365401 12:05:42.235869 Entering server connection loop
365401 12:05:42.235884 Lockfile is:
/lmp/build-lmp-intel-corei7-64-main-next-container/bitbake.lock
Socket is /lmp/build-lmp-intel-corei7-64-main-next-container/bitbake.sock
(True)
365401 12:05:42.236261 Accepting [<socket.socket fd=6,
family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0,
laddr=bitbake.sock>] ([])
365401 12:05:42.236848 Processing Client
365401 12:05:42.236864 Connecting Client
365401 12:05:42.237049 Running command ['setFeatures', [2, 1]]
365401 12:05:42.237068 Sending reply (None, None)
365401 12:05:42.237098 Command Completed (socket: True)
365401 12:05:42.237355 Running command ['updateConfig', {'halt': True,
'force': False, 'invalidate_stamp': None, 'dry_run': False,
'dump_signatures': [], 'extra_assume_provided': [], 'profile': False,
'prefile': [], 'postfile': [], 'server_timeout': None, 'nosetscene': False,
'setsceneonly': False, 'skipsetscene': False, 'runall': [], 'runonly':
None, 'writeeventlog': None, 'build_verbose_shell': False,
'build_verbose_stdout': False, 'default_loglevel': 10, 'debug_domains':
{}}, {'BB_ENV_PASSTHROUGH_ADDITIONS': 'MACHINE DISTRO TCLIBC TCMODE
GIT_PROXY_COMMAND         http_proxy ftp_proxy https_proxy all_proxy
ALL_PROXY no_proxy         SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY
SDKMACHINE         BB_NUMBER_THREADS BB_LOGCONFIG BB_CONSOLELOG', 'DISTRO':
'lmp', 'PWD': '/lmp/build-lmp-intel-corei7-64-main-next-container', 'HOME':
'/home/builder', 'MACHINE': 'intel-corei7-64', 'LC_ALL': 'en_US.UTF-8',
'PATH':
'/lmp/layers/openembedded-core/scripts:/lmp/bitbake/bin:/lmp/.repo/repo:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin',
'HOSTNAME': '35de7abf13b3', 'LANGUAGE': 'en_US:en', 'FIO_CHECK_CMD':
'/usr/bin/fiocheck', 'LANG': 'en_US.UTF-8', 'LS_COLORS':
'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:',
'LESSCLOSE': '/usr/bin/lesspipe %s %s', 'TERM': 'xterm', 'BRANCH':
'main-next-container', 'LESSOPEN': '| /usr/bin/lesspipe %s', 'GID': '1000',
'SHLVL': '1', 'LMP_VERSION_CACHE_DEV': '', 'BUILDDIR':
'/lmp/build-lmp-intel-corei7-64-main-next-container', 'UID': '1000',
'FIO_PUSH_CMD': '/usr/bin/fiopush', 'OLDPWD': '/lmp', '_':
'/lmp/bitbake/bin/bitbake'}, ['/lmp/bitbake/bin/bitbake', '-D',
'lmp-base-console-image']]
365401 12:05:44.150807 Base config valid
365401 12:05:44.152325 Sending reply (None, None)
365401 12:05:44.152371 Command Completed (socket: True)
365401 12:05:44.152499 Running command ['getVariable', 'BBINCLUDELOGS']
365401 12:05:44.152524 Sending reply ('yes', None)
365401 12:05:44.152551 Command Completed (socket: True)
365401 12:05:44.152597 Running command ['getVariable',
'BBINCLUDELOGS_LINES']
365401 12:05:44.152609 Sending reply (None, None)
365401 12:05:44.152633 Command Completed (socket: True)
365401 12:05:44.152670 Running command ['getSetVariable', 'BB_CONSOLELOG']
365401 12:05:44.152722 Sending reply
('/lmp/build-lmp-intel-corei7-64-main-next-container/tmp-lmp/log/cooker/intel-corei7-64/20231127120542.log',
None)
365401 12:05:44.152746 Command Completed (socket: True)
365401 12:05:44.152781 Running command ['getSetVariable', 'BB_LOGCONFIG']
365401 12:05:44.152801 Sending reply (None, None)
365401 12:05:44.152833 Command Completed (socket: True)
365401 12:05:44.154006 Running command ['getUIHandlerNum']
365401 12:05:44.154015 Sending reply (1, None)
365401 12:05:44.154038 Command Completed (socket: True)
365401 12:05:44.154089 Running command ['setEventMask', 1, 10,
{'BitBake.RunQueue.HashEquiv': 19, 'BitBake.SigGen.HashEquiv': 19},
['bb.runqueue.runQueueExitWait', 'bb.event.LogExecTTY',
'logging.LogRecord', 'bb.build.TaskFailed', 'bb.build.TaskBase',
'bb.event.ParseStarted', 'bb.event.ParseProgress',
'bb.event.ParseCompleted', 'bb.event.CacheLoadStarted',
'bb.event.CacheLoadProgress', 'bb.event.CacheLoadCompleted',
'bb.command.CommandFailed', 'bb.command.CommandExit',
'bb.command.CommandCompleted', 'bb.cooker.CookerExit',
'bb.event.MultipleProviders', 'bb.event.NoProvider',
'bb.runqueue.sceneQueueTaskStarted', 'bb.runqueue.runQueueTaskStarted',
'bb.runqueue.runQueueTaskFailed', 'bb.runqueue.sceneQueueTaskFailed',
'bb.event.BuildBase', 'bb.build.TaskStarted', 'bb.build.TaskSucceeded',
'bb.build.TaskFailedSilent', 'bb.build.TaskProgress',
'bb.event.ProcessStarted', 'bb.event.ProcessProgress',
'bb.event.ProcessFinished']]
365401 12:05:44.154104 Sending reply (True, None)
365401 12:05:44.154128 Command Completed (socket: True)
365401 12:05:44.154168 Running command ['getVariable', 'BB_DEFAULT_TASK']
365401 12:05:44.154184 Sending reply ('build', None)
365401 12:05:44.154206 Command Completed (socket: True)
365401 12:05:44.154244 Running command ['setConfig', 'cmd', 'build']
365401 12:05:44.154254 Sending reply (None, None)
365401 12:05:44.154276 Command Completed (socket: True)
365401 12:05:44.154312 Running command ['buildTargets',
['lmp-base-console-image'], 'build']
365401 12:05:44.154336 Registering idle function <bound method
Command.runAsyncCommand of <bb.command.Command object at 0x7f95d7d54550>>
365401 12:05:44.154341 Sending reply (True, None)
365401 12:05:44.154363 Command Completed (socket: True)
365401 12:05:44.187394 Parsing started
365401 12:05:52.095762 Parse cache valid


Jose


>
> Jose
>
>
>> Cheers,
>>
>> Richard
>>
>>
>>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#15570):
> https://lists.openembedded.org/g/bitbake-devel/message/15570
> Mute This Topic: https://lists.openembedded.org/mt/102630301/5052612
> Group Owner: bitbake-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [
> quaresma.jose@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Richard Purdie Nov. 27, 2023, 1:43 p.m. UTC | #5
On Mon, 2023-11-27 at 12:16 +0000, Jose Quaresma wrote:
> 
> 
> Jose Quaresma via lists.openembedded.org
> <quaresma.jose=gmail.com@lists.openembedded.org> escreveu no dia
> sexta, 24/11/2023 à(s) 22:05:
> > 
> > 
> > A sexta, 24/11/2023, 20:19, Richard Purdie
> > <richard.purdie@linuxfoundation.org> escreveu:
> > > On Fri, 2023-11-24 at 17:27 +0000, Jose Quaresma wrote:
> > > > Hi Richard,
> > > > 
> > > > I believe I found a regression in this patch.
> > > > When we build with a custom BB_LOGCONFIG configuration, bitbake
> > > > hangs
> > > > at start-up
> > > > in the ping command. Here is my build log:
> > > > 
> > > > Loading cache...done.
> > > > Loaded 6050 entries from dependency cache.
> > > > (2023-11-24 16:06:39,801) INFO: Resolving any missing task
> > > > queue
> > > > dependencies
> > > > (2023-11-24 16:06:46,455) Level 21: 
> > > > Build Configuration:
> > > > BB_VERSION           = "2.6.0"
> > > > BUILD_SYS            = "x86_64-linux"
> > > > NATIVELSBSTRING      = "universal"
> > > > TARGET_SYS           = "x86_64-lmp-linux"
> > > > MACHINE              = "intel-corei7-64"
> > > > DISTRO               = "lmp"
> > > > DISTRO_VERSION       = "4.0.14-78-91"
> > > > TUNE_FEATURES        = "m64 corei7"
> > > > TARGET_FPU           = ""
> > > > DISTRO_FEATURES      = "acl argp bluetooth ext2 ipv4 ipv6
> > > > largefile
> > > > usbgadget usbhost wifi xattr zeroconf pci vfat modsign efi
> > > > security
> > > > tpm integrity seccomp pam usrmerge virtualization alsa sota
> > > > systemd
> > > > usrmerge"
> > > > meta-lmp-base        =
> > > > "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
> > > > meta-oe              
> > > > meta-networking      
> > > > meta-filesystems     
> > > > meta-perl            
> > > > meta-python          =
> > > > "HEAD:991e6852a53e0fcd40af8f0386d7f46bb318015e"
> > > > meta-virtualization  =
> > > > "HEAD:a215d8320edee0a317a6511e7e2efa5bba867486"
> > > > meta-clang           =
> > > > "HEAD:8aaed8f345683c2fb03a4d90f615f1e93f545a55"
> > > > meta-updater         =
> > > > "HEAD:defecf4523fe70d38efCompleted (socket: True)
> > > > > 365401 12:05:44.152781 Running 0e264b46a38019d6d3088"
> > > > meta-security        
> > > > meta-tpm             
> > > > meta-parsec          
> > > > meta-integrity       =
> > > > "HEAD:070a1e82cc59424d230a23c0b2a104b01fbaa2ad"
> > > > meta-arm             
> > > > meta-arm-toolchain   
> > > > meta-arm-bsp         =
> > > > "HEAD:5f8b6a2d269c59c21273fee5417f2f0d90a086a1"
> > > > meta-freescale       =
> > > > "HEAD:d48d230b34292f8c61e5ead75e067fff404fb20c"
> > > > meta-freescale-3rdparty =
> > > > "HEAD:a9bba0f7fc3765431433886a3e78632dcfa7ad26"
> > > > meta-raspberrypi     =
> > > > "HEAD:8231f97534812cb0c6ab8d500eff44d3880fdac5"
> > > > meta-intel           =
> > > > "HEAD:52ce86a7f5f1ed751d80bc5e1d6b76db1c5b84c8"
> > > > meta-yocto-bsp       =
> > > > "HEAD:5d86975934b46a64b36f60c097bce7a577c1b8b0"
> > > > meta-xilinx-core     
> > > > meta-xilinx-bsp      
> > > > meta-xilinx-standalone =
> > > > "HEAD:0872170289d08996d821db4d8988647a13063269"
> > > > meta-xilinx-tools    =
> > > > "HEAD:65799115a9d3dd53053b08f6f1416ecf879f4898"
> > > > meta-tegra           =
> > > > "HEAD:fb4c603c504b6df9631f15a4734cbb8c42b1005a"
> > > > meta-ti-bsp          
> > > > meta-ti-extras       =
> > > > "HEAD:d3bcad2cbe63d4e1cd2b4e4418d0b3b9c1f864ed"
> > > > meta-lmp-bsp         =
> > > > "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
> > > > meta                 =
> > > > "HEAD:795e85f62f3c88c08f24d986548ffe422f459cd0"
> > > > 
> > > > [Errno 32] Broken pipeTraceback (most recent call last):
> > > >   File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 647, in main
> > > >     ret, error = server.runCommand(["ping"])
> > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in
> > > > runCommand
> > > >     self.connection.send(command)
> > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in
> > > > send
> > > >     self._send(obj)
> > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in
> > > > _send
> > > >     self.writer.send_bytes(obj)
> > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > 200,
> > > > in send_bytes
> > > >     self._send_bytes(m[offset:offset + size])
> > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > 411,
> > > > in _send_bytes
> > > >     self._send(header + buf)
> > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > 368,
> > > > in _send
> > > >     n = write(self._handle, buf)
> > > > BrokenPipeError: [Errno 32] Broken pipe
> > > > During handling of the above exception, another exception
> > > > occurred:
> > > > Traceback (most recent call last):
> > > >   File "/srv/oe/bitbake/bin/bitbake", line 36, in <module>
> > > >     sys.exit(bitbake_main(BitBakeConfigParameters(sys.argv),
> > > >   File "/srv/oe/bitbake/lib/bb/main.py", line 404, in
> > > > bitbake_main
> > > >     return ui_module.main(server_connection.connection,
> > > > server_connection.events,
> > > >   File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 864, in main
> > > >     _, error = server.runCommand(["stateForceShutdown"])
> > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in
> > > > runCommand
> > > >     self.connection.send(command)
> > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in
> > > > send
> > > >     self._send(obj)
> > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in
> > > > _send
> > > >     self.writer.send_bytes(obj)
> > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > 200,
> > > > in send_bytes
> > > >     self._send_bytes(m[offset:offset + size])
> > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > 411,
> > > > in _send_bytes
> > > >     self._send(header + buf)
> > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > 368,
> > > > in _send
> > > >     n = write(self._handle, buf)
> > > > BrokenPipeError: [Errno 32] Broken pipe
> > > 
> > > Those tracebacks are the connection failing. Is there something
> > > more/different in the bitbake-cookerdaemon.log file?
> >  
> > Reverting this patch or disabling the custom logger solves the
> > issue. Next week I will share the cookerdaemon.log file.
> > 
> 
> 
> I can replicate the issue in a more easy way just running bitbake in
> debug mode (with one -D) and
> without any custom BB_LOGCONFIG. The result is the same as before,
> with this patch reverted all good.

I was able to find a reproducer for what is likely the same issue and
there is a patch on the bitbake list (and in master-next) to try and
address this. Can you see if that helps please?

Cheers,

Richard
Jose Quaresma Nov. 27, 2023, 2:19 p.m. UTC | #6
Richard Purdie <richard.purdie@linuxfoundation.org> escreveu no dia
segunda, 27/11/2023 à(s) 13:43:

> On Mon, 2023-11-27 at 12:16 +0000, Jose Quaresma wrote:
> >
> >
> > Jose Quaresma via lists.openembedded.org
> > <quaresma.jose=gmail.com@lists.openembedded.org> escreveu no dia
> > sexta, 24/11/2023 à(s) 22:05:
> > >
> > >
> > > A sexta, 24/11/2023, 20:19, Richard Purdie
> > > <richard.purdie@linuxfoundation.org> escreveu:
> > > > On Fri, 2023-11-24 at 17:27 +0000, Jose Quaresma wrote:
> > > > > Hi Richard,
> > > > >
> > > > > I believe I found a regression in this patch.
> > > > > When we build with a custom BB_LOGCONFIG configuration, bitbake
> > > > > hangs
> > > > > at start-up
> > > > > in the ping command. Here is my build log:
> > > > >
> > > > > Loading cache...done.
> > > > > Loaded 6050 entries from dependency cache.
> > > > > (2023-11-24 16:06:39,801) INFO: Resolving any missing task
> > > > > queue
> > > > > dependencies
> > > > > (2023-11-24 16:06:46,455) Level 21:
> > > > > Build Configuration:
> > > > > BB_VERSION           = "2.6.0"
> > > > > BUILD_SYS            = "x86_64-linux"
> > > > > NATIVELSBSTRING      = "universal"
> > > > > TARGET_SYS           = "x86_64-lmp-linux"
> > > > > MACHINE              = "intel-corei7-64"
> > > > > DISTRO               = "lmp"
> > > > > DISTRO_VERSION       = "4.0.14-78-91"
> > > > > TUNE_FEATURES        = "m64 corei7"
> > > > > TARGET_FPU           = ""
> > > > > DISTRO_FEATURES      = "acl argp bluetooth ext2 ipv4 ipv6
> > > > > largefile
> > > > > usbgadget usbhost wifi xattr zeroconf pci vfat modsign efi
> > > > > security
> > > > > tpm integrity seccomp pam usrmerge virtualization alsa sota
> > > > > systemd
> > > > > usrmerge"
> > > > > meta-lmp-base        =
> > > > > "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
> > > > > meta-oe
> > > > > meta-networking
> > > > > meta-filesystems
> > > > > meta-perl
> > > > > meta-python          =
> > > > > "HEAD:991e6852a53e0fcd40af8f0386d7f46bb318015e"
> > > > > meta-virtualization  =
> > > > > "HEAD:a215d8320edee0a317a6511e7e2efa5bba867486"
> > > > > meta-clang           =
> > > > > "HEAD:8aaed8f345683c2fb03a4d90f615f1e93f545a55"
> > > > > meta-updater         =
> > > > > "HEAD:defecf4523fe70d38efCompleted (socket: True)
> > > > > > 365401 12:05:44.152781 Running 0e264b46a38019d6d3088"
> > > > > meta-security
> > > > > meta-tpm
> > > > > meta-parsec
> > > > > meta-integrity       =
> > > > > "HEAD:070a1e82cc59424d230a23c0b2a104b01fbaa2ad"
> > > > > meta-arm
> > > > > meta-arm-toolchain
> > > > > meta-arm-bsp         =
> > > > > "HEAD:5f8b6a2d269c59c21273fee5417f2f0d90a086a1"
> > > > > meta-freescale       =
> > > > > "HEAD:d48d230b34292f8c61e5ead75e067fff404fb20c"
> > > > > meta-freescale-3rdparty =
> > > > > "HEAD:a9bba0f7fc3765431433886a3e78632dcfa7ad26"
> > > > > meta-raspberrypi     =
> > > > > "HEAD:8231f97534812cb0c6ab8d500eff44d3880fdac5"
> > > > > meta-intel           =
> > > > > "HEAD:52ce86a7f5f1ed751d80bc5e1d6b76db1c5b84c8"
> > > > > meta-yocto-bsp       =
> > > > > "HEAD:5d86975934b46a64b36f60c097bce7a577c1b8b0"
> > > > > meta-xilinx-core
> > > > > meta-xilinx-bsp
> > > > > meta-xilinx-standalone =
> > > > > "HEAD:0872170289d08996d821db4d8988647a13063269"
> > > > > meta-xilinx-tools    =
> > > > > "HEAD:65799115a9d3dd53053b08f6f1416ecf879f4898"
> > > > > meta-tegra           =
> > > > > "HEAD:fb4c603c504b6df9631f15a4734cbb8c42b1005a"
> > > > > meta-ti-bsp
> > > > > meta-ti-extras       =
> > > > > "HEAD:d3bcad2cbe63d4e1cd2b4e4418d0b3b9c1f864ed"
> > > > > meta-lmp-bsp         =
> > > > > "HEAD:3a18fbcdb5629b1056c14af2ec72f21bb829893f"
> > > > > meta                 =
> > > > > "HEAD:795e85f62f3c88c08f24d986548ffe422f459cd0"
> > > > >
> > > > > [Errno 32] Broken pipeTraceback (most recent call last):
> > > > >   File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 647, in main
> > > > >     ret, error = server.runCommand(["ping"])
> > > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in
> > > > > runCommand
> > > > >     self.connection.send(command)
> > > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in
> > > > > send
> > > > >     self._send(obj)
> > > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in
> > > > > _send
> > > > >     self.writer.send_bytes(obj)
> > > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > > 200,
> > > > > in send_bytes
> > > > >     self._send_bytes(m[offset:offset + size])
> > > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > > 411,
> > > > > in _send_bytes
> > > > >     self._send(header + buf)
> > > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > > 368,
> > > > > in _send
> > > > >     n = write(self._handle, buf)
> > > > > BrokenPipeError: [Errno 32] Broken pipe
> > > > > During handling of the above exception, another exception
> > > > > occurred:
> > > > > Traceback (most recent call last):
> > > > >   File "/srv/oe/bitbake/bin/bitbake", line 36, in <module>
> > > > >     sys.exit(bitbake_main(BitBakeConfigParameters(sys.argv),
> > > > >   File "/srv/oe/bitbake/lib/bb/main.py", line 404, in
> > > > > bitbake_main
> > > > >     return ui_module.main(server_connection.connection,
> > > > > server_connection.events,
> > > > >   File "/srv/oe/bitbake/lib/bb/ui/knotty.py", line 864, in main
> > > > >     _, error = server.runCommand(["stateForceShutdown"])
> > > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 503, in
> > > > > runCommand
> > > > >     self.connection.send(command)
> > > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 868, in
> > > > > send
> > > > >     self._send(obj)
> > > > >   File "/srv/oe/bitbake/lib/bb/server/process.py", line 847, in
> > > > > _send
> > > > >     self.writer.send_bytes(obj)
> > > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > > 200,
> > > > > in send_bytes
> > > > >     self._send_bytes(m[offset:offset + size])
> > > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > > 411,
> > > > > in _send_bytes
> > > > >     self._send(header + buf)
> > > > >   File "/usr/lib/python3.8/multiprocessing/connection.py", line
> > > > > 368,
> > > > > in _send
> > > > >     n = write(self._handle, buf)
> > > > > BrokenPipeError: [Errno 32] Broken pipe
> > > >
> > > > Those tracebacks are the connection failing. Is there something
> > > > more/different in the bitbake-cookerdaemon.log file?
> > >
> > > Reverting this patch or disabling the custom logger solves the
> > > issue. Next week I will share the cookerdaemon.log file.
> > >
> >
> >
> > I can replicate the issue in a more easy way just running bitbake in
> > debug mode (with one -D) and
> > without any custom BB_LOGCONFIG. The result is the same as before,
> > with this patch reverted all good.
>
> I was able to find a reproducer for what is likely the same issue and
> there is a patch on the bitbake list (and in master-next) to try and
> address this. Can you see if that helps please?
>

Yup, a quick test with -D and the bellow patch solves the issue.

* 49cdfc99 cooker: Avoid variable listing lockups

Thanks for your help.

Jose


>
> Cheers,
>
> Richard
>
diff mbox series

Patch

diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 4bf1809bc0..9f84030962 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -303,6 +303,10 @@  class BBCooker:
         self.data_hash = self.databuilder.data_hash
         self.extraconfigdata = {}
 
+        eventlog = self.data.getVar("BB_DEFAULT_EVENTLOG")
+        if not self.configuration.writeeventlog and eventlog:
+            self.setupEventLog(eventlog)
+
         if consolelog:
             self.data.setVar("BB_CONSOLELOG", consolelog)
 
@@ -409,6 +413,18 @@  class BBCooker:
 
         self._parsecache_set(False)
 
+    def setupEventLog(self, eventlog):
+        if self.eventlog and self.eventlog[0] != eventlog:
+            bb.event.unregister_UIHhandler(self.eventlog[1])
+        if not self.eventlog or self.eventlog[0] != eventlog:
+            # we log all events to a file if so directed
+            # register the log file writer as UI Handler
+            if not os.path.exists(os.path.dirname(eventlog)):
+                bb.utils.mkdirhier(os.path.dirname(eventlog))
+            writer = EventWriter(self, eventlog)
+            EventLogWriteHandler = namedtuple('EventLogWriteHandler', ['event'])
+            self.eventlog = (eventlog, bb.event.register_UIHhandler(EventLogWriteHandler(writer)))
+
     def updateConfigOpts(self, options, environment, cmdline):
         self.ui_cmdline = cmdline
         clean = True
@@ -428,14 +444,7 @@  class BBCooker:
                 setattr(self.configuration, o, options[o])
 
         if self.configuration.writeeventlog:
-            if self.eventlog and self.eventlog[0] != self.configuration.writeeventlog:
-                bb.event.unregister_UIHhandler(self.eventlog[1])
-            if not self.eventlog or self.eventlog[0] != self.configuration.writeeventlog:
-                # we log all events to a file if so directed
-                # register the log file writer as UI Handler
-                writer = EventWriter(self, self.configuration.writeeventlog)
-                EventLogWriteHandler = namedtuple('EventLogWriteHandler', ['event'])
-                self.eventlog = (self.configuration.writeeventlog, bb.event.register_UIHhandler(EventLogWriteHandler(writer)))
+            self.setupEventLog(self.configuration.writeeventlog)
 
         bb.msg.loggerDefaultLogLevel = self.configuration.default_loglevel
         bb.msg.loggerDefaultDomains = self.configuration.debug_domains