#1487 crash in koji's __parse_packet_header() TypeError: a bytes-like object is required, not 'str'
Closed: Invalid 3 years ago by lsedlar. Opened 3 years ago by ktdreyer.

I'm using EPEL's pungi-4.1.38-1.el8.2, composing a single Fedora 32 package that I've GPG-signed in a local Koji instance:

  File "/usr/bin/pungi-koji", line 483, in <module>
    main()
  File "/usr/bin/pungi-koji", line 265, in main
    run_compose(compose, create_latest_link=create_latest_link, latest_link_status=latest_link_status)
  File "/usr/bin/pungi-koji", line 374, in run_compose
    pkgset_phase.start()
  File "/usr/lib/python3.6/site-packages/pungi/phases/base.py", line 64, in start
    self.run()
  File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/__init__.py", line 31, in run
    self.package_sets, self.path_prefix = SourceClass(self.compose)()
  File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/sources/source_koji.py", line 190, in __call__
    package_sets = get_pkgset_from_koji(self.compose, self.koji_wrapper, path_prefix)
  File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/sources/source_koji.py", line 196, in get_pkgset_from_koji
    pkgset_global = populate_global_pkgset(compose, koji_wrapper, path_prefix, event_info)
  File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/sources/source_koji.py", line 691, in populate_global_pkgset
    include_packages=modular_packages,
  File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/pkgsets.py", line 486, in populate
    result = self.read_packages(result_rpms, result_srpms)
  File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/pkgsets.py", line 151, in read_packages
    srpm_pool.stop()
  File "/usr/lib/python3.6/site-packages/kobo/threads.py", line 120, in stop
    six.reraise(exc_info[0], exc_info[1], exc_info[2])
  File "/usr/lib/python3.6/site-packages/six.py", line 693, in reraise
    raise value
  File "/usr/lib/python3.6/site-packages/kobo/threads.py", line 67, in run
    self.process(item, num)
  File "/usr/lib/python3.6/site-packages/pungi/phases/pkgset/pkgsets.py", line 66, in process
    rpm_obj = self.pool.package_set.file_cache.add(rpm_path)
  File "/usr/lib/python3.6/site-packages/kobo/pkgset.py", line 255, in add
    value = file_wrapper_class(file_path, stat=st, **kwargs)
  File "/usr/lib/python3.6/site-packages/kobo/pkgset.py", line 184, in __init__
    self.signature = kobo.rpmlib.get_keys_from_header(header)
  File "/usr/lib/python3.6/site-packages/kobo/rpmlib.py", line 386, in get_keys_from_header
    head_keys.append(koji.get_sigpacket_key_id(sigkey).upper())
  File "/usr/lib64/python3.6/site-packages/koji/__init__.py", line 895, in get_sigpacket_key_id
    (tag, sigpacket) = __parse_packet_header(sigpacket)
  File "/usr/lib64/python3.6/site-packages/koji/__init__.py", line 851, in __parse_packet_header
    length = struct.unpack(fmt, pgp_packet[1:offset])[0]
TypeError: a bytes-like object is required, not 'str'

Using python3-koji-1.23.0-1.el8

Thanks! You're right, updating to 0.11.0 in EPEL 8 fixes this crash for me.

I've filed https://bugzilla.redhat.com/show_bug.cgi?id=1923758 to update EPEL 8, and you can close this one.

Metadata Update from @lsedlar:
- Issue close_status updated to: Invalid
- Issue status updated to: Closed (was: Open)

3 years ago

Login to comment on this ticket.

Metadata