Test failure on 32-bit x86 (`round-trip test (rt-1-12-1.aifc) encode... decode... compare... rt-1-12-1.aifc rt.aifc differ: char 8, line 1`)
Open
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 2.4k
- Forks
- 363
- PR merge metrics
- No merged PRs in 30d
Description
Building 1.5.0 or master (same) for x86 results in a failing test:
$ ./configure --prefix=/usr --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --target=i686-pc-linux-gnu --disable-programs CC="gcc -m32" CXX="g++ -m32" CFLAGS="-O2" CXXFLAGS="-O2" && make && make check
[...]
round-trip test (rt-8-12-1.aiff) encode... decode... compare... OK
round-trip test (rt-8-12-111.aiff) encode... decode... compare... OK
round-trip test (rt-8-12-4777.aiff) encode... decode... compare... OK
round-trip test (rt-8-16-1.aiff) encode... decode... compare... OK
round-trip test (rt-8-16-111.aiff) encode... decode... compare... OK
round-trip test (rt-8-16-4777.aiff) encode... decode... compare... OK
round-trip test (rt-8-20-1.aiff) encode... decode... compare... OK
round-trip test (rt-8-20-111.aiff) encode... decode... compare... OK
round-trip test (rt-8-20-4777.aiff) encode... decode... compare... OK
round-trip test (rt-8-24-1.aiff) encode... decode... compare... OK
round-trip test (rt-8-24-111.aiff) encode... decode... compare... OK
round-trip test (rt-8-24-4777.aiff) encode... decode... compare... OK
round-trip test (rt-8-8-1.aiff) encode... decode... compare... OK
round-trip test (rt-8-8-111.aiff) encode... decode... compare... OK
round-trip test (rt-8-8-4777.aiff) encode... decode... compare... OK
round-trip test (rt-1-12-1.aifc) encode... decode... compare... rt-1-12-1.aifc rt.aifc differ: char 8, line 1
ERROR: file mismatch
make[1]: *** [Makefile:716: check] Error 1
make[1]: Leaving directory '/home/sam/git/flac/test'
make: *** [Makefile:503: check-recursive] Error 1
~/git/flac/test $ diffoscope rt-1-12-1.aifc rt.aifc
--- rt-1-12-1.aifc
+++ rt.aifc
@@ -1,4 +1,4 @@
-00000000: 464f 524d 0000 0036 4149 4643 434f 4d4d FORM...6AIFCCOMM
+00000000: 464f 524d 0000 0012 4149 4643 434f 4d4d FORM....AIFCCOMM
00000010: 0000 0018 0001 0000 0001 000c 400e ac44 ............@..D
00000020: 0000 0000 0000 4e4f 4e45 0000 5353 4e44 ......NONE..SSND
00000030: 0000 000a 0000 0000 0000 0000 0050 .............P
Logs above are w/ GCC 15 (unreleased) but I see the same w/ GCC 14 and 13.
The testsuite passes for amd64 (so dropping -m32) or if I drop --disable-programs.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure with the provided 32-bit configure command and make check, focusing on the rt-1-12-1.aifc round-trip test and the Makefile check target around line 716. Compare the generated rt.aifc with the reference file and contrast results on amd64 or with --disable-programs. Done means the 32-bit tests no longer report the AIFC file mismatch.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- build-system, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100