Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py", line 657, in cli_main main() File "/usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py", line 352, in main run_compose( File "/usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py", line 488, in run_compose essentials_phase.stop() File "/usr/lib/python3.12/site-packages/pungi/phases/weaver.py", line 59, in stop self.pool.stop() File "/usr/lib/python3.12/site-packages/kobo/threads.py", line 120, in stop six.reraise(exc_info[0], exc_info[1], exc_info[2]) File "/usr/lib/python3.12/site-packages/six.py", line 719, in reraise raise value File "/usr/lib/python3.12/site-packages/kobo/threads.py", line 67, in run self.process(item, num) File "/usr/lib/python3.12/site-packages/pungi/phases/weaver.py", line 80, in process phase.start() File "/usr/lib/python3.12/site-packages/pungi/phases/base.py", line 66, in start self.run() File "/usr/lib/python3.12/site-packages/pungi/phases/gather/phase.py", line 122, in run pkg_map = gather_wrapper( ^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/pungi/phases/gather/phase.py", line 843, in gather_wrapper _gather_variants(result, compose, "variant", package_sets) File "/usr/lib/python3.12/site-packages/pungi/phases/gather/phase.py", line 790, in _gather_variants raise exc File "/usr/lib/python3.12/site-packages/pungi/phases/gather/phase.py", line 767, in worker que.put((arch, gather_packages(*args, **kwargs))) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/pungi/phases/gather/phase.py", line 433, in gather_packages result = get_gather_method("hybrid")(compose)( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/pungi/phases/gather/methods/method_hybrid.py", line 219, in __call__ nvrs, out_modules = self.run_solver( ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/pungi/phases/gather/methods/method_hybrid.py", line 278, in run_solver run(cmd, logfile=logfile, show_cmd=True, env=env) File "/usr/lib/python3.12/site-packages/kobo/shortcuts.py", line 408, in run raise exc RuntimeError: ERROR running command: fus --verbose --arch aarch64 --repo=lookaside-0,lookaside,/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/BaseOS/lookaside_repo --repo=repo-0,repo,/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/repo/c9s-candidate '--exclude=*openh264*' --exclude=OpenIPMI-perl --exclude=glibc32 --exclude=javapackages-bootstrap '--exclude=kernel-rt*' --exclude=libgcc32 --exclude=python3-openipmi --exclude=scap-security-guide-rule-playbooks --exclude=selinux-policy-automotive --exclude=selinux-policy-minimum @/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/fus/AppStream-solvables-1.aarch64.conf For more details see /mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/logs/aarch64/hybrid-depsolver-AppStream-iter-1.aarch64.log Frame run in /usr/lib/python3.12/site-packages/kobo/shortcuts.py at line 408 401 err_msg = "ERROR running command: %s" % cmd 402 if logfile: 403 err_msg += "\nFor more details see %s" % logfile 404 405 if proc.returncode != 0 and not can_fail: 406 exc = RuntimeError(err_msg) 407 exc.output = output --> 408 raise exc 409 410 if proc.returncode != 0 and show_cmd: 411 print(err_msg, file=sys.stderr) 412 413 if not return_stdout: 414 output = None buffer_size = 4096 can_fail = False cmd = "fus --verbose --arch aarch64 --repo=lookaside-0,lookaside,/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/BaseOS/lookaside_repo --repo=repo-0,repo,/mnt/centos/compo command = b"COMMAND: fus --verbose --arch aarch64 --repo=lookaside-0,lookaside,/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/BaseOS/lookaside_repo --repo=repo-0,repo,/mnt/ce encoding = 'utf-8' err_msg = "ERROR running command: fus --verbose --arch aarch64 --repo=lookaside-0,lookaside,/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/BaseOS/lookaside_repo --repo=repo-0 errors = None exc = RuntimeError("ERROR running command: fus --verbose --arch aarch64 --repo=lookaside-0,lookaside,/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/BaseOS/lookaside_repo exception = None is_text_mode = False kwargs = {'env': {'SHELL': '/bin/bash', 'RUN_TESTS_DISPLAY_URL': 'http://unconfigured-jenkins-location/job/stream10-gen2-compose/88/display/redirect?page=tests', 'JENKINS_SERVER_COOKIE': 'durable-248547138963d leftover = None lines = b'' log = <_io.BufferedWriter name='/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/logs/aarch64/hybrid-depsolver-AppStream-iter-1.aarch64.log'> logfile = '/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/logs/aarch64/hybrid-depsolver-AppStream-iter-1.aarch64.log' mode = 'wb' output = b'/bin/sh: line 1: fus: command not found\n' proc = return_stdout = True sentinel = b'' show_cmd = True stdin = None stdin_data = None stdout = False text = False universal_newlines = False workdir = None Frame run_solver in /usr/lib/python3.12/site-packages/pungi/phases/gather/methods/method_hybrid.py at line 278 271 # useless for us anyway). 272 env = os.environ.copy() 273 env["G_MESSAGES_PREFIXED"] = "" 274 env["XDG_CACHE_HOME"] = cache_dir 275 self.compose.log_debug( 276 "[BEGIN] Running fus (arch: %s, variant: %s)" % (arch, variant) 277 ) --> 278 run(cmd, logfile=logfile, show_cmd=True, env=env) 279 output, out_modules = fus.parse_output(logfile) 280 self.compose.log_debug( 281 "[DONE ] Running fus (arch: %s, variant: %s)" % (arch, variant) 282 ) 283 # No need to resolve modules again. They are not going to change. 284 modules = [] arch = 'aarch64' cache_dir = '/tmp/fus-cache-CentOS-Stream-9-20260716.t.0-AppStream-aarch64-0q018j_2' cmd = ['fus', '--verbose', '--arch', 'aarch64', '--repo=lookaside-0,lookaside,/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/BaseOS/lookaside_repo', '--repo=repo-0,repo,/ conf_file = '/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/fus/AppStream-solvables-1.aarch64.conf' env = {'SHELL': '/bin/bash', 'RUN_TESTS_DISPLAY_URL': 'http://unconfigured-jenkins-location/job/stream10-gen2-compose/88/display/redirect?page=tests', 'JENKINS_SERVER_COOKIE': 'durable-248547138963dd0e99cf8 filter_packages = ['*openh264*', 'javapackages-bootstrap', 'scap-security-guide-rule-playbooks', 'glibc32', 'selinux-policy-automotive', 'python3-openipmi', 'libgcc32', 'kernel-rt*', 'selinux-policy-minimum', 'OpenIPMI input_packages = ['libbytesize.aarch64', 'aardvark-dns', 'lohit-telugu-fonts.noarch', 'cpp.aarch64', 'hunspell-lv.noarch', 'tog-pegasus', 'speech-dispatcher', 'hunspell-ny.noarch', 'lorax-templates-rhel.noarch', 'pyth logfile = '/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/logs/aarch64/hybrid-depsolver-AppStream-iter-1.aarch64.log' modules = [] packages = {('libbytesize', 'aarch64'), ('aardvark-dns', None), ('lohit-telugu-fonts', 'noarch'), ('cpp', 'aarch64'), ('hunspell-lv', 'noarch'), ('tog-pegasus', None), ('speech-dispatcher', None), ('hunspell-ny' pkg_arch = None pkg_name = 'texlive-fontbook' platform = None repos = ['/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/repo/c9s-candidate'] result_modules = set() results = set() self = self.added_langpacks = set() self.arch = 'aarch64' self.compose = self.debuginfo = defaultdict(. at 0x7fa5f8296160>, {}) self.langpacks = {} self.modular_packages = set() self.multilib = self.multilib_methods = [] self.package_maps = {} self.package_sets = [] self.packages = {} self.processed_debuginfo = set() self.processed_multilib = set() self.valid_arches = ['aarch64', 'noarch'] self.variant = Variant(id="AppStream", name="AppStream", type="variant", parent=None) step = 1 variant = Variant(id="AppStream", name="AppStream", type="variant", parent=None) Frame __call__ in /usr/lib/python3.12/site-packages/pungi/phases/gather/methods/method_hybrid.py at line 219 212 213 # Filters are received as tuples (name, arch), we should convert it to 214 # strings. 215 filters = [_fmt_pkg(*p) for p in filter_packages] 216 217 cache_prefix = "fus-cache-%s-%s-%s-" % (self.compose.compose_id, variant, arch) 218 with temp_dir(prefix=cache_prefix) as cache_dir: --> 219 nvrs, out_modules = self.run_solver( 220 variant, arch, packages, platform, filters, cache_dir=cache_dir 221 ) 222 filter_modules(variant, arch, out_modules) 223 return expand_packages( 224 self._get_pkg_map(arch), 225 get_lookaside_repos(self.compose, arch, variant), arch = 'aarch64' cache_dir = '/tmp/fus-cache-CentOS-Stream-9-20260716.t.0-AppStream-aarch64-0q018j_2' cache_prefix = 'fus-cache-CentOS-Stream-9-20260716.t.0-AppStream-aarch64-' filter_packages = {('*openh264*', None), ('javapackages-bootstrap', None), ('scap-security-guide-rule-playbooks', None), ('glibc32', None), ('selinux-policy-automotive', None), ('python3-openipmi', None), ('libgcc32', filters = ['*openh264*', 'javapackages-bootstrap', 'scap-security-guide-rule-playbooks', 'glibc32', 'selinux-policy-automotive', 'python3-openipmi', 'libgcc32', 'kernel-rt*', 'selinux-policy-minimum', 'OpenIPMI groups = {'platform-devel', 'backup-client', 'graphical-admin-tools', 'mail-server', 'web-server', 'java-platform', 'internet-applications', 'debugging', 'anaconda-tools', 'hardware-monitoring', 'network-file- kwargs = {'fulltree_excludes': set()} multilib_blacklist = {'postgresql*', 'mariadb-embedded*', 'freeradius*', 'totem', 'php-*', 'mysql-libs', 'java-*', 'bash*', 'xapian-core*', 'ldns-devel*', 'tcl*', 'gnome-software*', 'librelp-devel*', 'mecab', 'mariadb-dev multilib_whitelist = {'openssl-fips-provider', 'valgrind', 'papi', 'openssl-fips-provider-so', 'p11-kit-trust', 'gcc-toolset-13-libgccjit', 'gcc-toolset-15-libgccjit', 'gcc-toolset-14-libgccjit', 'gcc-toolset-9-valgrind'} package_sets = [] packages = {('libbytesize', 'aarch64'), ('aardvark-dns', None), ('lohit-telugu-fonts', 'noarch'), ('cpp', 'aarch64'), ('hunspell-lv', 'noarch'), ('tog-pegasus', None), ('speech-dispatcher', None), ('hunspell-ny' platform = None prepopulate = {'liblangtag.aarch64', 'qt5.noarch', 'python3-lxml.aarch64', 'apcu-panel.noarch', 'texlive-unicode-math.noarch', 'thai-scalable-kinnari-fonts.noarch', 'bitmap-fangsongti-fonts.noarch', 'pcp-pmda-nginx self = self.added_langpacks = set() self.arch = 'aarch64' self.compose = self.debuginfo = defaultdict(. at 0x7fa5f8296160>, {}) self.langpacks = {} self.modular_packages = set() self.multilib = self.multilib_methods = [] self.package_maps = {} self.package_sets = [] self.packages = {} self.processed_debuginfo = set() self.processed_multilib = set() self.valid_arches = ['aarch64', 'noarch'] self.variant = Variant(id="AppStream", name="AppStream", type="variant", parent=None) variant = Variant(id="AppStream", name="AppStream", type="variant", parent=None) Frame gather_packages in /usr/lib/python3.12/site-packages/pungi/phases/gather/phase.py at line 433 426 filter_packages = [] 427 428 # Here we do want to get list of comps groups and additional packages. 429 packages, groups, filter_packages = get_variant_packages( 430 compose, arch, variant, "comps", package_sets 431 ) 432 --> 433 result = get_gather_method("hybrid")(compose)( 434 arch, 435 variant, 436 packages=packages, 437 groups=groups, 438 filter_packages=filter_packages, 439 multilib_whitelist=multilib_whitelist, arch = 'aarch64' compose = filter_packages = {('*openh264*', None), ('javapackages-bootstrap', None), ('scap-security-guide-rule-playbooks', None), ('glibc32', None), ('selinux-policy-automotive', None), ('python3-openipmi', None), ('libgcc32', fulltree_excludes = set() global_method_name = None groups = {'platform-devel', 'backup-client', 'graphical-admin-tools', 'mail-server', 'web-server', 'java-platform', 'internet-applications', 'debugging', 'anaconda-tools', 'hardware-monitoring', 'network-file- methods = 'hybrid' msg = 'Gathering packages (arch: aarch64, variant: AppStream)' multilib_blacklist = {'postgresql*', 'mariadb-embedded*', 'freeradius*', 'totem', 'php-*', 'mysql-libs', 'java-*', 'bash*', 'xapian-core*', 'ldns-devel*', 'tcl*', 'gnome-software*', 'librelp-devel*', 'mecab', 'mariadb-dev multilib_whitelist = {'openssl-fips-provider', 'valgrind', 'papi', 'openssl-fips-provider-so', 'p11-kit-trust', 'gcc-toolset-13-libgccjit', 'gcc-toolset-15-libgccjit', 'gcc-toolset-14-libgccjit', 'gcc-toolset-9-valgrind'} package_sets = [] packages = {('libbytesize', 'aarch64'), ('aardvark-dns', None), ('lohit-telugu-fonts', 'noarch'), ('cpp', 'aarch64'), ('hunspell-lv', 'noarch'), ('tog-pegasus', None), ('speech-dispatcher', None), ('hunspell-ny' prepopulate = {'liblangtag.aarch64', 'qt5.noarch', 'python3-lxml.aarch64', 'apcu-panel.noarch', 'texlive-unicode-math.noarch', 'thai-scalable-kinnari-fonts.noarch', 'bitmap-fangsongti-fonts.noarch', 'pcp-pmda-nginx result = {'rpm': [], 'srpm': [], 'debuginfo': []} reused_result = None variant = Variant(id="AppStream", name="AppStream", type="variant", parent=None) Frame worker in /usr/lib/python3.12/site-packages/pungi/phases/gather/phase.py at line 767 760 # Get lookaside repos for this variant from other variants. Based 761 # on the ordering we already know that we have the packages from 762 # there. 763 _update_lookaside_config(compose, variant, arch, result, package_sets) 764 765 def worker(que, errors, arch, *args, **kwargs): 766 try: --> 767 que.put((arch, gather_packages(*args, **kwargs))) 768 except Exception as exc: 769 compose.log_error( 770 "Error in gathering for %s.%s: %s", variant, arch, exc 771 ) 772 compose.traceback("gather-%s-%s" % (variant, arch)) 773 errors.put(exc) arch = 'aarch64' args = compose = errors = kwargs = {'fulltree_excludes': set()} que = variant = Variant(id="AppStream", name="AppStream", type="variant", parent=None) Frame _gather_variants in /usr/lib/python3.12/site-packages/pungi/phases/gather/phase.py at line 790 783 t.start() 784 785 for t in threads_list: 786 t.join() 787 788 while not errors.empty(): 789 exc = errors.get() --> 790 raise exc 791 792 while not que.empty(): 793 arch, pkg_map = que.get() 794 result.setdefault(arch, {})[variant.uid] = pkg_map 795 796 # Remove the module -> pkgset mapping to save memory arch = 'x86_64' compose = errors = exc = RuntimeError("ERROR running command: fus --verbose --arch aarch64 --repo=lookaside-0,lookaside,/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/BaseOS/lookaside_repo exclude_fulltree = False fulltree_excludes = set() package_sets = [] pkg_map = {'rpm': [{'path': '/mnt/centos/koji/packages/stunnel/5.71/2.el9/x86_64/stunnel-5.71-2.el9.x86_64.rpm', 'flags': ['input', 'prepopulate']}, {'path': '/mnt/centos/koji/packages/jitterentropy/3.7.0/1.el9 que = result = {'s390x': {'BaseOS': {'rpm': [{'path': '/mnt/centos/koji/packages/curl/7.76.1/43.el9/s390x/libcurl-7.76.1-43.el9.s390x.rpm', 'flags': ['input', 'prepopulate']}, {'path': '/mnt/centos/koji/packages/cur t = threads_list = [, , , .worker at 0x7fa5b1686c00> Frame gather_wrapper in /usr/lib/python3.12/site-packages/pungi/phases/gather/phase.py at line 843 836 parent_pkg_map[pkg_type].append(pkg) 837 return all_included_packages 838 839 840 def gather_wrapper(compose, package_sets, path_prefix): 841 result = {} 842 --> 843 _gather_variants(result, compose, "variant", package_sets) 844 _gather_variants(result, compose, "addon", package_sets, exclude_fulltree=True) 845 _gather_variants( 846 result, compose, "layered-product", package_sets, exclude_fulltree=True 847 ) 848 _gather_variants(result, compose, "optional", package_sets) 849 compose = package_sets = [] path_prefix = '/mnt/centos/koji/' result = {'s390x': {'BaseOS': {'rpm': [{'path': '/mnt/centos/koji/packages/curl/7.76.1/43.el9/s390x/libcurl-7.76.1-43.el9.s390x.rpm', 'flags': ['input', 'prepopulate']}, {'path': '/mnt/centos/koji/packages/cur Frame run in /usr/lib/python3.12/site-packages/pungi/phases/gather/phase.py at line 122 115 raise ValueError("\n".join(errors)) 116 117 def _write_manifest(self): 118 self.compose.log_info("Writing RPM manifest: %s" % self.manifest_file) 119 self.manifest.dump(self.manifest_file) 120 121 def run(self): --> 122 pkg_map = gather_wrapper( 123 self.compose, self.pkgset_phase.package_sets, self.pkgset_phase.path_prefix 124 ) 125 126 for variant_uid in get_ordered_variant_uids(self.compose): 127 variant = self.compose.all_variants[variant_uid] 128 if variant.is_empty: self = self._skipped = False self._start_time = 1784227406.9273326 self.compose = self.finished = False self.manifest = self.manifest_file = '/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/compose/metadata/rpms.json' self.msg = '---------- PHASE: GATHER ----------' self.name = 'gather' self.pkgset_phase = self.used_patterns = None Frame start in /usr/lib/python3.12/site-packages/pungi/phases/base.py at line 66 59 if self._skipped: 60 self.compose.log_warning("[SKIP ] %s" % self.msg) 61 self.finished = True 62 return 63 self._start_time = time.time() 64 self.compose.log_info("[BEGIN] %s" % self.msg) 65 self.compose.notifier.send("phase-start", phase_name=self.name) --> 66 self.run() 67 68 def get_config_block(self, variant, arch=None): 69 """In config for current phase, find a block corresponding to given 70 variant and arch. The arch should be given if and only if the config 71 uses variant/arch mapping. 72 """ self = self._skipped = False self._start_time = 1784227406.9273326 self.compose = self.finished = False self.manifest = self.manifest_file = '/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/compose/metadata/rpms.json' self.msg = '---------- PHASE: GATHER ----------' self.name = 'gather' self.pkgset_phase = self.used_patterns = None Frame process in /usr/lib/python3.12/site-packages/pungi/phases/weaver.py at line 80 73 num, 74 self.pool.queue_total, 75 phases_names, 76 ) 77 self.pool.log_info("[BEGIN] %s" % (msg,)) 78 79 for phase in pipeline: --> 80 phase.start() 81 phase.stop() 82 83 self.pool.log_info("[DONE ] %s" % (msg,)) item = [, ] msg = 'Running pipeline (2/4). Phases: gather, createrepo' num = 2 phase = phases_names = 'gather, createrepo' pipeline = [, ] self = self._args = self._daemonic = False self._ident = 140350821086912 self._initialized = True self._is_stopped = True self._kwargs = {} self._name = 'Thread-49' self._native_id = 2621813 self._started = self._stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'> self._target = None self._tstate_lock = None self.daemon = False self.failed = True self.get_timeout = 1 self.ident = 140350821086912 self.kill = True self.name = 'Thread-49' self.native_id = 2621813 self.pool = self.running = False self.traceparent = None Frame run in /usr/lib/python3.12/site-packages/kobo/threads.py at line 67 60 61 self.pool.queue_get_lock.acquire() 62 self.pool.queue_processed += 1 63 num = self.pool.queue_processed 64 self.pool.queue_get_lock.release() 65 66 try: --> 67 self.process(item, num) 68 except: 69 self.failed = True 70 self.pool.exceptions.append(sys.exc_info()) 71 self.pool.kill() 72 73 def process(self, item, num): item = [, ] num = 2 self = self._args = self._daemonic = False self._ident = 140350821086912 self._initialized = True self._is_stopped = True self._kwargs = {} self._name = 'Thread-49' self._native_id = 2621813 self._started = self._stderr = <_io.TextIOWrapper name='' mode='w' encoding='utf-8'> self._target = None self._tstate_lock = None self.daemon = False self.failed = True self.get_timeout = 1 self.ident = 140350821086912 self.kill = True self.name = 'Thread-49' self.native_id = 2621813 self.pool = self.running = False self.traceparent = None Frame reraise in /usr/lib/python3.12/site-packages/six.py at line 719 712 713 def reraise(tp, value, tb=None): 714 try: 715 if value is None: 716 value = tp() 717 if value.__traceback__ is not tb: 718 raise value.with_traceback(tb) --> 719 raise value 720 finally: 721 value = None 722 tb = None 723 724 else: 725 def exec_(_code_, _globs_=None, _locs_=None): tb = None tp = value = None Frame stop in /usr/lib/python3.12/site-packages/kobo/threads.py at line 120 113 """ 114 for i in self.threads: 115 i.running = False 116 for i in self.threads: 117 i.join() 118 if self.exceptions: 119 exc_info = self.exceptions[0] --> 120 six.reraise(exc_info[0], exc_info[1], exc_info[2]) 121 122 def kill(self): 123 for i in self.threads: 124 i.kill = True 125 i.running = False 126 exc_info = i = self = self._logger = self.exceptions = [(, RuntimeError("ERROR running command: fus --verbose --arch aarch64 --repo=lookaside-0,lookaside,/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarc self.queue = self.queue_get_lock = self.queue_processed = 4 self.queue_put_lock = self.queue_total = 4 self.threads = [, , , Frame stop in /usr/lib/python3.12/site-packages/pungi/phases/weaver.py at line 59 52 53 self.pool.start() 54 55 def stop(self): 56 if self.finished: 57 return 58 if hasattr(self, "pool"): --> 59 self.pool.stop() 60 self.finished = True 61 self.compose.log_info("[DONE ] %s" % self.msg) 62 63 64 class PipelineThread(WorkerThread): 65 """ self = self._phases_schema = self.compose = self.finished = False self.msg = '---------- PHASE: WEAVER ----------' self.name = 'weaver' self.pool = Frame run_compose in /usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py at line 488 481 extrafiles_phase, 482 ostree_phase, 483 ) 484 essentials_phase = pungi.phases.WeaverPhase(compose, essentials_schema) 485 essentials_phase.start() 486 ostree_container_phase.start() 487 try: --> 488 essentials_phase.stop() 489 490 # write treeinfo before ISOs are created 491 for variant in compose.get_variants(): 492 for arch in variant.arches + ["src"]: 493 pungi.metadata.write_tree_info( 494 compose, arch, variant, bi=buildinstall_phase buildinstall_phase = compose = config_copy_path = '/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/logs/global/config-copy' config_dump_full = '/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/logs/global/config-dump.global.log' config_file = '/home/composer/jenkins/workspace/stream10-gen2-compose/pungi-centos/centos/variables.conf' create_latest_link = True createiso_phase = createrepo_phase = errors = [] essentials_phase = essentials_schema = extra_isos_phase = extrafiles_phase = f = <_io.TextIOWrapper name='/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/logs/global/config-dump.global.log' mode='w' encoding='UTF-8'> gather_phase = image_build_phase = image_checksum_phase = imagebuilder_phase = init_phase = installed_pkgs_log = '/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/logs/global/installed-pkgs.global.log' kiwibuild_phase = latest_link_components = -1 latest_link_status = None livemedia_phase = osbuild_phase = ostree_container_phase = ostree_installer_phase = ostree_phase = phase = pkgset_phase = pungi = repoclosure_phase = rpm_repo_mapping_phase = setup_phase = setup_schema = test_phase = trigger_konflux_pipeline = Frame main in /usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py at line 352 345 logger.error("Config validation failed with the error: %s" % error) 346 fail_to_start("Config validation failed", errors=errors) 347 sys.exit(1) 348 349 notifier.compose = compose 350 COMPOSE = compose 351 try: --> 352 run_compose( 353 compose, 354 create_latest_link=create_latest_link, 355 latest_link_status=latest_link_status, 356 latest_link_components=latest_link_components, 357 ) 358 except UnsignedPackagesError: Compose = PHASES_NAMES_MODIFIED = ['buildinstall', 'createiso', 'createrepo', 'extra_files', 'extra_isos', 'gather', 'image_build', 'imagebuilder', 'image_checksum', 'init', 'kiwibuild', 'live_media', 'osbuild', 'ostree_container', 'o abort = .abort at 0x7fa5fa9fd9e0> compose = compose_dir = '/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0' compose_type = 'test' conf = {'RELEASE_NAME': 'CentOS Stream', 'RELEASE_SHORT': 'CentOS-Stream', 'RELEASE_VERSION': '9', 'PKGSET_KOJI_TAG': 'c9s-compose', 'PKGSET_KOJI_MODULE_TAG': 'el9-modules-pending-signed', 'RUNROOT_CHANNEL': create_latest_link = True errors = [] fail_to_start = .fail_to_start at 0x7fa5fa9fd8a0> group = kobo = latest_link_components = -1 latest_link_status = None logger = notifier = opts = Namespace(target_dir='/mnt/centos/composes/pungi/stream-9/test', compose_dir=None, label=None, no_label=True, supported=False, old_composes=['/mnt/centos/composes/pungi/stream-9/test'], config='/home/ parser = ArgumentParser(prog='pungi-koji', usage=None, description=None, formatter_class=, conflict_handler='error', add_help=True) productmd = pungi = rv = None warning = 'WARNING: Unrecognized config option: COMPS_COMMAND.' warnings = ["WARNING: Config option release_is_layered was removed and has no effect; remove it. It's layered if there's configuration for base product.", "WARNING: Config option runroot was removed and has no e Frame cli_main in /usr/lib/python3.12/site-packages/pungi/scripts/pungi_koji.py at line 657 650 signal.signal(signal.SIGINT, sigterm_handler) 651 signal.signal(signal.SIGTERM, sigterm_handler) 652 653 tracing.setup() 654 655 with tracing.span("run-compose"): 656 try: --> 657 main() 658 except (Exception, KeyboardInterrupt) as ex: 659 tracing.record_exception(ex) 660 if COMPOSE: 661 COMPOSE.log_error("Compose run failed: %s" % ex) 662 COMPOSE.traceback(show_locals=getattr(ex, "show_locals", True)) 663 COMPOSE.log_critical("Compose failed: %s" % COMPOSE.topdir) ex = RuntimeError("ERROR running command: fus --verbose --arch aarch64 --repo=lookaside-0,lookaside,/mnt/centos/composes/pungi/stream-9/test/CentOS-Stream-9-20260716.t.0/work/aarch64/BaseOS/lookaside_repo