Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LAI fails to pass the ACPICA arithmetic test #143

Open
d-tatianin opened this issue Dec 16, 2023 · 0 comments
Open

LAI fails to pass the ACPICA arithmetic test #143

d-tatianin opened this issue Dec 16, 2023 · 0 comments

Comments

@d-tatianin
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant