So the sample code from comment #1 was wrong. ## Expected
``` File: base64 H4sICAAAAAAC/0ZpbGUA c3RyxIAMcBAFAK/2p9MfAAAA ``` ``` $ python3 -c "import base64, pathlib; pathlib.Path('file.gz').write_bytes(base64.b64decode('H4sICAAAAAAC/0ZpbGUA') + base64.b64decode('c3RyxIAMcBAFAK/2p9MfAAAA'))" $ hd file.gz 00000000 1f 8b 08 08 00 00 00 00 02 ff 46 69 6c 65 00 73 |..........File.s| 00000010 74 72 c4 80 0c 70 10 05 00 af f6 a7 d3 1f 00 00 |tr...p..........| 00000020 00 |.| $ gunzip file.gz $ hd file 00000000 41 42 41 42 41 42 41 42 41 42 41 42 41 42 41 42 |ABABABABABABABAB| 00000010 41 42 41 42 00 00 00 00 00 00 00 00 00 00 5a |ABAB..........Z| 0000001f ``` ## Got ``` File: base64 H4sICAAAAAAC/0ZpbGUA cnTChAxwEA== BRgAr/an0x8AAAA= ``` ``` $ python3 -c "import base64, pathlib; pathlib.Path('file.gz').write_bytes(base64.b64decode('H4sICAAAAAAC/0ZpbGUA') + base64.b64decode('cnTChAxwEA==') + base64.b64decode('BRgAr/an0x8AAAA='))"$ hd file.gz 00000000 1f 8b 08 08 00 00 00 00 02 ff 46 69 6c 65 00 72 |..........File.r| 00000010 74 c2 84 0c 70 10 05 18 00 af f6 a7 d3 1f 00 00 |t...p...........| 00000020 00 |.| 00000021 $ gunzip file.gz $ hd file 00000000 41 42 41 42 41 42 41 42 41 42 41 42 41 42 41 42 |ABABABABABABABAB| 00000010 41 42 41 42 00 00 00 00 00 00 00 00 00 00 5a |ABAB..........Z| 0000001f ``` The raw data is identical, but the zlib compressed raw data differs! So the apport autopkgtest is too picky here. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to apport in Ubuntu. https://bugs.launchpad.net/bugs/2076269 Title: invalid base64 encoded gzip data on s390x causes autopkgtest failures Status in Ubuntu on IBM z Systems: New Status in apport package in Ubuntu: New Status in python3.12 package in Ubuntu: New Bug description: The following tests all fail with an encoding/decoding issue: tests/unit/test_problem_report.py::T:test_modify tests/unit/test_report.py::T::test_report_from_systemd_coredump_storage_journal tests/integration/test_problem_report::T::test_write_file Example failure: 564s =================================== FAILURES =================================== 564s ________________________________ T.test_modify _________________________________ 564s 564s self = <tests.unit.test_problem_report.T testMethod=test_modify> 564s 564s def test_modify(self): 564s """reading, modifying fields, and writing back.""" 564s report = textwrap.dedent( 564s """\ 564s ProblemType: Crash 564s Date: now! 564s Long: 564s xxx 564s . 564s yyy 564s Short: Bar 564s File: base64 564s H4sICAAAAAAC/0ZpbGUA 564s c3RyxIAMcBAFAK/2p9MfAAAA 564s """ 564s ).encode() 564s 564s pr = problem_report.ProblemReport() 564s pr.load(io.BytesIO(report)) 564s 564s self.assertEqual(pr["Long"], "xxx\n.\nyyy") 564s 564s # write back unmodified 564s out = io.BytesIO() 564s pr.write(out) 564s > self.assertEqual(out.getvalue(), report) 564s E AssertionError: b'Pro[73 chars]e64\n H4sICAAAAAAC/0ZpbGUA\n cnTChAxwEA==\n BRgAr/an0x8AAAA=\n' != b'Pro[73 chars]e64\n H4sICAAAAAAC/0ZpbGUA\n c3RyxIAMcBAFAK/2p9MfAAAA\n' 564s 564s tests/unit/test_problem_report.py:509: AssertionError Autopkgtest noble log: https://autopkgtest.ubuntu.com/results/autopkgtest-noble/noble/s390x/a/apport/20240807_023039_8850a@/log.gz oracular log: https://autopkgtest.ubuntu.com/results/autopkgtest-oracular/oracular/s390x/a/apport/20240805_132135_d3a80@/log.gz This failure was seen on noble (log above) but also on oracular. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-z-systems/+bug/2076269/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp