Your message dated Sat, 22 Nov 2025 15:03:38 +0000
with message-id <[email protected]>
and subject line Bug#1121149: fixed in pyroute2 0.8.1-3
has caused the Debian Bug report #1121149,
regarding pyroute2: autopkgtest regression on s390x
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1121149: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1121149
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: pyroute2
Version: 0.8.1-2
Severity: serious
User: [email protected]
Usertags: regression
X-Debbugs-CC: [email protected]
User: [email protected]
Usertags: s390x
Control: -1 blocks 1119644

Dear maintainer(s),

With a recent upload of pyroute2 the autopkgtest of pyroute2 fails in testing when that autopkgtest is run with the binary packages of pyroute2 from unstable on s390x. It passes when run with only packages from testing. In tabular form:

                       pass            fail
pyroute2               from testing    0.8.1-2
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration to testing [1]. Can you please investigate the situation and fix it?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=pyroute2

https://ci.debian.net/data/autopkgtest/testing/s390x/p/pyroute2/66417437/log.gz

al(sample, marshal):
 96s >       return run_using_marshal(sample, marshal)
 96s                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
96s 96s tests/test_unit/test_nlmsg/test_marshal.py:48: 96s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 96s 96s sample = 'test_unit/test_nlmsg/iw_info_rsp.dump' 96s marshal = <pyroute2.netlink.nl80211.MarshalNl80211 object at 0x3ffa9c10980>
 96s  96s     def run_using_marshal(sample, marshal):
 96s         messages, data = load_sample(sample)
 96s         parsed = tuple(marshal.parse(data))
 96s >       assert len(parsed) == len(messages)
 96s E       AssertionError: assert 0 == 1
 96s E        +  where 0 = len(())
96s E + and 1 = len([{'attrs': [['NL80211_ATTR_IFINDEX', 3], ['NL80211_ATTR_IFNAME', 'wlo1'], ['NL80211_ATTR_WIPHY', 0], ['NL80211_ATTR_IFTYPE', 2], ['NL80211_ATTR_WDEV', 1], ['NL80211_ATTR_MAC', 'a4:4e:31:43:1c:7d'], ...], 'cmd': 7, 'event': 'NL80211_CMD_NEW_INTERFACE', 'header': {'error': None, 'flags': 0, 'length': 88, 'pid': 771783666, ...}, ...}])
 96s  96s tests/test_unit/test_nlmsg/test_marshal.py:31: AssertionError
96s _________ test_marshal[test_unit/test_nlmsg/iw_scan_rsp.dump-marshal3] _________
 96s  96s sample = 'test_unit/test_nlmsg/iw_scan_rsp.dump'
96s marshal = <pyroute2.netlink.nl80211.MarshalNl80211 object at 0x3ffa9cf4550>
 96s  96s     @pytest.mark.parametrize(
 96s         'sample,marshal',
 96s         (
 96s             ('test_unit/test_nlmsg/addrmsg_ipv4.dump', MarshalRtnl()),
 96s             ('test_unit/test_nlmsg/gre_01.dump', MarshalRtnl()),
96s ('test_unit/test_nlmsg/iw_info_rsp.dump', MarshalNl80211()), 96s ('test_unit/test_nlmsg/iw_scan_rsp.dump', MarshalNl80211()),
 96s         ),
 96s     )
 96s     def test_marshal(sample, marshal):
 96s >       return run_using_marshal(sample, marshal)
 96s                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
96s 96s tests/test_unit/test_nlmsg/test_marshal.py:48: 96s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 96s 96s sample = 'test_unit/test_nlmsg/iw_scan_rsp.dump' 96s marshal = <pyroute2.netlink.nl80211.MarshalNl80211 object at 0x3ffa9cf4550>
 96s  96s     def run_using_marshal(sample, marshal):
 96s         messages, data = load_sample(sample)
 96s         parsed = tuple(marshal.parse(data))
 96s >       assert len(parsed) == len(messages)
 96s E       AssertionError: assert 0 == 4
 96s E        +  where 0 = len(())
96s E + and 4 = len(({'attrs': [('NL80211_ATTR_GENERATION', 7), ('NL80211_ATTR_IFINDEX', 11), ('NL80211_ATTR_WDEV', 1), ('NL80211_ATTR_BSS', {'attrs': [(...), (...), (...), (...), (...), (...), ...]})], 'cmd': 34, 'event': 'NL80211_CMD_NEW_SCAN_RESULTS', 'header': {'error': None, 'flags': 2, 'length': 472, 'pid': 608, ...}, ...}, {'attrs': [('NL80211_ATTR_GENERATION', 7), ('NL80211_ATTR_IFINDEX', 11), ('NL80211_ATTR_WDEV', 1), ('NL80211_ATTR_BSS', {'attrs': [(...), (...), (...), (...), (...), (...), ...]})], 'cmd': 34, 'event': 'NL80211_CMD_NEW_SCAN_RESULTS', 'header': {'error': None, 'flags': 2, 'length': 464, 'pid': 608, ...}, ...}, {'attrs': [('NL80211_ATTR_GENERATION', 7), ('NL80211_ATTR_IFINDEX', 11), ('NL80211_ATTR_WDEV', 1), ('NL80211_ATTR_BSS', {'attrs': [(...), (...), (...), (...), (...), (...), ...]})], 'cmd': 34, 'event': 'NL80211_CMD_NEW_SCAN_RESULTS', 'header': {'error': None, 'flags': 2, 'length': 480, 'pid': 608, ...}, ...}, {'attrs': [('NL80211_ATTR_GENERATION', 7), ('NL80211_ATTR_IFINDEX', 11), ('NL80211_ATTR_WDEV', 1), ('NL80211_ATTR_BSS', {'attrs': [(...), (...), (...), (...), (...), (...), ...]})], 'cmd': 34, 'event': 'NL80211_CMD_NEW_SCAN_RESULTS', 'header': {'error': None, 'flags': 2, 'length': 480, 'pid': 608, ...}, ...}))
 96s  96s tests/test_unit/test_nlmsg/test_marshal.py:31: AssertionError
96s _______ test_custom_key[test_unit/test_nlmsg/addrmsg_ipv4.dump-marshal0] _______
 96s  96s sample = 'test_unit/test_nlmsg/addrmsg_ipv4.dump'
96s marshal = <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 0x3ffa9cf4690>
 96s  96s     @pytest.mark.parametrize(
 96s         'sample,marshal',
 96s         (
 96s             ('test_unit/test_nlmsg/addrmsg_ipv4.dump', MarshalRtnl()),
 96s             ('test_unit/test_nlmsg/gre_01.dump', MarshalRtnl()),
 96s         ),
 96s     )
 96s     def test_custom_key(sample, marshal):
 96s         # the header:
 96s         #
 96s         #  uint32 length
 96s         #  uint16 type
 96s         #  ...
 96s         #
 96s         # e.g.:
 96s         # 4c:00:00:00:14:00:...
 96s         #
 96s         # this test uses:
 96s         marshal.key_format = 'I'  # 4 bytes LE as the key
 96s         marshal.key_offset = 2  # but with offset 2
 96s         marshal.key_mask = 0xFFFF0000  # ignore 2 lower bytes:
 96s         #
 96s         # example 1:
 96s         # offset 2 -> 00:00:14:00
 96s         # format I -> 0x140000
 96s         # & mask -> 0x140000
 96s         #
 96s         # example 2:
 96s         # offset 2 -> 01:02:14:00
 96s         # format I -> 0x140201
 96s         # & mask -> 0x140000
 96s         #
 96s         # fix msg map to use new keys:
 96s         for key, value in tuple(marshal.msg_map.items()):
 96s             marshal.msg_map[key << 16] = value
 96s         #
 96s         # ok, now should run
 96s >       return run_using_marshal(sample, marshal)
 96s                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
96s 96s tests/test_unit/test_nlmsg/test_marshal.py:88: 96s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 96s 96s sample = 'test_unit/test_nlmsg/addrmsg_ipv4.dump' 96s marshal = <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 0x3ffa9cf4690>
 96s  96s     def run_using_marshal(sample, marshal):
 96s         messages, data = load_sample(sample)
 96s         parsed = tuple(marshal.parse(data))
 96s >       assert len(parsed) == len(messages)
 96s E       AssertionError: assert 0 == 1
 96s E        +  where 0 = len(())
96s E + and 1 = len([{'attrs': [['IFA_ADDRESS', '127.0.0.1'], ['IFA_LOCAL', '127.0.0.1'], ['IFA_LABEL', 'lo'], ['IFA_FLAGS', 128], ['IFA_CACHEINFO', {'cstamp': 261, 'ifa_preferred': 4294967295, 'ifa_valid': 4294967295, 'tstamp': 261}]], 'event': 'RTM_NEWADDR', 'family': 2, 'flags': 128, ...}])
 96s  96s tests/test_unit/test_nlmsg/test_marshal.py:31: AssertionError
96s __________ test_custom_key[test_unit/test_nlmsg/gre_01.dump-marshal1] __________
 96s  96s sample = 'test_unit/test_nlmsg/gre_01.dump'
96s marshal = <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 0x3ffa9c9da70>
 96s  96s     @pytest.mark.parametrize(
 96s         'sample,marshal',
 96s         (
 96s             ('test_unit/test_nlmsg/addrmsg_ipv4.dump', MarshalRtnl()),
 96s             ('test_unit/test_nlmsg/gre_01.dump', MarshalRtnl()),
 96s         ),
 96s     )
 96s     def test_custom_key(sample, marshal):
 96s         # the header:
 96s         #
 96s         #  uint32 length
 96s         #  uint16 type
 96s         #  ...
 96s         #
 96s         # e.g.:
 96s         # 4c:00:00:00:14:00:...
 96s         #
 96s         # this test uses:
 96s         marshal.key_format = 'I'  # 4 bytes LE as the key
 96s         marshal.key_offset = 2  # but with offset 2
 96s         marshal.key_mask = 0xFFFF0000  # ignore 2 lower bytes:
 96s         #
 96s         # example 1:
 96s         # offset 2 -> 00:00:14:00
 96s         # format I -> 0x140000
 96s         # & mask -> 0x140000
 96s         #
 96s         # example 2:
 96s         # offset 2 -> 01:02:14:00
 96s         # format I -> 0x140201
 96s         # & mask -> 0x140000
 96s         #
 96s         # fix msg map to use new keys:
 96s         for key, value in tuple(marshal.msg_map.items()):
 96s             marshal.msg_map[key << 16] = value
 96s         #
 96s         # ok, now should run
 96s >       return run_using_marshal(sample, marshal)
 96s                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
96s 96s tests/test_unit/test_nlmsg/test_marshal.py:88: 96s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 96s 96s sample = 'test_unit/test_nlmsg/gre_01.dump' 96s marshal = <pyroute2.netlink.rtnl.marshal.MarshalRtnl object at 0x3ffa9c9da70>
 96s  96s     def run_using_marshal(sample, marshal):
 96s         messages, data = load_sample(sample)
 96s         parsed = tuple(marshal.parse(data))
 96s >       assert len(parsed) == len(messages)
 96s E       AssertionError: assert 0 == 2
 96s E        +  where 0 = len(())
96s E + and 2 = len([{'attrs': [['IFLA_IFNAME', 'mgre0'], ['IFLA_LINKINFO', {'attrs': [[...], [...]]}]], 'change': 0, 'event': 'RTM_NEWLINK', 'family': 0, ...}, {'event': 'NLMSG_ERROR', 'header': {'error': None, 'flags': 0, 'length': 36, 'pid': 12277, ...}}])
 96s  96s tests/test_unit/test_nlmsg/test_marshal.py:31: AssertionError
96s =========================== short test summary info ============================ 96s FAILED tests/test_unit/test_nlmsg/test_map_adapter.py::test_decode_adapter[default_decode] 96s FAILED tests/test_unit/test_nlmsg/test_map_adapter.py::test_decode_adapter[dict_decode] 96s FAILED tests/test_unit/test_nlmsg/test_marshal.py::test_marshal[test_unit/test_nlmsg/addrmsg_ipv4.dump-marshal0] 96s FAILED tests/test_unit/test_nlmsg/test_marshal.py::test_marshal[test_unit/test_nlmsg/gre_01.dump-marshal1] 96s FAILED tests/test_unit/test_nlmsg/test_marshal.py::test_marshal[test_unit/test_nlmsg/iw_info_rsp.dump-marshal2] 96s FAILED tests/test_unit/test_nlmsg/test_marshal.py::test_marshal[test_unit/test_nlmsg/iw_scan_rsp.dump-marshal3] 96s FAILED tests/test_unit/test_nlmsg/test_marshal.py::test_custom_key[test_unit/test_nlmsg/addrmsg_ipv4.dump-marshal0] 96s FAILED tests/test_unit/test_nlmsg/test_marshal.py::test_custom_key[test_unit/test_nlmsg/gre_01.dump-marshal1] 96s ========================= 8 failed, 95 passed in 0.51s =========================
 96s autopkgtest [09:46:36]: test unittests

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


--- End Message ---
--- Begin Message ---
Source: pyroute2
Source-Version: 0.8.1-3
Done: Thomas Goirand <[email protected]>

We believe that the bug you reported is fixed in the latest version of
pyroute2, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Thomas Goirand <[email protected]> (supplier of updated pyroute2 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sat, 22 Nov 2025 14:55:19 +0100
Source: pyroute2
Architecture: source
Version: 0.8.1-3
Distribution: unstable
Urgency: medium
Maintainer: Debian OpenStack <[email protected]>
Changed-By: Thomas Goirand <[email protected]>
Closes: 1121149
Changes:
 pyroute2 (0.8.1-3) unstable; urgency=medium
 .
   * Ignore some tests on s390x (Closes: #1121149).
Checksums-Sha1:
 2f747e76317450bd3db4805dea6193219845407e 2491 pyroute2_0.8.1-3.dsc
 d4689f8b2f6dba7118628b01d5bba7575eb21433 6932 pyroute2_0.8.1-3.debian.tar.xz
 7a1f7a759bfb7aecab1345b92c6fc327bf18cec4 11434 pyroute2_0.8.1-3_amd64.buildinfo
Checksums-Sha256:
 6525ff346144d6d5b3e99572dc75d0502e76bce44be418f2bee32737c5e5f8d4 2491 
pyroute2_0.8.1-3.dsc
 c2b2857049a748f43707949f0ca0c15417c82373729378a2dd80e65c2c64a4b3 6932 
pyroute2_0.8.1-3.debian.tar.xz
 4f6d256475751c3d52f525ba6421b76834576df9ec4fcedd00ee09a0b393807a 11434 
pyroute2_0.8.1-3_amd64.buildinfo
Files:
 bebc96f995623e2c89da1a5435e066eb 2491 python optional pyroute2_0.8.1-3.dsc
 826ea69ced9ebf242e2596e1dead307c 6932 python optional 
pyroute2_0.8.1-3.debian.tar.xz
 1711faa8b87512e8b44188f7d89a630a 11434 python optional 
pyroute2_0.8.1-3_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEoLGp81CJVhMOekJc1BatFaxrQ/4FAmkhwjsACgkQ1BatFaxr
Q/66jhAAhqn/nNw3rto8aWSHR0DHN8SdtxEenuefyFMho6h3JT5Fvuh2nfCEiO6M
iFwdhuQHRktFto8V4ecFgVkMwFRO8AMH6ookK5Y60MX0TBPvSGWQSZYQZYcusdnN
RlKkoEPDuUhcJVDLlxLGwg/UxElGomlm0kQcu20OiPrXG8vM/NGdp2JbyJIOeWH4
cZs+UTgqpZt3DoeGr2tkyKcRKap8E7UA7fiwFbfipjVqOwpkDGSLS3xLxBhmWWkW
P3SUCFLYkNVeAS8co+ZouNW9HEzS2qQ29hFvoseOruCBaiaWOQK2sZ3lBwCHSiHi
j2KdNKuIUYBP4s+daCwrNs2iyxRhMTKTdFP5KpvFJKaslwNUfCbRcs3zWm1GP6/Z
6Zv5jAVkpEp1FX/6o/z8eKJ0KnFOqZ3LKFkwmy59u65PcnYlOXqo6CJXTG3+60Sa
fBq5Juy3qHnNfbrAZENnAT3TRIMk1j6v8L+kLjPLVGgWYEvsaMODkghF22HTm0iA
u7Mk4sRoO/YUTltm4IVJt8yBIkyYD5iwJLNRn1W5/DoZpcoZu7Rd3S878gOgny44
3ZApyT5R1DuadbgP42ozyn6w8P0vj3x2tqG0cI0F8AD/AJ1bc2/I5JUpTsytY4lD
0MVfz8ieNpJe15Wk9l/goGDF/FO/7rXsE6SE3dPzV6VPTpu8oME=
=ygFp
-----END PGP SIGNATURE-----

Attachment: pgp1HJVuzcdyF.pgp
Description: PGP signature


--- End Message ---

Reply via email to