On 12/05/2023 15:45:49+0200, Thomas Roos via lists.openembedded.org wrote: > From: Thomas Roos <thr...@amazon.de> > > This function is not necessary. > > [YOCTO #13872] >
This fails on the AB: https://autobuilder.yoctoproject.org/typhoon/#/builders/73/builds/7052/steps/13/logs/stdio The stack trace of python calls that resulted in this exception/failure was: File: 'exec_func_python() autogenerated', lineno: 2, function: <module> 0001: *** 0002:do_testimage(d) 0003: File: '/home/pokybuild/yocto-worker/qemux86-64/build/meta/classes-recipe/testimage.bbclass', lineno: 125, function: do_testimage 0121: dump-guest-memory {"paging":false,"protocol":"file:%s.img"} 0122:} 0123: 0124:python do_testimage() { *** 0125: testimage_main(d) 0126:} 0127: 0128:addtask testimage 0129:do_testimage[nostamp] = "1" File: '/home/pokybuild/yocto-worker/qemux86-64/build/meta/classes-recipe/testimage.bbclass', lineno: 331, function: testimage_main 0327: # runtime use network for download projects for build 0328: export_proxies(d) 0329: 0330: # we need the host dumper in test context *** 0331: host_dumper = OERuntimeTestContextExecutor.getHostDumper( 0332: d.getVar("TESTIMAGE_DUMP_DIR")) 0333: 0334: # the robot dance 0335: target = OERuntimeTestContextExecutor.getTarget( Exception: TypeError: OERuntimeTestContextExecutor.getHostDumper() missing 1 required positional argument: 'directory' > Signed-off-by: Thomas Roos <thr...@amazon.de> > --- > meta/classes-recipe/testexport.bbclass | 3 +-- > meta/classes-recipe/testimage.bbclass | 13 ------------- > meta/lib/oeqa/targetcontrol.py | 2 -- > meta/lib/oeqa/utils/qemurunner.py | 15 +-------------- > 4 files changed, 2 insertions(+), 31 deletions(-) > > diff --git a/meta/classes-recipe/testexport.bbclass > b/meta/classes-recipe/testexport.bbclass > index 0f0c56107f..9888356158 100644 > --- a/meta/classes-recipe/testexport.bbclass > +++ b/meta/classes-recipe/testexport.bbclass > @@ -61,8 +61,7 @@ def testexport_main(d): > d.getVar("TEST_TARGET"), None, d.getVar("TEST_TARGET_IP"), > d.getVar("TEST_SERVER_IP")) > > - host_dumper = OERuntimeTestContextExecutor.getHostDumper( > - d.getVar("testimage_dump_host"), d.getVar("TESTIMAGE_DUMP_DIR")) > + host_dumper = > OERuntimeTestContextExecutor.getHostDumper(d.getVar("TESTIMAGE_DUMP_DIR")) > > image_manifest = "%s.manifest" % image_name > image_packages = > OERuntimeTestContextExecutor.readPackagesManifest(image_manifest) > diff --git a/meta/classes-recipe/testimage.bbclass > b/meta/classes-recipe/testimage.bbclass > index b48cd96575..c1836cf20a 100644 > --- a/meta/classes-recipe/testimage.bbclass > +++ b/meta/classes-recipe/testimage.bbclass > @@ -115,18 +115,6 @@ testimage_dump_target () { > find /var/log/ -type f 2>/dev/null -exec echo "====================" \; > -exec echo {} \; -exec echo "====================" \; -exec cat {} \; -exec > echo "" \; > } > > -testimage_dump_host () { > - top -bn1 > - iostat -x -z -N -d -p ALL 20 2 > - ps -ef > - free > - df > - memstat > - dmesg > - ip -s link > - netstat -an > -} > - > testimage_dump_monitor () { > query-status > query-block > @@ -341,7 +329,6 @@ def testimage_main(d): > > # we need the host dumper in test context > host_dumper = OERuntimeTestContextExecutor.getHostDumper( > - d.getVar("testimage_dump_host"), > d.getVar("TESTIMAGE_DUMP_DIR")) > > # the robot dance > diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py > index d686fe07ec..e21655c979 100644 > --- a/meta/lib/oeqa/targetcontrol.py > +++ b/meta/lib/oeqa/targetcontrol.py > @@ -104,7 +104,6 @@ class QemuTarget(BaseTarget): > self.kernel = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), > d.getVar("KERNEL_IMAGETYPE", False) + '-' + d.getVar('MACHINE', False) + > '.bin') > self.qemulog = os.path.join(self.testdir, "qemu_boot_log.%s" % > self.datetime) > dump_target_cmds = d.getVar("testimage_dump_target") > - dump_host_cmds = d.getVar("testimage_dump_host") > dump_monitor_cmds = d.getVar("testimage_dump_monitor") > dump_dir = d.getVar("TESTIMAGE_DUMP_DIR") > if not dump_dir: > @@ -141,7 +140,6 @@ class QemuTarget(BaseTarget): > boottime = > int(d.getVar("TEST_QEMUBOOT_TIMEOUT")), > use_kvm = use_kvm, > dump_dir = dump_dir, > - dump_host_cmds = dump_host_cmds, > logger = logger, > tmpfsdir = d.getVar("RUNQEMU_TMPFS_DIR"), > serial_ports = > len(d.getVar("SERIAL_CONSOLES").split())) > diff --git a/meta/lib/oeqa/utils/qemurunner.py > b/meta/lib/oeqa/utils/qemurunner.py > index 6734cee48d..1f162a4e33 100644 > --- a/meta/lib/oeqa/utils/qemurunner.py > +++ b/meta/lib/oeqa/utils/qemurunner.py > @@ -33,7 +33,7 @@ re_control_char = re.compile('[%s]' % > re.escape("".join(control_chars))) > > class QemuRunner: > > - def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, > logfile, boottime, dump_dir, dump_host_cmds, > + def __init__(self, machine, rootfs, display, tmpdir, deploy_dir_image, > logfile, boottime, dump_dir, > use_kvm, logger, use_slirp=False, serial_ports=2, > boot_patterns = defaultdict(str), use_ovmf=False, workdir=None, > tmpfsdir=None): > > # Popen object for runqemu > @@ -69,7 +69,6 @@ class QemuRunner: > if not workdir: > workdir = os.getcwd() > self.qemu_pidfile = workdir + '/pidfile_' + str(os.getpid()) > - self.host_dumper = HostDumper(dump_host_cmds, dump_dir) > self.monitorpipe = None > > self.logger = logger > @@ -138,7 +137,6 @@ class QemuRunner: > self.logger.error('runqemu exited with code %d' % > self.runqemu.returncode) > self.logger.error('Output from runqemu:\n%s' % > self.getOutput(self.runqemu.stdout)) > self.stop() > - self._dump_host() > > def start(self, qemuparams = None, get_ip = True, extra_bootparams = > None, runqemuparams='', launch_cmd=None, discard_writes=True): > env = os.environ.copy() > @@ -286,7 +284,6 @@ class QemuRunner: > if self.runqemu.returncode: > # No point waiting any longer > self.logger.warning('runqemu exited with code %d' % > self.runqemu.returncode) > - self._dump_host() > self.logger.warning("Output from runqemu:\n%s" % > self.getOutput(output)) > self.stop() > return False > @@ -314,7 +311,6 @@ class QemuRunner: > ps = subprocess.Popen(['ps', 'axww', '-o', > 'pid,ppid,pri,ni,command '], stdout=subprocess.PIPE).communicate()[0] > processes = ps.decode("utf-8") > self.logger.debug("Running processes:\n%s" % processes) > - self._dump_host() > op = self.getOutput(output) > self.stop() > if op: > @@ -430,7 +426,6 @@ class QemuRunner: > self.logger.error("Couldn't get ip from qemu command > line and runqemu output! " > "Here is the qemu command line used:\n%s\n" > "and output from runqemu:\n%s" % (cmdline, > out)) > - self._dump_host() > self.stop() > return False > > @@ -507,7 +502,6 @@ class QemuRunner: > lines = tail(bootlog if bootlog else self.msg) > self.logger.warning("Last 25 lines of text (%d):\n%s" % > (len(bootlog), lines)) > self.logger.warning("Check full boot log: %s" % self.logfile) > - self._dump_host() > self.stop() > return False > > @@ -688,13 +682,6 @@ class QemuRunner: > status = 1 > return (status, str(data)) > > - > - def _dump_host(self): > - self.host_dumper.create_dir("qemu") > - self.logger.warning("Qemu ended unexpectedly, dump data from host" > - " is in %s" % self.host_dumper.dump_dir) > - self.host_dumper.dump_host() > - > # This class is for reading data from a socket and passing it to logfunc > # to be processed. It's completely event driven and has a straightforward > # event loop. The mechanism for stopping the thread is a simple pipe which > -- > 2.34.1 > > > > > Amazon Web Services EMEA SARL > 38 avenue John F. Kennedy, L-1855 Luxembourg > Sitz der Gesellschaft: L-1855 Luxemburg > eingetragen im Luxemburgischen Handelsregister unter R.C.S. B186284 > > Amazon Web Services EMEA SARL, Niederlassung Deutschland > Marcel-Breuer-Str. 12, D-80807 Muenchen > Sitz der Zweigniederlassung: Muenchen > eingetragen im Handelsregister des Amtsgerichts Muenchen unter HRB 242240, > USt-ID DE317013094 > > > > > > > -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#181222): https://lists.openembedded.org/g/openembedded-core/message/181222 Mute This Topic: https://lists.openembedded.org/mt/98849300/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-