Date: Mon, 16 Mar 2020 21:48:23 -0700 From: Mark Millard <marklmi@yahoo.com> To: freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Hackers <freebsd-hackers@freebsd.org> Cc: FreeBSD ports <freebsd-ports@freebsd.org> Subject: amd64->armv7 cross-build failure for security/ca_root_nss: It failed in memcpy () from /libexec/ld-elf.so.1 Message-ID: <1EC37157-CBA2-4334-92C1-E845F63DB5CA@yahoo.com> References: <1EC37157-CBA2-4334-92C1-E845F63DB5CA.ref@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Context: head -r358966 attempting to update ports to -r528535 . Also, 50+ ports built just fine but the below has been repeatable in my context. The original failure was under devel/poudriere-devel (with nxb-bin/ materials used). But part of the below is from exploring with various steps in a handier context. The original error message was: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<phas= e: build >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D> Building for ca_root_nss-3.51 ## Untrusted certificates omitted from this bundle: 2 openssl x509 failed with exit code 11 at = /wrkdirs/usr/ports/security/ca_root_nss/work/MAca-bundle.pl line 78. *** Error code 255 The original source that reported the message was: sub printcert_info($$) { my (undef, $certdata) =3D @_; return unless $certdata; open(OUT, "|openssl x509 -text -inform DER -fingerprint") || die "could not pipe to openssl x509"; print OUT $certdata; close(OUT) or die "openssl x509 failed with exit code $?"; } The die produced: -rw-r--r-- 1 root wheel 7909376 Mar 17 03:18:04 2020 = qemu_openssl.core gdb reported for it: Core was generated by `openssl'. Program terminated with signal SIGSEGV, Segmentation fault. #0 0xf501adb4 in memcpy () from /libexec/ld-elf.so.1 and: (gdb) info threads Id Target Id Frame=20 * 1 LWP 1592 "x509" 0xf501adb4 in memcpy () from = /libexec/ld-elf.so.1 and: gdb) bt #0 0xf501adb4 in memcpy () from /libexec/ld-elf.so.1 #1 0xf5004cd0 in do_copy_relocations () from /libexec/ld-elf.so.1 and (from a disass): =3D> 0xf501adb4 <+436>: strd r4, [r3], #8 (It was not clear what code context to supply so I stuck to showing the instruction with the register used such that SIGSEGV could result from the use: r3 .) Finally the registers were listed as holding: (gdb) info reg r0 0xf4f5d57c 4109751676 r1 0x14 20 r2 0x93000 602112 r3 0x1 1 r4 0x10 16 r5 0x9fffdfa4 2684346276 r6 0xf4fe2404 4110296068 r7 0xf4fe2004 4110295044 r8 0x93000 602112 r9 0x93000 602112 r10 0x9fffdfe0 2684346336 r11 0x0 0 r12 0x9fffdf80 2684346240 sp 0x9fffdf80 0x9fffdf80 lr 0xf5004cd0 4110437584 pc 0xf501adb4 0xf501adb4 <memcpy+436> cpsr 0x60000010 1610612752 Yep: r3=3D=3D1 would do it. Note: I've otherwise ignored here seeing lots of: qemu: unsupported syscall: 574 (calling anyway) notices while doing things for extracting this information. I'll note that I had no such SIGSEGV when ca_root_nss 3.50 built back at OSVERSION=3D1300077 on 2020-Feb-16: it built and worked fine back then. I'm not sure when I'll have time to do more with this or if I will again just abandon qemu-user-static for a time. (Insufficient time to allocate to do more?) Hopefully the basic information is useful to someone at some point. I'm not claiming that I know qemu-user-static is the problem, or openssl, or whatever. Just that the combination is broken in my context. Having security/ca_root_nss blocked, blocks cross-building lots of other things, including devel/llvm10 . =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1EC37157-CBA2-4334-92C1-E845F63DB5CA>