On 11 Dec 2015 06:30, Dmitry V. Levin wrote: > On Thu, Dec 10, 2015 at 09:37:35PM -0500, Mike Frysinger wrote: > > i haven't had a chance yet to triage these. > > > > testing commit bab4ef4272cd2596c7390b34ea8acc086ee8fdb2 (v4.10-566-gbab4ef4) > > > > native (build+tests): > > vFAIL: build; x86_64 ??? linux-4.1.6 > > kernel-headers-3.4.0 glibc-2.4 gcc-4.5.4 > > vFAIL: build; sparc64 ??? cross kernel-headers-4.3.0 glibc-2.22 > > gcc-4.6.4 > > ./mpers.sh: line 21: 18442 Killed gawk -v > > VAR_NAME="$VAR_NAME" -v ARCH_FLAG="${ARCH_FLAG#-}" -f "$MPERS_AWK" > > "${f_d2}" > "${f_h}" > > Was it an OOM killer in both cases?
the older version of gawk used seems to be unhappy with the script. when i run the command manually: $ gawk -v VAR_NAME=mpers_target_var -v ARCH_FLAG=m32 -f ./mpers.awk mpers-m32/kernel_dirent.d2 #include <inttypes.h> typedef Killed running it through strace shows that it keeps increasing the heap until it OOMs: ... brk(0x9524e000) = 0x9524e000 brk(0x9526f000) = 0x9526f000 brk(0x95291000) = 0x95291000 brk(0x952b2000) = 0x952b2000 brk(0x952d4000) = 0x952d4000 brk(0x952f5000) = 0x952f5000 ... adding some debug statements to the script shows it gets into infinite recursion with the what_is function: #include <inttypes.h> typedef what_is( 0x79 ) type_idx = { } special = { typedef } what_is( ) type_idx = { } special = { } what_is( ) ...repeats blank lookups forever... this is gawk-4.0.1, so i suspect you should be able to reproduce by installing that version locally. i'm attaching the mpers-m32/kernel_dirent.d2 in case it helps. > > vFAIL: test; armv7l 32-bit/LSB linux-3.4.0-vapier > > kernel-headers-3.18.0 glibc-2.21 gcc-4.9.3 > > Segmentation fault > > inet-cmsg.test: failed test: ./inet-cmsg failed > > tests/inet-cmsg.c sagfaulted, need more info. yikes, this looks like a kernel bug :). i'll try a newer one on that system (i've got a 3.8 upgrade pending already). [ 0.000000] Unable to handle kernel NULL pointer dereference at virtual address 00000080 [ 0.000000] pgd = ec708000 [ 80.000000] *pgd=41dcc831, *pte=00000000, *ppte=00000000 [ 0.000000] Internal error: Oops: 17 [#9] SMP ARM ... [ 0.000000] PC is at ip_options_echo+0x4c/0x410 [ 0.000000] LR is at ip_options_echo+0x28/0x410 ... [ 0.000000] [<80383ee8>] (ip_options_echo+0x4c/0x410) from [<80387e38>] (ip_cmsg_recv+0x1c8/0x204) [ 0.000000] [<80387e38>] (ip_cmsg_recv+0x1c8/0x204) from [<803a7e70>] (udp_recvmsg+0x334/0x374) [ 0.000000] [<803a7e70>] (udp_recvmsg+0x334/0x374) from [<803afe7c>] (inet_recvmsg+0x94/0xac) [ 0.000000] [<803afe7c>] (inet_recvmsg+0x94/0xac) from [<8034b160>] (sock_recvmsg+0xb0/0xd0) [ 0.000000] [<8034b160>] (sock_recvmsg+0xb0/0xd0) from [<8034c040>] (__sys_recvmsg+0x110/0x1c8) [ 0.000000] [<8034c040>] (__sys_recvmsg+0x110/0x1c8) from [<8034d1d0>] (sys_recvmsg+0x4c/0x78) [ 0.000000] [<8034d1d0>] (sys_recvmsg+0x4c/0x78) from [<8000e580>] (ret_fast_syscall+0x0/0x30) [ 0.000000] Code: e5d63022 e3c22001 e5969080 e3530000 (e5922080) ... > > vFAIL: test; x86_64 32-bit/LSB linux-4.1.6 > > kernel-headers-4.1.0 glibc-2.21 gcc-4.9.2 > > < times({tms_utime=22, tms_stime=17, tms_cutime=33, tms_cstime=26}) = > > 18446744071580810102 > > --- > > > times({tms_utime=22, tms_stime=17, tms_cutime=33, tms_cstime=26}) = > > > 2166225782 > > Looks like a sign extension bug in libc. > Is there any safe way on x32 to call times(2) directly? time_t/clock_t/unsigned long long are 64bit in x32. looks like strace doesn't like it when you call clock_gettime: strace: syscall_228(...) in unsupported 64-bit mode of process PID=2565 which doesn't make sense as they're the same syscall for x86_64 and x32. -mike
<1><25> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 1 DW_AT_encoding : 6 (signed char) DW_AT_name : (indirect string, offset: 0x101): signed char <1><2c> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 2 DW_AT_encoding : 5 (signed) DW_AT_name : (indirect string, offset: 0x10d): short int <1><33> Abbrev Number: 9 (DW_TAG_base_type) DW_AT_byte_size : 4 DW_AT_encoding : 5 (signed) DW_AT_name : int <1><3a> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 8 DW_AT_encoding : 5 (signed) DW_AT_name : (indirect string, offset: 0x0): long long int <1><41> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 1 DW_AT_encoding : 8 (unsigned char) DW_AT_name : (indirect string, offset: 0x27): unsigned char <1><48> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 2 DW_AT_encoding : 7 (unsigned) DW_AT_name : (indirect string, offset: 0xee): short unsigned int <1><4f> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 4 DW_AT_encoding : 7 (unsigned) DW_AT_name : (indirect string, offset: 0xe): unsigned int <1><56> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 8 DW_AT_encoding : 7 (unsigned) DW_AT_name : (indirect string, offset: 0x8a): long long unsigned int <1><5d> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 4 DW_AT_encoding : 7 (unsigned) DW_AT_name : (indirect string, offset: 0x78): long unsigned int <1><64> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 4 DW_AT_encoding : 5 (signed) DW_AT_name : (indirect string, offset: 0xc4): long int <1><6b> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 1 DW_AT_encoding : 6 (signed char) DW_AT_name : (indirect string, offset: 0xbf): char <1><72> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 1 DW_AT_encoding : 2 (boolean) DW_AT_name : (indirect string, offset: 0xb9): _Bool <1><79> Abbrev Number: 10 (DW_TAG_typedef) DW_AT_name : (indirect string, offset: 0xe0): kernel_dirent DW_AT_decl_file : 1 DW_AT_decl_line : 29 DW_AT_type : signature: 4a9aff670ea68538 <1><88> Abbrev Number: 11 (DW_TAG_variable) DW_AT_name : (indirect string, offset: 0x4d): mpers_target_var DW_AT_decl_file : 3 DW_AT_decl_line : 37 DW_AT_type : <0x79> DW_AT_external : 1 DW_AT_location : 5 byte block: 3 4 0 0 0 (DW_OP_addr: 4) Contents of the .debug_types section: Compilation Unit @ offset 0x0: Length: 0x95 (32-bit) Version: 4 Abbrev Offset: 0 Pointer Size: 4 Signature: 4a9aff670ea68538 Type Offset: 0x1d <0><17> Abbrev Number: 1 (DW_TAG_type_unit) DW_AT_language : 1 (ANSI C) DW_AT_stmt_list : 0x0 <1><1d> Abbrev Number: 2 (DW_TAG_structure_type) DW_AT_byte_size : 12 DW_AT_decl_file : 1 DW_AT_decl_line : 24 DW_AT_sibling : <0x56> <2><25> Abbrev Number: 3 (DW_TAG_member) DW_AT_name : (indirect string, offset: 0x117): d_ino DW_AT_decl_file : 1 DW_AT_decl_line : 25 DW_AT_type : <0x56> DW_AT_data_member_location: 0 <2><31> Abbrev Number: 3 (DW_TAG_member) DW_AT_name : (indirect string, offset: 0xcd): d_off DW_AT_decl_file : 1 DW_AT_decl_line : 26 DW_AT_type : <0x56> DW_AT_data_member_location: 4 <2><3d> Abbrev Number: 3 (DW_TAG_member) DW_AT_name : (indirect string, offset: 0x35): d_reclen DW_AT_decl_file : 1 DW_AT_decl_line : 27 DW_AT_type : <0x61> DW_AT_data_member_location: 8 <2><49> Abbrev Number: 3 (DW_TAG_member) DW_AT_name : (indirect string, offset: 0xa1): d_name DW_AT_decl_file : 1 DW_AT_decl_line : 28 DW_AT_type : <0x68> DW_AT_data_member_location: 10 <1><56> Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : (indirect string, offset: 0x3e): kernel_ulong_t DW_AT_decl_file : 1 DW_AT_decl_line : 10 DW_AT_type : <0x78> <1><61> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 2 DW_AT_encoding : 7 (unsigned) DW_AT_name : (indirect string, offset: 0xee): short unsigned int <1><68> Abbrev Number: 6 (DW_TAG_array_type) DW_AT_type : <0x83> DW_AT_sibling : <0x78> <2><71> Abbrev Number: 7 (DW_TAG_subrange_type) DW_AT_type : <0x8a> DW_AT_upper_bound : 0 <1><78> Abbrev Number: 4 (DW_TAG_typedef) DW_AT_name : (indirect string, offset: 0xa8): __kernel_ulong_t DW_AT_decl_file : 2 DW_AT_decl_line : 15 DW_AT_type : <0x91> <1><83> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 1 DW_AT_encoding : 6 (signed char) DW_AT_name : (indirect string, offset: 0xbf): char <1><8a> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 4 DW_AT_encoding : 7 (unsigned) DW_AT_name : (indirect string, offset: 0xe): unsigned int <1><91> Abbrev Number: 5 (DW_TAG_base_type) DW_AT_byte_size : 4 DW_AT_encoding : 7 (unsigned) DW_AT_name : (indirect string, offset: 0x78): long unsigned int
signature.asc
Description: Digital signature
------------------------------------------------------------------------------
_______________________________________________ Strace-devel mailing list Strace-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/strace-devel