Since Fedora-Rawhide-20251221.n.0 , the openQA test of a French install from the Server DVD is failing. On screen, we see the "unknown error" dialog (but in French, obvs). In the journal, we get some unhelpful warnings and then a huge, useless traceback: 06:51:53,801 WARNING org.fedoraproject.Anaconda.Modules.Payloads:DEBUG:anaconda.modules.payloads.payload.dnf.dnf_manager:Starting the transaction process... 06:51:53,815 WARNING org.fedoraproject.Anaconda.Modules.Payloads:WARNING:py.warnings:/usr/lib64/python3.14/multiprocessing/popen_fork.py:70: DeprecationWarning: This process (pid=2477) is multi-threaded, use of fork() may lead to deadlocks in the child. 06:51:53,815 WARNING org.fedoraproject.Anaconda.Modules.Payloads: self.pid = os.fork() 06:51:53,817 WARNING org.fedoraproject.Anaconda.Modules.Payloads:DEBUG:anaconda.modules.payloads.payload.dnf.dnf_manager:Running the transaction... 06:51:54,185 WARNING brltty:unsupported generic resource identifier: bluetooth: 06:51:59,176 WARNING brltty:unsupported generic resource identifier: bluetooth: 06:52:04,192 WARNING brltty:unsupported generic resource identifier: bluetooth: 06:52:09,176 WARNING brltty:unsupported generic resource identifier: bluetooth: 06:52:09,967 WARNING org.fedoraproject.Anaconda.Modules.Payloads:DEBUG:anaconda.modules.payloads.payload.dnf.dnf_manager:The transaction finished with 5 (Transaction RPM échouée.) 06:52:09,968 WARNING org.fedoraproject.Anaconda.Modules.Payloads:DEBUG:anaconda.modules.payloads.payload.dnf.dnf_manager:The transaction has ended. 06:52:09,978 WARNING org.fedoraproject.Anaconda.Modules.Payloads:ERROR:anaconda.modules.payloads.payload.dnf.transaction_progress:The transaction process has ended with errors. 06:52:09,981 WARNING org.fedoraproject.Anaconda.Modules.Payloads:DEBUG:anaconda.modules.payloads.payload.dnf.dnf_manager:The transaction process exited with 0. 06:52:09,981 WARNING org.fedoraproject.Anaconda.Modules.Payloads:INFO:anaconda.core.threads:Thread Failed: AnaTaskThread-InstallPackagesTask-1 (281473319563648) 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads:ERROR:anaconda.modules.common.task.task:Thread AnaTaskThread-InstallPackagesTask-1 has failed: Traceback (most recent call last): 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: File "/usr/lib64/python3.14/site-packages/pyanaconda/core/threads.py", line 281, in run 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: threading.Thread.run(self) 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: ~~~~~~~~~~~~~~~~~~~~^^^^^^ 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: File "/usr/lib64/python3.14/threading.py", line 1024, in run 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: self._target(*self._args, **self._kwargs) 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: File "/usr/lib64/python3.14/site-packages/pyanaconda/modules/common/task/task.py", line 97, in _thread_run_callback 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: self._task_run_callback() 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: ~~~~~~~~~~~~~~~~~~~~~~~^^ 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: File "/usr/lib64/python3.14/site-packages/pyanaconda/modules/common/task/task.py", line 110, in _task_run_callback 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: self._set_result(self.run()) 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: ~~~~~~~~^^ 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: File "/usr/lib64/python3.14/site-packages/pyanaconda/modules/payloads/payload/dnf/installation.py", line 281, in run 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: self._dnf_manager.install_packages(self.report_progress) 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: File "/usr/lib64/python3.14/site-packages/pyanaconda/modules/payloads/payload/dnf/dnf_manager.py", line 799, in install_packages 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: process_transaction_progress(queue, callback) 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: File "/usr/lib64/python3.14/site-packages/pyanaconda/modules/payloads/payload/dnf/transaction_progress.py", line 54, in process_transaction_progress 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads: raise PayloadInstallationError("An error occurred during the transaction: " + msg) 06:52:09,999 WARNING org.fedoraproject.Anaconda.Modules.Payloads:pyanaconda.modules.common.errors.installation.PayloadInstallationError: An error occurred during the transaction: The transaction process has ended with errors. the traceback goes on and on but nothing in it is useful. What *would* be useful is some indication of *why* the dnf transaction process "ended with errors", but there is no such indication. I'm filing this bug against anaconda even though it's probably a dnf/package bug, because it's probably anaconda's dnf module's job to get us more useful error information here. But CCing the dnf devs also.
Created attachment 2119723 [details] syslog
Created attachment 2119724 [details] dnf.log (also useless)
Created attachment 2119725 [details] packaging.log (also seems useless)
IIRC we do add a corresponding langpack RPM to the DNF transaction, which should then pull in any other langpacks (libreoffice, etc.) via dependencies: 06:51:15,818 WARNING org.fedoraproject.Anaconda.Modules.Payloads:DEBUG:anaconda.modules.payloads.payload.dnf.requirements:Requirement 'langpacks-fr' is applied. Reason: Required to support the locale 'fr_FR.UTF-8'. 06:51:15,820 WARNING org.fedoraproject.Anaconda.Modules.Payloads:INFO:anaconda.modules.payloads.payload.dnf.dnf_manager:Including specs: ['@workstation-product-environment', '@core', 'kernel', 'authselect', 'cryptsetup', 'xfsprogs', 'dosfstools', 'lvm2', 'grub2-efi-aa64', 'shim-aa64', 'grub2-efi-aa64-cdboot', 'efibootmgr', 'grub2-tools', 'grub2-tools-extra', 'grubby', 'chrony', 'langpacks-fr'] 06:51:16,664 WARNING org.fedoraproject.Anaconda.Modules.Payloads:DEBUG:anaconda.modules.payloads.payload.dnf.download_progress:Started downloading 'langpacks-core-fr-0:4.2-5.fc43.noarch' - 9621.0 bytes 06:51:16,664 WARNING org.fedoraproject.Anaconda.Modules.Payloads:DEBUG:anaconda.modules.payloads.payload.dnf.download_progress:Started downloading 'langpacks-fonts-fr-0:4.2-5.fc43.noarch' - 9813.0 bytes 06:51:16,940 WARNING org.fedoraproject.Anaconda.Modules.Payloads:DEBUG:anaconda.modules.payloads.payload.dnf.download_progress:Started downloading 'libreoffice-langpack-fr-1:26.2.0.1-0.1.fc44.aarch64' - 968237.0 bytes So maybe the cross package dependencies or the langpack packages are out of whack ? Or even the RPM dependency logic has some issues - IIRC this is using the more fancy rich/fancy cross package dependency system. The jounal dump is indeed surprisingly devoid of useful information - "error happened" really does not tell us much - maybe that indicates it failes in some early transaction pre-check that rarely fails and due to the we might not have noticed useful info for this failure is missing from the Journal dumps ? Looking into packaging and dnf log, there also isn't really anything. MAybe this could be a DNF 5 thing ? It has not been that long since we migrated, so we might have not noticed if there is some logger not properly connected or error message propagated since the migration. Adding Pavla from the DNF team to CC to possibly take a look after the holidays - thanks in advance! :)
Hi, the problem is that there is a missing report of transaction problems. It should be reported by a function `transaction_has_errors` from `pyanaconda/modules/payloads/payload/dnf/utils.py`, but in `DNFManager._run_transaction`, there is `if result != 0 or transaction_has_errors(transaction):`, so the function is not called when the result is not 0, which is wrong. I will create a pull request.
Looks like this is fixed now, because we're seeing a more useful error in the logs which points to this being a variant of https://bugzilla.redhat.com/show_bug.cgi?id=2399744 . thanks!