Created attachment 114368 [details] Simple swift project, plus logs I am running Debian Stretch (9/stable) on an arm32 device. I am using a ported version of the Swift 3.1.1 compiler which William Dillon provides: http://www.housedillon.com/other/swift-3.1.1.tgz I simply unpacked swift-3.1.1.tgz in /opt/swift-3.1.1: which swift /opt/swift-3.1.1/usr/bin/swift I have compiled the Valgrind 3.13.0 release and also install it in my /opt: which valgrind /opt/valgrind-3.13.0/bin/valgrind I have attached a simple swift project, barely more complicated than "Hello World" which runs fine by itself but fails under valgrind. It includes a log of compiling and running successfully (swift_build_and_run.log) as well as a log of valgrind failing (valgrind_failure.log). Please let me know if there is any other information that I can provide.
(In reply to Tabor Kelly from comment #0) > Please let me know if there is any other information that I can provide. Are you proficient with objdump -d? Can you figure out what the failing instruction is?
I believe that the two failing instructions are: /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.2: 46d88: ec510f1e mrrc 15, 1, r0, r1, cr14 /opt/swift-3.1.1/usr/lib/swift/linux/libdispatch.so: 34848: e7ffdefe udf #65006 ; 0xfdee Here is some more context. In particular, should the udf instruction in libdispatch.so ever have been executed? /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.2: file format elf32-littlearm 00046d1c <OPENSSL_cleanse@@OPENSSL_1.0.2d>: 46d1c: e02cc00c eor ip, ip, ip 46d20: e3510007 cmp r1, #7 46d24: 22411004 subcs r1, r1, #4 46d28: 2a000005 bcs 46d44 <OPENSSL_cleanse@@OPENSSL_1.0.2d+0x28> 46d2c: e3510000 cmp r1, #0 46d30: 0a00000d beq 46d6c <OPENSSL_cleanse@@OPENSSL_1.0.2d+0x50> 46d34: e4c0c001 strb ip, [r0], #1 46d38: e2511001 subs r1, r1, #1 46d3c: 8afffffc bhi 46d34 <OPENSSL_cleanse@@OPENSSL_1.0.2d+0x18> 46d40: ea000009 b 46d6c <OPENSSL_cleanse@@OPENSSL_1.0.2d+0x50> 46d44: e3100003 tst r0, #3 46d48: 0a000002 beq 46d58 <OPENSSL_cleanse@@OPENSSL_1.0.2d+0x3c> 46d4c: e4c0c001 strb ip, [r0], #1 46d50: e2411001 sub r1, r1, #1 46d54: eafffffa b 46d44 <OPENSSL_cleanse@@OPENSSL_1.0.2d+0x28> 46d58: e480c004 str ip, [r0], #4 46d5c: e2511004 subs r1, r1, #4 46d60: 2afffffc bcs 46d58 <OPENSSL_cleanse@@OPENSSL_1.0.2d+0x3c> 46d64: e2911004 adds r1, r1, #4 46d68: 1afffff1 bne 46d34 <OPENSSL_cleanse@@OPENSSL_1.0.2d+0x18> 46d6c: e12fff1e bx lr 46d70: e320f000 nop {0} 46d74: e320f000 nop {0} 46d78: e320f000 nop {0} 46d7c: e320f000 nop {0} 46d80: f2200150 vorr q0, q0, q0 46d84: e12fff1e bx lr 46d88: ec510f1e mrrc 15, 1, r0, r1, cr14 46d8c: e12fff1e bx lr 46d90: f3b00300 aese.8 q0, q0 46d94: e12fff1e bx lr 46d98: f2000c40 sha1c.32 q0, q0, q0 46d9c: e12fff1e bx lr 46da0: f3000c40 sha256h.32 q0, q0, q0 46da4: e12fff1e bx lr 46da8: f2a00e00 vmull.p64 q0, d0, d0 46dac: e12fff1e bx lr 46db0: e59f0068 ldr r0, [pc, #104] ; 46e20 <OPENSSL_cleanse@@OPENSSL_1.0.2d+0x104> 46db4: e28f1064 add r1, pc, #100 ; 0x64 46db8: e7910000 ldr r0, [r1, r0] 46dbc: e0222002 eor r2, r2, r2 46dc0: e0233003 eor r3, r3, r3 46dc4: e02cc00c eor ip, ip, ip 46dc8: e3100001 tst r0, #1 46dcc: 0a00000b beq 46e00 <OPENSSL_cleanse@@OPENSSL_1.0.2d+0xe4> 46dd0: f3000150 veor q0, q0, q0 46dd4: f3022152 veor q1, q1, q1 46dd8: f3044154 veor q2, q2, q2 46ddc: f3066156 veor q3, q3, q3 46de0: f34001f0 veor q8, q8, q8 46de4: f34221f2 veor q9, q9, q9 46de8: f34441f4 veor q10, q10, q10 46dec: f34661f6 veor q11, q11, q11 46df0: f34881f8 veor q12, q12, q12 46df4: f34aa1fa veor q13, q13, q13 46df8: f34cc1fc veor q14, q14, q14 46dfc: f34ee1fe veor q15, q15, q15 46e00: e1a0000d mov r0, sp 46e04: e12fff1e bx lr 46e08: e0200000 eor r0, r0, r0 46e0c: e12fff1e bx lr 46e10: e0200000 eor r0, r0, r0 46e14: e12fff1e bx lr 46e18: e320f000 nop {0} 46e1c: e320f000 nop {0} 46e20: 000ec814 andeq ip, lr, r4, lsl r8 46e24: e320f000 nop {0} 46e28: e320f000 nop {0} 46e2c: e320f000 nop {0} 46e30: e320f000 nop {0} 46e34: e320f000 nop {0} 46e38: e320f000 nop {0} 46e3c: e320f000 nop {0} 46e40: 680a6803 stmdavs sl, {r0, r1, fp, sp, lr} 46e44: d1111a9b ; <UNDEFINED> instruction: 0xd1111a9b 46e48: 4604b570 ; <UNDEFINED> instruction: 0x4604b570 46e4c: 460d4e0d strmi r4, [sp], -sp, lsl #28 46e50: 6830447e ldmdavs r0!, {r1, r2, r3, r4, r5, r6, sl, lr} 46e54: f7fbb120 ; <UNDEFINED> instruction: 0xf7fbb120 46e58: 6821ef52 stmdavs r1!, {r1, r4, r6, r8, r9, sl, fp, sp, lr, pc} 46e5c: dc074288 sfmle f4, 4, [r7], {136} ; 0x88 46e60: 68a068a9 stmiavs r0!, {r0, r3, r5, r7, fp, sp, lr} 46e64: 4070e8bd ldrhtmi lr, [r0], #-141 ; 0xffffff73 46e68: ba06f7f7 blt 204e4c <_shadow_DES_check_key@@OPENSSL_1.0.2d+0xd1678> 46e6c: 47704618 ; <UNDEFINED> instruction: 0x47704618 46e70: f7f76830 ; <UNDEFINED> instruction: 0xf7f76830 46e74: 68a9ed82 stmiavs r9!, {r1, r7, r8, sl, fp, sp, lr, pc} 46e78: 68a06843 stmiavs r0!, {r0, r1, r6, fp, sp, lr} 46e7c: 4070e8bd ldrhtmi lr, [r0], #-141 ; 0xffffff73 46e80: bf004718 svclt 0x00004718 46e84: 000ec7e4 andeq ip, lr, r4, ror #15 46e88: 6803680a stmdavs r3, {r1, r3, fp, sp, lr} 46e8c: 68986891 ldmvs r8, {r0, r4, r7, fp, sp, lr} 46e90: b9f2f7f7 ldmiblt r2!, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, ip, sp, lr, pc}^ 46e94: 4604b538 ; <UNDEFINED> instruction: 0x4604b538 46e98: 447d4d0b ldrbtmi r4, [sp], #-3339 ; 0xfffff2f5 46e9c: b1206828 ; <UNDEFINED> instruction: 0xb1206828 46ea0: ef2cf7fb svc 0x002cf7fb 46ea4: 42886821 addmi r6, r8, #2162688 ; 0x210000 46ea8: 68a0dc05 stmiavs r0!, {r0, r2, sl, fp, ip, lr, pc} 46eac: ef70f7fb svc 0x0070f7fb 46eb0: 40586823 subsmi r6, r8, r3, lsr #16 46eb4: 6828bd38 stmdavs r8!, {r3, r4, r5, r8, sl, fp, ip, sp, pc} 46eb8: ed5ef7f7 ldcl 7, cr15, [lr, #-988] ; 0xfffffc24 46ebc: 68a06803 stmiavs r0!, {r0, r1, fp, sp, lr} 46ec0: 68234798 stmdavs r3!, {r3, r4, r7, r8, r9, sl, lr} 46ec4: bd384058 ldclt 0, cr4, [r8, #-352]! ; 0xfffffea0 46ec8: 000ec79a muleq lr, sl, r7 46ecc: b91af7f7 ldmdblt sl, {r0, r1, r2, r4, r5, r6, r7, r8, r9, sl, ip, sp, lr, pc} 46ed0: 680b6802 stmdavs fp, {r1, fp, sp, lr} 46ed4: d000429a mulle r0, sl, r2 46ed8: 684b4770 stmdavs fp, {r4, r5, r6, r8, r9, sl, lr}^ 46edc: 47186889 ldrmi r6, [r8, -r9, lsl #17] 46ee0: 680b6802 stmdavs fp, {r1, fp, sp, lr} 46ee4: d108429a ; <UNDEFINED> instruction: 0xd108429a 46ee8: b410684b ldrlt r6, [r0], #-2123 ; 0xfffff7b5 46eec: 688a1c5c stmvs sl, {r2, r3, r4, r6, sl, fp, ip} 46ef0: f85d604c ; <UNDEFINED> instruction: 0xf85d604c 46ef4: f8424b04 ; <UNDEFINED> instruction: 0xf8424b04 46ef8: 47700023 ldrbmi r0, [r0, -r3, lsr #32]! /opt/swift-3.1.1/usr/lib/swift/linux/libdispatch.so: file format elf32-littlearm 00034754 <dispatch_once_f>: 34754: e92d4c70 push {r4, r5, r6, sl, fp, lr} 34758: e28db010 add fp, sp, #16 3475c: e1a04000 mov r4, r0 34760: e59f00e4 ldr r0, [pc, #228] ; 3484c <dispatch_once_f+0xf8> 34764: e1a05002 mov r5, r2 34768: e1a06001 mov r6, r1 3476c: e08f0000 add r0, pc, r0 34770: ebffd38d bl 295ac <__tls_get_addr@plt> 34774: e5900000 ldr r0, [r0] 34778: e3500000 cmp r0, #0 3477c: 0a000025 beq 34818 <dispatch_once_f+0xc4> 34780: e1941f9f ldrex r1, [r4] 34784: e3510000 cmp r1, #0 34788: 1a00001c bne 34800 <dispatch_once_f+0xac> 3478c: e1841f90 strex r1, r0, [r4] 34790: e3510000 cmp r1, #0 34794: 1afffff9 bne 34780 <dispatch_once_f+0x2c> 34798: e1a00006 mov r0, r6 3479c: e1a01005 mov r1, r5 347a0: f57ff05b dmb ish 347a4: ebffe162 bl 2cd34 <_dispatch_client_callout> 347a8: e59f00a4 ldr r0, [pc, #164] ; 34854 <dispatch_once_f+0x100> 347ac: e08f0000 add r0, pc, r0 347b0: ebffd37d bl 295ac <__tls_get_addr@plt> 347b4: e5905000 ldr r5, [r0] 347b8: e3550000 cmp r5, #0 347bc: 0a00001b beq 34830 <dispatch_once_f+0xdc> 347c0: e3000185 movw r0, #389 ; 0x185 347c4: e3a01001 mov r1, #1 347c8: e3a02000 mov r2, #0 347cc: ebffd478 bl 299b4 <syscall@plt> 347d0: e3500000 cmp r0, #0 347d4: ba00001b blt 34848 <dispatch_once_f+0xf4> 347d8: e3e00000 mvn r0, #0 347dc: e1941f9f ldrex r1, [r4] 347e0: e1842f90 strex r2, r0, [r4] 347e4: e3520000 cmp r2, #0 347e8: 1afffffb bne 347dc <dispatch_once_f+0x88> 347ec: e1510005 cmp r1, r5 347f0: 08bd8c70 popeq {r4, r5, r6, sl, fp, pc} 347f4: e1a00004 mov r0, r4 347f8: e8bd4c70 pop {r4, r5, r6, sl, fp, lr} 347fc: ea004b2d b 474b8 <_dispatch_gate_broadcast_slow> 34800: e1a00004 mov r0, r4 34804: e3e01000 mvn r1, #0 34808: e3a02000 mov r2, #0 3480c: f57ff01f clrex 34810: eb004ae4 bl 473a8 <_dispatch_gate_wait_slow> 34814: e8bd8c70 pop {r4, r5, r6, sl, fp, pc} 34818: eb000207 bl 3503c <libdispatch_tsd_init> 3481c: e59f002c ldr r0, [pc, #44] ; 34850 <dispatch_once_f+0xfc> 34820: e08f0000 add r0, pc, r0 34824: ebffd360 bl 295ac <__tls_get_addr@plt> 34828: e5900000 ldr r0, [r0] 3482c: eaffffd3 b 34780 <dispatch_once_f+0x2c> 34830: eb000201 bl 3503c <libdispatch_tsd_init> 34834: e59f001c ldr r0, [pc, #28] ; 34858 <dispatch_once_f+0x104> 34838: e08f0000 add r0, pc, r0 3483c: ebffd35a bl 295ac <__tls_get_addr@plt> 34840: e5905000 ldr r5, [r0] 34844: eaffffdd b 347c0 <dispatch_once_f+0x6c> 34848: e7ffdefe udf #65006 ; 0xfdee 3484c: 00049dd4 .word 0x00049dd4 34850: 00049d20 .word 0x00049d20 34854: 00049d94 .word 0x00049d94 34858: 00049d08 .word 0x00049d08
*** This bug has been marked as a duplicate of bug 396001 ***