| Message ID | 20240429201418.657042-3-michael.opdenacker@bootlin.com |
|---|---|
| State | Accepted, archived |
| Commit | 19a5595e3f70d61fd6fa414f9fd5b413a02de37b |
| Headers | show |
| Series | prserv: add support for an "upstream" server | expand |
Hi Michael
I am seeing a problem with this series, specifically following
patchset is causing a regression
* ea1d7b8a36e bitbake: prserv: add bitbake selftests
* 5c66d345300 bitbake: prserv: import simplification
* c23f2c1680f bitbake: prserv: store_value() improvements
* 395b321af29 bitbake: prserv: avoid possible race condition in database code
* 8022dc1029d bitbake: prserv: enable database sharing
* b81bfdfbed8 bitbake: prserv: add "upstream" server support
* 9539ce3b14a bitbake: prserv: move code from __init__ to bitbake-prserv
* 4ec1553710b bitbake: prserv: declare "max_package_pr" client hook
error seen during packagedata task of base-files
WARNING: base-files-3.0.14-r0 do_packagedata: Error talking to server:
Connection closed
ERROR: Error from client ('127.0.0.1', 59846): 'PRTable' object has no
attribute 'sync'
Traceback (most recent call last):
File "/mnt/b/yoe/master/sources/poky/bitbake/lib/bb/asyncrpc/serv.py",
line 278, in PRServer._client_handler(socket=<bb.asyncrpc.connection.StreamConnection
object at 0x794b1e009110>):
client = self.accept_client(socket)
> await client.process_requests()
except Exception as e:
File "/mnt/b/yoe/master/sources/poky/bitbake/lib/prserv/serv.py",
line 171, in PRServerClient.process_requests():
try:
> await super().process_requests()
finally:
File "/mnt/b/yoe/master/sources/poky/bitbake/lib/bb/asyncrpc/serv.py",
line 92, in PRServerClient.process_requests():
try:
> response = await self.dispatch_message(d)
except InvokeError as e:
File "/mnt/b/yoe/master/sources/poky/bitbake/lib/prserv/serv.py",
line 45, in PRServerClient.dispatch_message(msg={'get-pr': {'version':
'base-files-3.0.14-r0', 'pkgarch': 'imx8qm_var_som', 'checksum':
'0d287eea3da9a2573dfd3fbc709ef8697f2553563ff1211efc733f215d510663',
'history': False}}):
except:
> self.server.table.sync()
raise
AttributeError: 'PRTable' object has no attribute 'sync'
To reproduce this you will need to add a bbappend for base-files from
https://github.com/varigit/meta-variscite-bsp-imx/blob/hardknott/recipes-core/base-files/base-files_%25.bbappend
You can make the overrides match the machine you might be building if
not one of variscite machine.
Thanks
-Khem
On Mon, Apr 29, 2024 at 1:14 PM Michael Opdenacker via
lists.openembedded.org
<michael.opdenacker=bootlin.com@lists.openembedded.org> wrote:
>
> From: Michael Opdenacker <michael.opdenacker@bootlin.com>
>
> This script was the only user of this code.
>
> Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
> Cc: Joshua Watt <JPEWhacker@gmail.com>
> Cc: Tim Orling <ticotimo@gmail.com>
> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> ---
> bin/bitbake-prserv | 9 ++++++++-
> lib/prserv/__init__.py | 13 -------------
> 2 files changed, 8 insertions(+), 14 deletions(-)
>
> diff --git a/bin/bitbake-prserv b/bin/bitbake-prserv
> index ad0a069401..920663a1d8 100755
> --- a/bin/bitbake-prserv
> +++ b/bin/bitbake-prserv
> @@ -21,6 +21,13 @@ VERSION = "1.1.0"
> PRHOST_DEFAULT="0.0.0.0"
> PRPORT_DEFAULT=8585
>
> +def init_logger(logfile, loglevel):
> + numeric_level = getattr(logging, loglevel.upper(), None)
> + if not isinstance(numeric_level, int):
> + raise ValueError("Invalid log level: %s" % loglevel)
> + FORMAT = "%(asctime)-15s %(message)s"
> + logging.basicConfig(level=numeric_level, filename=logfile, format=FORMAT)
> +
> def main():
> parser = argparse.ArgumentParser(
> description="BitBake PR Server. Version=%s" % VERSION,
> @@ -72,7 +79,7 @@ def main():
> )
>
> args = parser.parse_args()
> - prserv.init_logger(os.path.abspath(args.log), args.loglevel)
> + init_logger(os.path.abspath(args.log), args.loglevel)
>
> if args.start:
> ret=prserv.serv.start_daemon(args.file, args.host, args.port, os.path.abspath(args.log), args.read_only)
> diff --git a/lib/prserv/__init__.py b/lib/prserv/__init__.py
> index 0e0aa34d0e..94658b815d 100644
> --- a/lib/prserv/__init__.py
> +++ b/lib/prserv/__init__.py
> @@ -5,16 +5,3 @@
> #
>
> __version__ = "1.0.0"
> -
> -import os, time
> -import sys, logging
> -
> -def init_logger(logfile, loglevel):
> - numeric_level = getattr(logging, loglevel.upper(), None)
> - if not isinstance(numeric_level, int):
> - raise ValueError("Invalid log level: %s" % loglevel)
> - FORMAT = "%(asctime)-15s %(message)s"
> - logging.basicConfig(level=numeric_level, filename=logfile, format=FORMAT)
> -
> -class NotFoundError(Exception):
> - pass
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#16151): https://lists.openembedded.org/g/bitbake-devel/message/16151
> Mute This Topic: https://lists.openembedded.org/mt/105808694/1997914
> Group Owner: bitbake-devel+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/bitbake-devel/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Hi Khem On 5/2/24 at 18:57, Khem Raj wrote: > Hi Michael > > I am seeing a problem with this series, specifically following > patchset is causing a regression > > * ea1d7b8a36e bitbake: prserv: add bitbake selftests > * 5c66d345300 bitbake: prserv: import simplification > * c23f2c1680f bitbake: prserv: store_value() improvements > * 395b321af29 bitbake: prserv: avoid possible race condition in database code > * 8022dc1029d bitbake: prserv: enable database sharing > * b81bfdfbed8 bitbake: prserv: add "upstream" server support > * 9539ce3b14a bitbake: prserv: move code from __init__ to bitbake-prserv > * 4ec1553710b bitbake: prserv: declare "max_package_pr" client hook > > > error seen during packagedata task of base-files > > WARNING: base-files-3.0.14-r0 do_packagedata: Error talking to server: > Connection closed > ERROR: Error from client ('127.0.0.1', 59846): 'PRTable' object has no > attribute 'sync' > Traceback (most recent call last): Thanks for the review. Actually, did you test with the V6 update I sent? Cheers Michael.
On Fri, May 3, 2024 at 1:04 AM Michael Opdenacker < michael.opdenacker@bootlin.com> wrote: > Hi Khem > > On 5/2/24 at 18:57, Khem Raj wrote: > > Hi Michael > > > > I am seeing a problem with this series, specifically following > > patchset is causing a regression > > > > * ea1d7b8a36e bitbake: prserv: add bitbake selftests > > * 5c66d345300 bitbake: prserv: import simplification > > * c23f2c1680f bitbake: prserv: store_value() improvements > > * 395b321af29 bitbake: prserv: avoid possible race condition in database > code > > * 8022dc1029d bitbake: prserv: enable database sharing > > * b81bfdfbed8 bitbake: prserv: add "upstream" server support > > * 9539ce3b14a bitbake: prserv: move code from __init__ to bitbake-prserv > > * 4ec1553710b bitbake: prserv: declare "max_package_pr" client hook > > > > > > error seen during packagedata task of base-files > > > > WARNING: base-files-3.0.14-r0 do_packagedata: Error talking to server: > > Connection closed > > ERROR: Error from client ('127.0.0.1', 59846): 'PRTable' object has no > > attribute 'sync' > > Traceback (most recent call last): > > > Thanks for the review. Actually, did you test with the V6 update I sent? I think it was version in master-next that Richard has staged > > Cheers > Michael. > > -- > Michael Opdenacker, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com > >
On Fri, 2024-05-03 at 07:14 -0700, Khem Raj via lists.openembedded.org wrote: > > > On Fri, May 3, 2024 at 1:04 AM Michael Opdenacker > <michael.opdenacker@bootlin.com> wrote: > > Hi Khem > > > > On 5/2/24 at 18:57, Khem Raj wrote: > > > Hi Michael > > > > > > I am seeing a problem with this series, specifically following > > > patchset is causing a regression > > > > > > * ea1d7b8a36e bitbake: prserv: add bitbake selftests > > > * 5c66d345300 bitbake: prserv: import simplification > > > * c23f2c1680f bitbake: prserv: store_value() improvements > > > * 395b321af29 bitbake: prserv: avoid possible race condition in > > > database code > > > * 8022dc1029d bitbake: prserv: enable database sharing > > > * b81bfdfbed8 bitbake: prserv: add "upstream" server support > > > * 9539ce3b14a bitbake: prserv: move code from __init__ to > > > bitbake-prserv > > > * 4ec1553710b bitbake: prserv: declare "max_package_pr" client > > > hook > > > > > > > > > error seen during packagedata task of base-files > > > > > > WARNING: base-files-3.0.14-r0 do_packagedata: Error talking to > > > server: > > > Connection closed > > > ERROR: Error from client ('127.0.0.1', 59846): 'PRTable' object > > > has no > > > attribute 'sync' > > > Traceback (most recent call last): > > > > > > Thanks for the review. Actually, did you test with the V6 update I > > sent? > > > > > I think it was version in master-next that Richard has staged > It was against v6 so I'm not able to merge these until that is fixed. Cheers, Richard
On Wed, May 8, 2024 at 6:35 AM Richard Purdie <richard.purdie@linuxfoundation.org> wrote: > > On Fri, 2024-05-03 at 07:14 -0700, Khem Raj via lists.openembedded.org > wrote: > > > > > > On Fri, May 3, 2024 at 1:04 AM Michael Opdenacker > > <michael.opdenacker@bootlin.com> wrote: > > > Hi Khem > > > > > > On 5/2/24 at 18:57, Khem Raj wrote: > > > > Hi Michael > > > > > > > > I am seeing a problem with this series, specifically following > > > > patchset is causing a regression > > > > > > > > * ea1d7b8a36e bitbake: prserv: add bitbake selftests > > > > * 5c66d345300 bitbake: prserv: import simplification > > > > * c23f2c1680f bitbake: prserv: store_value() improvements > > > > * 395b321af29 bitbake: prserv: avoid possible race condition in > > > > database code > > > > * 8022dc1029d bitbake: prserv: enable database sharing > > > > * b81bfdfbed8 bitbake: prserv: add "upstream" server support > > > > * 9539ce3b14a bitbake: prserv: move code from __init__ to > > > > bitbake-prserv > > > > * 4ec1553710b bitbake: prserv: declare "max_package_pr" client > > > > hook > > > > > > > > > > > > error seen during packagedata task of base-files > > > > > > > > WARNING: base-files-3.0.14-r0 do_packagedata: Error talking to > > > > server: > > > > Connection closed > > > > ERROR: Error from client ('127.0.0.1', 59846): 'PRTable' object > > > > has no > > > > attribute 'sync' > > > > Traceback (most recent call last): > > > > > > > > > Thanks for the review. Actually, did you test with the V6 update I > > > sent? > > > > > > > > > I think it was version in master-next that Richard has staged > > > > It was against v6 so I'm not able to merge these until that is fixed. > Right, I will try a clean from scratch build and see if it was something intermediate to be sure. > Cheers, > > Richard
Richard, Khem, On 5/8/24 at 20:43, Khem Raj wrote: > On Wed, May 8, 2024 at 6:35 AM Richard Purdie > <richard.purdie@linuxfoundation.org> wrote: >> On Fri, 2024-05-03 at 07:14 -0700, Khem Raj via lists.openembedded.org >> wrote: >>> >>> On Fri, May 3, 2024 at 1:04 AM Michael Opdenacker >>> <michael.opdenacker@bootlin.com> wrote: >>>> Hi Khem >>>> >>>> On 5/2/24 at 18:57, Khem Raj wrote: >>>>> Hi Michael >>>>> >>>>> I am seeing a problem with this series, specifically following >>>>> patchset is causing a regression >>>>> >>>>> * ea1d7b8a36e bitbake: prserv: add bitbake selftests >>>>> * 5c66d345300 bitbake: prserv: import simplification >>>>> * c23f2c1680f bitbake: prserv: store_value() improvements >>>>> * 395b321af29 bitbake: prserv: avoid possible race condition in >>>>> database code >>>>> * 8022dc1029d bitbake: prserv: enable database sharing >>>>> * b81bfdfbed8 bitbake: prserv: add "upstream" server support >>>>> * 9539ce3b14a bitbake: prserv: move code from __init__ to >>>>> bitbake-prserv >>>>> * 4ec1553710b bitbake: prserv: declare "max_package_pr" client >>>>> hook >>>>> >>>>> >>>>> error seen during packagedata task of base-files >>>>> >>>>> WARNING: base-files-3.0.14-r0 do_packagedata: Error talking to >>>>> server: >>>>> Connection closed >>>>> ERROR: Error from client ('127.0.0.1', 59846): 'PRTable' object >>>>> has no >>>>> attribute 'sync' >>>>> Traceback (most recent call last): >>>> >>>> Thanks for the review. Actually, did you test with the V6 update I >>>> sent? >>>> >>> >>> I think it was version in master-next that Richard has staged >>> >> It was against v6 so I'm not able to merge these until that is fixed. >> > Right, I will try a clean from scratch build and see if it was something > intermediate to be sure. Thanks for testing. I confirm the issue is still there. My apologies for this overlook! This is a busy week for me, but I will submit a fix as soon as I get the time, and before the end of the week anyway. Kind regards Michael.
On Wed, May 8, 2024 at 10:41 AM Michael Opdenacker <michael.opdenacker@bootlin.com> wrote: > > Richard, Khem, > > On 5/8/24 at 20:43, Khem Raj wrote: > > On Wed, May 8, 2024 at 6:35 AM Richard Purdie > > <richard.purdie@linuxfoundation.org> wrote: > >> On Fri, 2024-05-03 at 07:14 -0700, Khem Raj via lists.openembedded.org > >> wrote: > >>> > >>> On Fri, May 3, 2024 at 1:04 AM Michael Opdenacker > >>> <michael.opdenacker@bootlin.com> wrote: > >>>> Hi Khem > >>>> > >>>> On 5/2/24 at 18:57, Khem Raj wrote: > >>>>> Hi Michael > >>>>> > >>>>> I am seeing a problem with this series, specifically following > >>>>> patchset is causing a regression > >>>>> > >>>>> * ea1d7b8a36e bitbake: prserv: add bitbake selftests > >>>>> * 5c66d345300 bitbake: prserv: import simplification > >>>>> * c23f2c1680f bitbake: prserv: store_value() improvements > >>>>> * 395b321af29 bitbake: prserv: avoid possible race condition in > >>>>> database code > >>>>> * 8022dc1029d bitbake: prserv: enable database sharing > >>>>> * b81bfdfbed8 bitbake: prserv: add "upstream" server support > >>>>> * 9539ce3b14a bitbake: prserv: move code from __init__ to > >>>>> bitbake-prserv > >>>>> * 4ec1553710b bitbake: prserv: declare "max_package_pr" client > >>>>> hook > >>>>> > >>>>> > >>>>> error seen during packagedata task of base-files > >>>>> > >>>>> WARNING: base-files-3.0.14-r0 do_packagedata: Error talking to > >>>>> server: > >>>>> Connection closed > >>>>> ERROR: Error from client ('127.0.0.1', 59846): 'PRTable' object > >>>>> has no > >>>>> attribute 'sync' > >>>>> Traceback (most recent call last): > >>>> > >>>> Thanks for the review. Actually, did you test with the V6 update I > >>>> sent? > >>>> > >>> > >>> I think it was version in master-next that Richard has staged > >>> > >> It was against v6 so I'm not able to merge these until that is fixed. > >> > > Right, I will try a clean from scratch build and see if it was something > > intermediate to be sure. > > > Thanks for testing. > I confirm the issue is still there. My apologies for this overlook! > This is a busy week for me, but I will submit a fix as soon as I get the > time, and before the end of the week anyway. FWIW the new patchset seems to work well for issue I was seeing > > Kind regards > Michael. > > -- > Michael Opdenacker, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com >
diff --git a/bin/bitbake-prserv b/bin/bitbake-prserv index ad0a069401..920663a1d8 100755 --- a/bin/bitbake-prserv +++ b/bin/bitbake-prserv @@ -21,6 +21,13 @@ VERSION = "1.1.0" PRHOST_DEFAULT="0.0.0.0" PRPORT_DEFAULT=8585 +def init_logger(logfile, loglevel): + numeric_level = getattr(logging, loglevel.upper(), None) + if not isinstance(numeric_level, int): + raise ValueError("Invalid log level: %s" % loglevel) + FORMAT = "%(asctime)-15s %(message)s" + logging.basicConfig(level=numeric_level, filename=logfile, format=FORMAT) + def main(): parser = argparse.ArgumentParser( description="BitBake PR Server. Version=%s" % VERSION, @@ -72,7 +79,7 @@ def main(): ) args = parser.parse_args() - prserv.init_logger(os.path.abspath(args.log), args.loglevel) + init_logger(os.path.abspath(args.log), args.loglevel) if args.start: ret=prserv.serv.start_daemon(args.file, args.host, args.port, os.path.abspath(args.log), args.read_only) diff --git a/lib/prserv/__init__.py b/lib/prserv/__init__.py index 0e0aa34d0e..94658b815d 100644 --- a/lib/prserv/__init__.py +++ b/lib/prserv/__init__.py @@ -5,16 +5,3 @@ # __version__ = "1.0.0" - -import os, time -import sys, logging - -def init_logger(logfile, loglevel): - numeric_level = getattr(logging, loglevel.upper(), None) - if not isinstance(numeric_level, int): - raise ValueError("Invalid log level: %s" % loglevel) - FORMAT = "%(asctime)-15s %(message)s" - logging.basicConfig(level=numeric_level, filename=logfile, format=FORMAT) - -class NotFoundError(Exception): - pass