xiph / xiph/flac

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
#804 4 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.