From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id B2F993858403; Sat, 3 Feb 2024 00:49:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B2F993858403 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1706921385; bh=VOKZtA7EviINKZk0CWAJlQv0F/aSsVL7XXlqgJjq1Tc=; h=From:To:Subject:Date:From; b=cRpYoR110jS0+m5bKtgToLMIKKUPe7d8qoXiaTxwGHac5GrjDnkYE7M6njx0RQln5 380KPU9DCPl8vsPN/04JNQ8AqMdX3UuGeFGxM8sGRh5yeoI/C7wQHYWgMLv2dC8tgV wzoGTh6517wl6elqcBA3+RNdh3241gAptmLpgOmk= From: "sjames at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/113734] New: [14 regression] libarchive miscompiled (fails libarchive_test_read_format_rar5_extra_field_version test) since r14-8768-g85094e2aa6dba7 Date: Sat, 03 Feb 2024 00:49:44 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: middle-end X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: wrong-code X-Bugzilla-Severity: normal X-Bugzilla-Who: sjames at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status keywords bug_severity priority component assigned_to reporter cc target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D113734 Bug ID: 113734 Summary: [14 regression] libarchive miscompiled (fails libarchive_test_read_format_rar5_extra_field_version test) since r14-8768-g85094e2aa6dba7 Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: sjames at gcc dot gnu.org CC: tnfchris at gcc dot gnu.org Target Milestone: --- This is the miscompilation in libarchive's test suite I mentioned as an asi= de in PR113731. Steps to reproduce: 1. wget https://github.com/libarchive/libarchive/releases/download/v3.7.2/libarchiv= e-3.7.2.tar.xz 2. tar xvf libarchive-3.7.2.tar.xz && cd libarchive-3.7.2 3. export CFLAGS=3D"-O3 -march=3Dznver2 -ggdb3" CXXFLAGS=3D"-O3 -march=3Dzn= ver2 -ggdb3" ; cmake -B out -S . -G Ninja 4. ninja -C out 5. ninja -C out test The test failure is pretty suspicious: ``` /home/sam/data/libarchive/libarchive-3.7.2/libarchive/test/test_read_format= _rar5.c:106: bytes_read !=3D fsize bytes_read=3D-30 (0xffffffffffffffe2, 01777777777777777777742) fsize=3D95 (0x5f, 0137) /home/sam/data/libarchive/libarchive-3.7.2/libarchive/test/test_read_format= _rar5.c:959: Assertion failed: 0 =3D=3D extract_one(a, ae, 0xF24181B7) errno: 22 detail: Failed to decode the distance slot Totals: Tests run: 1 Tests failed: 1 Assertions checked: 399 Assertions failed: 4 Skips reported: 0 Failing tests: 347: test_read_format_rar5_extra_field_version (4 failures) ``` If I run it under Valgrind, I then get: ``` $ valgrind "/home/sam/data/libarchive/libarchive-3.7.2/out/bin/libarchive_t= est" "-vv" "-r" "/home/sam/data/libarchive/libarchive-3.7.2/libarchive/test" "test_read_fo rmat_rar5_extra_field_version" =3D=3D205571=3D=3D Memcheck, a memory error detector =3D=3D205571=3D=3D Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward= et al. =3D=3D205571=3D=3D Using Valgrind-3.23.0.GIT and LibVEX; rerun with -h for = copyright info =3D=3D205571=3D=3D Command: /home/sam/data/libarchive/libarchive-3.7.2/out/bin/libarchive_test -vv -r /home/sam/data/libarchive/libarchive-3.7.2/libarchive/test test_read_format_rar5_extra_field_version =3D=3D205571=3D=3D If tests fail or crash, details will be in: /tmp/libarchive_test.2024-02-03T00.01.16-000 Reference files will be read from: /home/sam/data/libarchive/libarchive-3.7.2/libarchive/test Exercising: libarchive 3.7.2 zlib/1.3.1 liblzma/5.5.1alpha bz2lib/1.0.8 liblz4/1.9.4 libzstd/1.5.5 347: test_read_format_rar5_extra_field_version =3D=3D205571=3D=3D Use of uninitialised value of size 8 =3D=3D205571=3D=3D at 0x2752A9: create_decode_tables (archive_read_support_format_rar5.c:2504) =3D=3D205571=3D=3D by 0x2752A9: parse_tables.constprop.0 (archive_read_support_format_rar5.c:2736) =3D=3D205571=3D=3D by 0x27C942: process_block (archive_read_support_format_rar5.c:3557) =3D=3D205571=3D=3D by 0x27C942: do_uncompress_file (archive_read_support_format_rar5.c:3753) =3D=3D205571=3D=3D by 0x27C942: uncompress_file (archive_read_support_format_rar5.c:3837) =3D=3D205571=3D=3D by 0x27C942: do_unpack (archive_read_support_format_r= ar5.c:3923) =3D=3D205571=3D=3D by 0x27C942: rar5_read_data (archive_read_support_format_rar5.c:4087) =3D=3D205571=3D=3D by 0x23D63B: archive_read_data (archive_read.c:841) =3D=3D205571=3D=3D by 0x1AA34C: extract_one (test_read_format_rar5.c:104) =3D=3D205571=3D=3D by 0x1B22CA: test_read_format_rar5_extra_field_version (test_read_format_rar5.c:955) =3D=3D205571=3D=3D by 0x11E0A4: test_run (test_main.c:3570) =3D=3D205571=3D=3D by 0x11E0A4: main (test_main.c:4182) [...] =3D=3D205571=3D=3D =3D=3D205571=3D=3D Conditional jump or move depends on uninitialised value(= s) =3D=3D205571=3D=3D at 0x275518: create_decode_tables (archive_read_support_format_rar5.c:2524) =3D=3D205571=3D=3D by 0x275518: parse_tables.constprop.0 (archive_read_support_format_rar5.c:2736) =3D=3D205571=3D=3D by 0x27C942: process_block (archive_read_support_format_rar5.c:3557) =3D=3D205571=3D=3D by 0x27C942: do_uncompress_file (archive_read_support_format_rar5.c:3753) =3D=3D205571=3D=3D by 0x27C942: uncompress_file (archive_read_support_format_rar5.c:3837) =3D=3D205571=3D=3D by 0x27C942: do_unpack (archive_read_support_format_r= ar5.c:3923) =3D=3D205571=3D=3D by 0x27C942: rar5_read_data (archive_read_support_format_rar5.c:4087) =3D=3D205571=3D=3D by 0x23D63B: archive_read_data (archive_read.c:841) =3D=3D205571=3D=3D by 0x1AA34C: extract_one (test_read_format_rar5.c:104) =3D=3D205571=3D=3D by 0x1B22CA: test_read_format_rar5_extra_field_version (test_read_format_rar5.c:955) =3D=3D205571=3D=3D by 0x11E0A4: test_run (test_main.c:3570) =3D=3D205571=3D=3D by 0x11E0A4: main (test_main.c:4182) =3D=3D205571=3D=3D [...] ``` I will dig a bit more.=