Created attachment 1496750 [details]
Description of problem:
I am working on an update to the fedora-release package (COPR https://copr.fedorainfracloud.org/coprs/sgallagh/fedora-editions-rework/, version 30-0.9.sgallagh.3) that produces some Conflicts and Provides issues. Instead of diplaying the errors to the user, DNF crashes and produces a traceback inside libdnf
Version-Release number of selected component (if applicable):
also happens on
Steps to Reproduce:
1. `dnf copr enable sgallagh/fedora-editions-rework`
2. `dnf update fedora-release`
[root@fedoraeditions ~]# dnf update fedora-release
Last metadata expiration check: 0:11:16 ago on Tue 23 Oct 2018 12:25:05 PM EDT.
python3: /builddir/build/BUILD/libdnf-0.22.0/libdnf/transaction/private/../../utils/tinyformat/tinyformat.hpp:629: const char* tinyformat::detail::streamStateFromFormat(std::ostream&, bool&, bool&, int&, const char*, const tinyformat::detail::FormatArg*, int&, int): Assertion `0 && "tinyformat: Not enough conversion specifiers in format string"' failed.
Aborted (core dumped)
A proper error message indicating the reasons the update could not occur.
I am pretty sure that I have created an unsolvable dependency chain in this package that I will need to work out. However, I should be informed of the error rather than having it crash on me.
Created attachment 1496751 [details]
SRPM of broken fedora-release
Attaching the SRPM of the fedora-release package that would generate this failure on upgrade, so if I fix my COPR you can still reproduce the issue using it.
I have also verified that the RPMs I'm working with work just fine from Fedora 28's DNF:
So it would appear that not only is DNF crashing hard here, it's also doing so in a place where it should be processing successfully. I've updated the COPR I mentioned above to support F28, F29 and Rawhide so the difference can be easily verified.
To reproduce the successful case on F28:
sudo podman pull registry.fedoraproject.org/fedora:28
sudo podman run --privileged -i --tty --name f28_release_rework registry.fedoraproject.org/fedora:28
Inside the container:
dnf install 'dnf-command(copr)'
dnf copr enable sgallagh/fedora-editions-rework
dnf update fedora-release
It will successfully update to the fedora-release-30-0.9.sgallagh.10 package.
Do exactly the same steps with fedora:29 instead and you will see the reported failure.
libdnf-0.22.3-1.fc29 dnf-4.0.9-1.fc29 dnf-plugins-core-4.0.2-1.fc29 dnf-plugins-extras-4.0.0-1.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-17cbc3c616
dnf-4.0.9-1.fc29, dnf-plugins-core-4.0.2-1.fc29, dnf-plugins-extras-4.0.0-1.fc29, libdnf-0.22.3-1.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-17cbc3c616
dnf-4.0.9-1.fc29, dnf-plugins-core-4.0.2-1.fc29, dnf-plugins-extras-4.0.0-1.fc29, libdnf-0.22.3-1.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report.