#7 Crash when running compose-changelog on F-24 secondary arches
Closed: Fixed None Opened 8 years ago by pbrobinson.

compose-changelog -p /mnt/koji/compose/branched/Fedora-24-20160323.n.2/logs/ /mnt/koji/compose/branched/Fedora-24-20160322.n.0/ /mnt/koji/compose/branched/Fedora-24-20160323.n.2/

Traceback (most recent call last):
File "/usr/bin/compose-changelog", line 40, in <module>
run(opts)
File "/usr/bin/compose-changelog", line 22, in run
data = changelog.get_changelog(old_compose, new_compose)
File "/usr/lib/python2.7/site-packages/compose_utils/changelog.py", line 210, in get_changelog
result["new_compose"] = new_compose.info.compose.id
File "/usr/lib/python2.7/site-packages/productmd/compose.py", line 82, in info
composeinfo.load(path)
File "/usr/lib/python2.7/site-packages/productmd/common.py", line 124, in load
parser = self.parse_file(f)
File "/usr/lib/python2.7/site-packages/productmd/common.py", line 172, in parse_file
f.seek(0)
AttributeError: 'NoneType' object has no attribute 'seek'

The composes in the above can be found in http://ppc.koji.fedoraproject.org/compose/branched/

Happens on aarch64 too


Hmm, that's not useful.


# compose-changelog -p /mnt/koji/compose/branched/Fedora-24-20160323.n.2/logs/ /mnt/koji/compose/branched/Fedora-24-20160322.n.0/ /mnt/koji/compose/branched/Fedora-24-20160323.n.2/
Traceback (most recent call last):
  File "/usr/bin/compose-changelog", line 40, in <module>
    run(opts)
  File "/usr/bin/compose-changelog", line 22, in run
    data = changelog.get_changelog(old_compose, new_compose)
  File "/usr/lib/python2.7/site-packages/compose_utils/changelog.py", line 210, in get_changelog
    result["new_compose"] = new_compose.info.compose.id
  File "/usr/lib/python2.7/site-packages/productmd/compose.py", line 82, in info
    composeinfo.load(path)
  File "/usr/lib/python2.7/site-packages/productmd/common.py", line 124, in load
    parser = self.parse_file(f)
  File "/usr/lib/python2.7/site-packages/productmd/common.py", line 172, in parse_file
    f.seek(0)
AttributeError: 'NoneType' object has no attribute 'seek'

compose-utils-0.1.1-1.fc23

One of the composes did not finish successfully. The composeinfo.json file is not created, and that is causing the crash. Only compose id is read from that file, and that information is available in the rpms.json file as well. PR #8 switches to that file.

I have filed an issue with productmd to add better error messages.

The reason why the compose actually crashed is quite interesting: the compose is configured to only use ppc64 and ppc64le variants. When package set is created and rpms.json written, it correctly does not do anything for the Workstation variant (because it is not available on any of the arches).

Later, pungi tries to create srpm repository for this variant, which causes the crash, as there is no matching entry in the metadata.

So I've noticed that. If you look at the pungi-fedora f24-secondary-arch repo for the fedora-ppc.conf I have to explicitly set tree_variants even though the Workstation variant isn't set for those arches in variants-fedora.xml

I have a fix for the filtering (and improvement of logging) in Pugni PR 240.

I have packaged the fix and built it for F23, F24 and Rawhide:

Login to comment on this ticket.

Metadata