pulseaudio test failure after upgrade to orc 0.4.38
- Debian Unstable
- orc 0.4.38
- pulseaudio 16.1
pulseaudio's build test passed on March 10 and failed today. One thing that changed since March 10 is that orc was updated from 0.4.34 to 0.4.38
Test log excerpt
=================================== 36/53 ====================================
test: cpu-volume-test
start time: 20:02:32
duration: 2.06s
result: exit status 1
command: LD_LIBRARY_PATH=/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src:
/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/pulse:/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/pulsecore
ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=37 MAKE_CHECK=1
UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1
/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/tests/cpu-volume-test
----------------------------------- stdout -----------------------------------
Running suite(s): CPU
66%: Checks: 3, Failures: 0, Errors: 1
../src/tests/cpu-volume-test.c:188:E:svolume:svolume_orc_test:0: (after this point) Received signal 11 (Segmentation fault)
Full build log
Click Build-Attempted at https://buildd.debian.org/status/package.php?p=pulseaudio
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Maintainer
I did a quick check, and I see an alignment check failing when running with
ORC_CODE=debug,emulate
:ORC: INFO: ../subprojects/orc/orc/orccompiler.c(247): orc_compiler_compile_program(): initializing compiler for program "pa_volume_s16ne_orc_2ch" ORC: LOG: ../subprojects/orc/orc/orccompiler.c(276): orc_compiler_compile_program(): Program variables ORC: LOG: ../subprojects/orc/orc/orccompiler.c(279): orc_compiler_compile_program(): 0: d size 4 type 2 alignment 4 is_aligned 0 alloc 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(279): orc_compiler_compile_program(): 16: c size 2 type 3 alignment 0 is_aligned 0 alloc 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(279): orc_compiler_compile_program(): 24: p size 8 type 4 alignment 0 is_aligned 0 alloc 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(279): orc_compiler_compile_program(): 32: t size 8 type 0 alignment 0 is_aligned 0 alloc 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(279): orc_compiler_compile_program(): 33: t size 4 type 0 alignment 0 is_aligned 0 alloc 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(279): orc_compiler_compile_program(): 34: t size 8 type 0 alignment 0 is_aligned 0 alloc 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(279): orc_compiler_compile_program(): 35: t size 8 type 0 alignment 0 is_aligned 0 alloc 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(279): orc_compiler_compile_program(): 36: t size 8 type 0 alignment 0 is_aligned 0 alloc 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(279): orc_compiler_compile_program(): 37: t size 8 type 0 alignment 0 is_aligned 0 alloc 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(288): orc_compiler_compile_program(): Program instructions ORC: LOG: ../subprojects/orc/orc/orccompiler.c(290): orc_compiler_compile_program(): 0: loadpq 32 0 24 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(290): orc_compiler_compile_program(): 1: convuwl 34 0 0 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(290): orc_compiler_compile_program(): 2: cmpgtsw 37 0 16 34 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(290): orc_compiler_compile_program(): 3: andw 37 0 37 32 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(290): orc_compiler_compile_program(): 4: mulhuw 36 0 34 32 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(290): orc_compiler_compile_program(): 5: subl 36 0 36 37 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(290): orc_compiler_compile_program(): 6: convhlw 33 0 32 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(290): orc_compiler_compile_program(): 7: mulswl 35 0 0 33 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(290): orc_compiler_compile_program(): 8: addl 36 0 36 35 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(290): orc_compiler_compile_program(): 9: convssslw 0 0 36 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(328): orc_compiler_compile_program(): Compiler variables ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 0: d size 4 type 2 alignment 4 is_aligned 0 alloc 0 [0,-1] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 16: c size 2 type 3 alignment 0 is_aligned 0 alloc 0 [0,-1] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 24: p size 8 type 4 alignment 0 is_aligned 0 alloc 0 [0,-1] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 32: t size 8 type 0 alignment 0 is_aligned 0 alloc 0 [0,8] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 33: t size 4 type 0 alignment 0 is_aligned 0 alloc 0 [8,10] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 34: t size 8 type 0 alignment 0 is_aligned 0 alloc 0 [2,6] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 35: t size 8 type 0 alignment 0 is_aligned 0 alloc 0 [10,11] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 36: t size 8 type 0 alignment 0 is_aligned 0 alloc 0 [6,7] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 37: t size 8 type 0 alignment 0 is_aligned 0 alloc 0 [4,5] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 38: tmp38 size 4 type 0 alignment 0 is_aligned 0 alloc 0 [1,2] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 39: tmp39 size 8 type 0 alignment 0 is_aligned 0 alloc 0 [3,4] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 40: tmp40 size 4 type 0 alignment 0 is_aligned 0 alloc 0 [9,10] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 41: tmp41 size 4 type 0 alignment 0 is_aligned 0 alloc 0 [12,13] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 42: t.dup5 size 8 type 0 alignment 0 is_aligned 0 alloc 0 [5,7] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 43: t.dup7 size 8 type 0 alignment 0 is_aligned 0 alloc 0 [7,11] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(331): orc_compiler_compile_program(): 44: t.dup11 size 8 type 0 alignment 0 is_aligned 0 alloc 0 [11,12] ORC: LOG: ../subprojects/orc/orc/orccompiler.c(342): orc_compiler_compile_program(): Compiler instructions ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 0: loadpq 32 0 24 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 1: loadl 38 0 0 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 2: convuwl 34 0 38 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 3: loadpw 39 0 16 32 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 4: cmpgtsw 37 0 39 34 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 5: andw 42 0 37 32 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 6: mulhuw 36 0 34 32 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 7: subl 43 0 36 42 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 8: convhlw 33 0 32 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 9: loadl 40 0 0 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 10: mulswl 35 0 40 33 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 11: addl 44 0 43 35 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 12: convssslw 41 0 44 0 ORC: LOG: ../subprojects/orc/orc/orccompiler.c(344): orc_compiler_compile_program(): 13: storel 0 0 41 0 ORC: WARNING: ../subprojects/orc/orc/orccompiler.c(473): orc_compiler_compile_program(): program pa_volume_s16ne_orc_2ch failed to compile, reason: Compilation disabled, using emulation ORC: INFO: ../subprojects/orc/orc/orccompiler.c(497): orc_compiler_compile_program(): finished compiling (fail) ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(252): orc_executor_emulate(): emulating ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 32 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode loadpq 0x415cb0 0x415d40 0x5959595959595959 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 38 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode loadl 0x41c0c0 0x7fffffffcc70 0x5959595959595959 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 34 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode convuwl 0x415b90 0x41c0c0 0x5959595959595959 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 39 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode loadpw 0x41c150 0x415dd0 0x5959595959595959 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 37 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode cmpgtsw 0x41c030 0x41c150 0x415b90 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 42 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode andw 0x41c300 0x41c030 0x415cb0 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 36 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode mulhuw 0x41bfa0 0x415b90 0x415cb0 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 43 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode subl 0x41c390 0x41bfa0 0x41c300 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 33 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode convhlw 0x415c20 0x415cb0 0x5959595959595959 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 40 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode loadl 0x41c1e0 0x7fffffffcc70 0x5959595959595959 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 35 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode mulswl 0x415b00 0x41c1e0 0x415c20 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 44 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode addl 0x41c420 0x41c390 0x415b00 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 41 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode convssslw 0x41c270 0x41c420 0x5959595959595959 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode storel 0x7fffffffcc70 0x41c270 0x5959595959595959 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(349): orc_executor_emulate(): src ptr (nil) stride 0 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(351): orc_executor_emulate(): m_index 0 m 1 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(252): orc_executor_emulate(): emulating ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(331): orc_executor_emulate(): dest vartype tmp 32 ORC: DEBUG: ../subprojects/orc/orc/orcexecutor.c(344): orc_executor_emulate(): opcode loadpq 0x415cb0 0x415c20 0x5959595959595959 Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7811cd3 in orc_executor_emulate (ex=0x7fffffffb840) at ../subprojects/orc/orc/orcexecutor.c:320 320 ORC_ERROR("Unaligned array for dest%d, program %s", (gdb) bt #0 0x00007ffff7811cd3 in orc_executor_emulate (ex=0x7fffffffb840) at ../subprojects/orc/orc/orcexecutor.c:320 #1 0x00007ffff7e04b82 in pa_volume_s16ne_orc_2ch (d1=0x7fffffffcc6e, p1=180444461064589, n=510) at src/pulsecore/svolume-orc-gen.c:551 #2 0x00007ffff7e8e189 in pa_volume_s16ne_orc (samples=0x7fffffffcc6e, volumes=0x7fffffffbbd0, channels=2, length=2040) at ../src/pulsecore/svolume_orc.c:38 #3 0x0000000000401592 in run_volume_test (func=0x7ffff7e8e130 <pa_volume_s16ne_orc>, orig_func=0x7ffff7e82470 <pa_volume_s16ne_sse2>, align=1, channels=2, correct=true, perf=false) at ../src/tests/cpu-volume-test.c:74 #4 0x000000000040207e in svolume_orc_test_fn (_i=0) at ../src/tests/cpu-volume-test.c:211 #5 0x00007ffff7dbe943 in tcase_run_tfun_nofork (sr=sr@entry=0x406680, tc=tc@entry=0x406420, tfun=tfun@entry=0x406630, i=i@entry=0) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:420 #6 0x00007ffff7dbef75 in srunner_iterate_tcase_tfuns (tc=0x406420, sr=<optimized out>) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:263 #7 srunner_run_tcase (tc=0x406420, sr=0x406680) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:402 #8 srunner_iterate_suites (print_mode=<optimized out>, exclude_tags=0x0, include_tags=0x0, tcname=<optimized out>, sname=0x0, sr=0x406680) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:222 #9 srunner_run_tagged (sr=0x406680, sname=0x0, tcname=<optimized out>, include_tags=0x0, exclude_tags=0x0, print_mode=<optimized out>) at /usr/src/debug/check-0.15.2-10.fc39.x86_64/src/check_run.c:814 #10 0x00000000004021da in main (argc=1, argv=0x7fffffffd8b8) at ../src/tests/cpu-volume-test.c:241
Collapse replies - Maintainer
Looking at what the emulation is doing, the failure does seem to be on an unaligned
loadpq
- Maintainer
@amyspark any ideas for why this might be?
- Owner
As discussed on Matrix, the source pointer seems to be unaligned
pa_volume_s16ne_orc_2ch (d1=0x7fffffffd0ee, p1=180444461064589, n=510) at src/pulsecore/svolume-orc-gen.c:549
but a 2-byte alignment is expected for the
int16_t
data type.Looks like it might be a problem with the unit test that intentionally or unintentionally generates 1-byte alignment.
- Arun Raghavan closed
closed