dyninst/testsuite

arm64: test_type_info supposed to be executed?

ikitayama opened this issue · 4 comments

On arm64, verifying type my_union fails leaving messages below:

test_type_info.C[496]:  bad sizes for expected fields for type my_union
test_type_info.C[497]:  got 0, expected 2
test_type_info.C[590]:  verify union my_union failing
test_type_info.C[757]:  could not verify union
test_type_info.C[1025]:  specific type test failed... 

On arm64, is this expected still to be checked?

Yes, it should be checked. Does dwarfdump shed any light on whether this is a case of bad dwarf info or bad parsing on our end?

dwarfdump results seem fine to me, but I'll be happy to provide more if you'd like to investigate.

Below is a full log of the test failing on arm64. Type's methods getName() and getUnionType()
don't seem to me in sync during the test. I appreciate your insight into this issue.

$ ./test_driver -test test_type_info -log - 2>&1|tee /tmp/log
Commencing test(s) ...
Tue Jan 10 01:39:53 CST 2017
Linux r2-a21 4.9.0-next-20161221 #22 SMP PREEMPT Sun Dec 25 20:03:03 CST 2016 aarch64 aarch64 aarch64 GNU/Linux
TESTDIR=/home/itaru.kitayama/validations/testsuite
[Tests with symtab_group_test.dyn_g++_64_none_none]
-rwxr-xr-x 1 itaru.kitayama itaru.kitayama 90392 Jan  9 21:34 symtab_group_test.dyn_g++_64_none_none*
	linux-vdso.so.1 (0x0000ffffa1410000)
	libtestA.so (0x0000ffffa13e0000)
	libstdc++.so.6 => /lib64/libstdc++.so.6 (0x0000ffffa1210000)
	libm.so.6 => /lib64/libm.so.6 (0x0000ffffa1140000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000ffffa1110000)
	libc.so.6 => /lib64/libc.so.6 (0x0000ffffa0f70000)
	/lib/ld-linux-aarch64.so.1 (0x0000aaaab4270000)

test_type_info.C[1068]:  considering module symtab_group_test.dyn_g++_64_none_none
test_type_info.C[1068]:  considering module mutatee_driver.c
test_type_info.C[1068]:  considering module test_lookup_func_mutatee.c
test_type_info.C[1068]:  considering module test_lookup_var_mutatee.c
test_type_info.C[1068]:  considering module test_line_info_mutatee.c
test_type_info.C[1068]:  considering module test_module_mutatee.c
test_type_info.C[1068]:  considering module test_relocations_mutatee.c
test_type_info.C[1068]:  considering module test_symtab_ser_funcs_mutatee.c
test_type_info.C[1068]:  considering module test_ser_anno_mutatee.c
test_type_info.C[1068]:  considering module test_type_info_mutatee.c
test_type_info.C[1068]:  considering module test_anno_basic_types_mutatee.c
test_type_info.C[1068]:  considering module test_add_symbols_mutatee.c
test_type_info.C[1068]:  considering module mutatee_util.c
test_type_info.C[1068]:  considering module symtab_group_test_group.c
Selected module is test_type_info_mutatee.c
test_type_info.C[643]: considering type sf_my_union, getUnionType() returns PN7Dyninst9SymtabAPI9typeUnionE
ID 270 Size 8
verify_union for sf_my_union
test_type_info.C[643]: considering type my_union, getUnionType() returns PN7Dyninst9SymtabAPI9typeUnionE
ID 322 Size 4
verify_union for my_union
verify_field_list for my_union
test_type_info.C[643]: considering type sigval, getUnionType() returns PN7Dyninst9SymtabAPI9typeUnionE
ID 383 Size 8
verify_union for sigval
verify_union for my_union
verify_field_list for my_union
test_type_info.C[497]:  bad sizes for expected fields for type my_union
test_type_info.C[498]:  got 0, expected 2
test_type_info.C[591]:  verify union my_union failing
test_type_info.C[759]:  could not verify union
test_type_info.C[1027]:  specific type test failed... 
TEST                       COMP   OPT  ABI MODE     THREAD  LINK    PIC     RESULT
test_type_info             g++    none 64  disk     NA      dynamic nonPIC  FAILED (Running Test)

I'v seen this also with Rawhide (currently Fedora 26 candidate) release.

Unable to reproduce using current HEAD of master. ./runTests -all -test test_type_info executes all permutations with each one passing. Closing. If this continues to be an issue for you, please either re-open this issue or submit a new one.