lai
lai copied to clipboard
LAI fails to pass the ACPICA arithmetic test
Output
amldebug: (string "---------- ERROR : SHL0")
amldebug: (string "TITLE : Integer arithmetic")
amldebug: (string "COLLECTION : functional")
amldebug: (string "TEST CASE : arithmetic")
amldebug: (string "TEST : SHL0")
amldebug: (string "ERROR, File : arithmetic.asl")
amldebug: (string " Line : 170")
amldebug: (string "**** Expected Result: 0xp050, (p050)")
amldebug: (string "**** Actual Result : 0xE, (14)")
amldebug: (string "---------- END
")
amldebug: (string "---------- ERROR : SHL0")
amldebug: (string "TITLE : Integer arithmetic")
amldebug: (string "COLLECTION : functional")
amldebug: (string "TEST CASE : arithmetic")
amldebug: (string "TEST : SHL0")
amldebug: (string "ERROR, File : arithmetic.asl")
amldebug: (string " Line : 170")
amldebug: (string "**** Expected Result: 0xp050, (p050)")
amldebug: (string "**** Actual Result : 0xF, (15)")
amldebug: (string "---------- END
")
amldebug: (string "---------- ERROR : SHL0")
amldebug: (string "TITLE : Integer arithmetic")
amldebug: (string "COLLECTION : functional")
amldebug: (string "TEST CASE : arithmetic")
amldebug: (string "TEST : SHL0")
amldebug: (string "ERROR, File : arithmetic.asl")
amldebug: (string " Line : 170")
amldebug: (string "**** Expected Result: 0xp053, (p053)")
amldebug: (string "**** Actual Result : 0x4, (4)")
amldebug: (string "---------- END
")
amldebug: (string "---------- ERROR : SHL0")
amldebug: (string "TITLE : Integer arithmetic")
amldebug: (string "COLLECTION : functional")
amldebug: (string "TEST CASE : arithmetic")
amldebug: (string "TEST : SHL0")
amldebug: (string "ERROR, File : arithmetic.asl")
amldebug: (string " Line : 170")
amldebug: (string "**** Expected Result: 0xp053, (p053)")
amldebug: (string "**** Actual Result : 0x5, (5)")
amldebug: (string "---------- END
")
amldebug: (string ":CTST:functional:arithmetic:SHL0:FAIL:Errors # 0x04 0x00 0x00 0x00:")
amldebug: (string "SHR0 test started")
amldebug: (string "TEST: SHR0, Integer shift value right")
amldebug: (string "---------- ERROR : SHR0")
amldebug: (string "TITLE : Integer arithmetic")
amldebug: (string "COLLECTION : functional")
amldebug: (string "TEST CASE : arithmetic")
amldebug: (string "TEST : SHR0")
amldebug: (string "ERROR, File : arithmetic.asl")
amldebug: (string " Line : 178")
amldebug: (string "**** Expected Result: 0xp050, (p050)")
amldebug: (string "**** Actual Result : 0xE, (14)")
amldebug: (string "---------- END
")
amldebug: (string "---------- ERROR : SHR0")
amldebug: (string "TITLE : Integer arithmetic")
amldebug: (string "COLLECTION : functional")
amldebug: (string "TEST CASE : arithmetic")
amldebug: (string "TEST : SHR0")
amldebug: (string "ERROR, File : arithmetic.asl")
amldebug: (string " Line : 178")
amldebug: (string "**** Expected Result: 0xp050, (p050)")
amldebug: (string "**** Actual Result : 0xF, (15)")
amldebug: (string "---------- END
")
amldebug: (string "---------- ERROR : SHR0")
amldebug: (string "TITLE : Integer arithmetic")
amldebug: (string "COLLECTION : functional")
amldebug: (string "TEST CASE : arithmetic")
amldebug: (string "TEST : SHR0")
amldebug: (string "ERROR, File : arithmetic.asl")
amldebug: (string " Line : 178")
amldebug: (string "**** Expected Result: 0xp053, (p053)")
amldebug: (string "**** Actual Result : 0x4, (4)")
amldebug: (string "---------- END
")
amldebug: (string "---------- ERROR : SHR0")
amldebug: (string "TITLE : Integer arithmetic")
amldebug: (string "COLLECTION : functional")
amldebug: (string "TEST CASE : arithmetic")
amldebug: (string "TEST : SHR0")
amldebug: (string "ERROR, File : arithmetic.asl")
amldebug: (string " Line : 178")
amldebug: (string "**** Expected Result: 0xp053, (p053)")
amldebug: (string "**** Actual Result : 0x5, (5)")
amldebug: (string "---------- END
")
amldebug: (string ":CTST:functional:arithmetic:SHR0:FAIL:Errors # 0x04 0x00 0x00 0x00:")
amldebug: (string "FSL0 test started")
amldebug: (string "TEST: FSL0, Index of first least significant bit set")
amldebug: (string ":CTST:functional:arithmetic:FSL0:PASS:")
amldebug: (string "FSR0 test started")
amldebug: (string "TEST: FSR0, Index of first most significant bit set")
amldebug: (string ":CTST:functional:arithmetic:FSR0:PASS:")
amldebug: (string "Run time (in seconds): 0x0000000000000000")
amldebug: (string "The total number of exceptions handled: 0x0000000000000000")
amldebug: (string "========= ERRORS SUMMARY (max 400):")
amldebug: (string "arithmetic, arithmetic.asl, 00000000000000AA")
amldebug: (string "arithmetic, arithmetic.asl, 00000000000000AA")
amldebug: (string "arithmetic, arithmetic.asl, 00000000000000AA")
amldebug: (string "arithmetic, arithmetic.asl, 00000000000000AA")
amldebug: (string "arithmetic, arithmetic.asl, 00000000000000B2")
amldebug: (string "arithmetic, arithmetic.asl, 00000000000000B2")
amldebug: (string "arithmetic, arithmetic.asl, 00000000000000B2")
amldebug: (string "arithmetic, arithmetic.asl, 00000000000000B2")
amldebug: (string "========= END.")
amldebug: (string "========= ROOT METHODS SUMMARY (max 600):")
amldebug: (string ":STST:functional:arithmetic:ADD0:PASS:")
amldebug: (string ":STST:functional:arithmetic:SUB0:PASS:")
amldebug: (string ":STST:functional:arithmetic:MTP0:PASS:")
amldebug: (string ":STST:functional:arithmetic:DVD0:PASS:")
amldebug: (string ":STST:functional:arithmetic:ICR0:PASS:")
amldebug: (string ":STST:functional:arithmetic:DCR0:PASS:")
amldebug: (string ":STST:functional:arithmetic:AND0:PASS:")
amldebug: (string ":STST:functional:arithmetic:NAN0:PASS:")
amldebug: (string ":STST:functional:arithmetic:NOR0:PASS:")
amldebug: (string ":STST:functional:arithmetic:NOT0:PASS:")
amldebug: (string ":STST:functional:arithmetic:OR00:PASS:")
amldebug: (string ":STST:functional:arithmetic:XOR0:PASS:")
amldebug: (string ":STST:functional:arithmetic:MOD0:PASS:")
amldebug: (string ":STST:functional:arithmetic:SHL0:FAIL:Errors # 0x04 0x00 0x00 0x00:")
amldebug: (string ":STST:functional:arithmetic:SHR0:FAIL:Errors # 0x04 0x00 0x00 0x00:")
amldebug: (string ":STST:functional:arithmetic:FSL0:PASS:")
amldebug: (string ":STST:functional:arithmetic:FSR0:PASS:")
amldebug: (string "========= END.")
amldebug: (string "TEST ACPICA: 64-bit : FAIL : Errors # 0x0000000000000008, Failed tests # 0x0000000000000002")
Execution finished successfully
It also leaks a bunch of memory after the test run:
ASAN output
==19930==ERROR: LeakSanitizer: detected memory leaks
Direct leak of 22176 byte(s) in 99 object(s) allocated from:
#0 0x7f0c0a0b0867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x55a0e3e008d7 in laihost_malloc ../common/laihost.c:17
#2 0x55a0e3e1203a in lai_create_nsnode ../subprojects/lai/core/ns.c:39
#3 0x55a0e3e12079 in lai_create_nsnode_or_die ../subprojects/lai/core/ns.c:49
#4 0x55a0e3e01bbe in lai_exec_reduce_node ../subprojects/lai/core/exec.c:74
#5 0x55a0e3e087cf in lai_exec_process ../subprojects/lai/core/exec.c:1543
#6 0x55a0e3e078c5 in lai_exec_run ../subprojects/lai/core/exec.c:1332
#7 0x55a0e3e0f91b in lai_eval_args ../subprojects/lai/core/exec.c:3708
#8 0x55a0e3e0fd37 in lai_eval ../subprojects/lai/core/exec.c:3765
#9 0x55a0e3e00775 in main ../laiexec/main.c:318
#10 0x7f0c09dfdd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
Direct leak of 384 byte(s) in 16 object(s) allocated from:
#0 0x7f0c0a0b0867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x55a0e3e008d7 in laihost_malloc ../common/laihost.c:17
#2 0x55a0e3e14110 in lai_create_string ../subprojects/lai/core/object.c:14
#3 0x55a0e3e167a2 in lai_clone_string ../subprojects/lai/core/object.c:693
#4 0x55a0e3e1696d in lai_obj_clone ../subprojects/lai/core/object.c:715
#5 0x55a0e3e0280d in lai_exec_reduce_op ../subprojects/lai/core/exec.c:234
#6 0x55a0e3e08921 in lai_exec_process ../subprojects/lai/core/exec.c:1560
#7 0x55a0e3e078c5 in lai_exec_run ../subprojects/lai/core/exec.c:1332
#8 0x55a0e3e0f91b in lai_eval_args ../subprojects/lai/core/exec.c:3708
#9 0x55a0e3e0fd37 in lai_eval ../subprojects/lai/core/exec.c:3765
#10 0x55a0e3e00775 in main ../laiexec/main.c:318
#11 0x7f0c09dfdd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
Direct leak of 224 byte(s) in 1 object(s) allocated from:
#0 0x7f0c0a0b0867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x55a0e3e008d7 in laihost_malloc ../common/laihost.c:17
#2 0x55a0e3e1203a in lai_create_nsnode ../subprojects/lai/core/ns.c:39
#3 0x55a0e3e12079 in lai_create_nsnode_or_die ../subprojects/lai/core/ns.c:49
#4 0x55a0e3e0c907 in lai_exec_parse ../subprojects/lai/core/exec.c:2694
#5 0x55a0e3e08010 in lai_exec_process ../subprojects/lai/core/exec.c:1451
#6 0x55a0e3e078c5 in lai_exec_run ../subprojects/lai/core/exec.c:1332
#7 0x55a0e3e0f91b in lai_eval_args ../subprojects/lai/core/exec.c:3708
#8 0x55a0e3e0fd37 in lai_eval ../subprojects/lai/core/exec.c:3765
#9 0x55a0e3e00775 in main ../laiexec/main.c:318
#10 0x7f0c09dfdd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
Direct leak of 24 byte(s) in 1 object(s) allocated from:
#0 0x7f0c0a0b0867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x55a0e3e008d7 in laihost_malloc ../common/laihost.c:17
#2 0x55a0e3e14110 in lai_create_string ../subprojects/lai/core/object.c:14
#3 0x55a0e3e0b231 in lai_exec_parse ../subprojects/lai/core/exec.c:2260
#4 0x55a0e3e08827 in lai_exec_process ../subprojects/lai/core/exec.c:1549
#5 0x55a0e3e078c5 in lai_exec_run ../subprojects/lai/core/exec.c:1332
#6 0x55a0e3e0f524 in lai_populate ../subprojects/lai/core/exec.c:3646
#7 0x55a0e3e0064a in main ../laiexec/main.c:301
#8 0x7f0c09dfdd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
Indirect leak of 432 byte(s) in 18 object(s) allocated from:
#0 0x7f0c0a0b0867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x55a0e3e008d7 in laihost_malloc ../common/laihost.c:17
#2 0x55a0e3e14281 in lai_create_buffer ../subprojects/lai/core/object.c:39
#3 0x55a0e3e0815f in lai_exec_process ../subprojects/lai/core/exec.c:1464
#4 0x55a0e3e078c5 in lai_exec_run ../subprojects/lai/core/exec.c:1332
#5 0x55a0e3e0f91b in lai_eval_args ../subprojects/lai/core/exec.c:3708
#6 0x55a0e3e0fd37 in lai_eval ../subprojects/lai/core/exec.c:3765
#7 0x55a0e3e00775 in main ../laiexec/main.c:318
#8 0x7f0c09dfdd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
Indirect leak of 80 byte(s) in 16 object(s) allocated from:
#0 0x7f0c0a0b0867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x55a0e3e008d7 in laihost_malloc ../common/laihost.c:17
#2 0x55a0e3e14155 in lai_create_string ../subprojects/lai/core/object.c:18
#3 0x55a0e3e167a2 in lai_clone_string ../subprojects/lai/core/object.c:693
#4 0x55a0e3e1696d in lai_obj_clone ../subprojects/lai/core/object.c:715
#5 0x55a0e3e0280d in lai_exec_reduce_op ../subprojects/lai/core/exec.c:234
#6 0x55a0e3e08921 in lai_exec_process ../subprojects/lai/core/exec.c:1560
#7 0x55a0e3e078c5 in lai_exec_run ../subprojects/lai/core/exec.c:1332
#8 0x55a0e3e0f91b in lai_eval_args ../subprojects/lai/core/exec.c:3708
#9 0x55a0e3e0fd37 in lai_eval ../subprojects/lai/core/exec.c:3765
#10 0x55a0e3e00775 in main ../laiexec/main.c:318
#11 0x7f0c09dfdd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
Indirect leak of 72 byte(s) in 18 object(s) allocated from:
#0 0x7f0c0a0b0867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x55a0e3e008d7 in laihost_malloc ../common/laihost.c:17
#2 0x55a0e3e142d2 in lai_create_buffer ../subprojects/lai/core/object.c:44
#3 0x55a0e3e0815f in lai_exec_process ../subprojects/lai/core/exec.c:1464
#4 0x55a0e3e078c5 in lai_exec_run ../subprojects/lai/core/exec.c:1332
#5 0x55a0e3e0f91b in lai_eval_args ../subprojects/lai/core/exec.c:3708
#6 0x55a0e3e0fd37 in lai_eval ../subprojects/lai/core/exec.c:3765
#7 0x55a0e3e00775 in main ../laiexec/main.c:318
#8 0x7f0c09dfdd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
Indirect leak of 1 byte(s) in 1 object(s) allocated from:
#0 0x7f0c0a0b0867 in __interceptor_malloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:145
#1 0x55a0e3e008d7 in laihost_malloc ../common/laihost.c:17
#2 0x55a0e3e14155 in lai_create_string ../subprojects/lai/core/object.c:18
#3 0x55a0e3e0b231 in lai_exec_parse ../subprojects/lai/core/exec.c:2260
#4 0x55a0e3e08827 in lai_exec_process ../subprojects/lai/core/exec.c:1549
#5 0x55a0e3e078c5 in lai_exec_run ../subprojects/lai/core/exec.c:1332
#6 0x55a0e3e0f524 in lai_populate ../subprojects/lai/core/exec.c:3646
#7 0x55a0e3e0064a in main ../laiexec/main.c:301
#8 0x7f0c09dfdd8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
SUMMARY: AddressSanitizer: 23393 byte(s) leaked in 170 allocation(s).
I've attached the test (decompiled and slightly altered to work with LAI + removed Timer/DataRegion revision detection) arith.zip