lai icon indicating copy to clipboard operation
lai copied to clipboard

LAI fails to pass the ACPICA arithmetic test

Open d-tatianin opened this issue 1 year ago • 0 comments

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

d-tatianin avatar Dec 16 '23 19:12 d-tatianin