Date: Mon, 23 Mar 2020 14:26:30 -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: Re: amd64->armv7 cross-build failure for security/ca_root_nss: It failed in memcpy () from /libexec/ld-elf.so.1 Message-ID: <EF68AD62-1373-42A3-B5D3-1574CAB13DD5@yahoo.com> In-Reply-To: <1EC37157-CBA2-4334-92C1-E845F63DB5CA@yahoo.com> References: <1EC37157-CBA2-4334-92C1-E845F63DB5CA@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2020-Mar-16, at 21:48, Mark Millard <marklmi at yahoo.com> wrote: > Context: head -r358966 attempting to update ports > to -r528535 . Also, 50+ ports built just fine > but the below has been repeatable in my context. >=20 > 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. >=20 > The original error message was: >=20 > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D<ph= ase: 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 >=20 > The original source that reported the message was: >=20 > 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 $?"; > } >=20 > The die produced: >=20 > -rw-r--r-- 1 root wheel 7909376 Mar 17 03:18:04 2020 = qemu_openssl.core >=20 > gdb reported for it: >=20 > Core was generated by `openssl'. > Program terminated with signal SIGSEGV, Segmentation fault. > #0 0xf501adb4 in memcpy () from /libexec/ld-elf.so.1 >=20 > and: >=20 > (gdb) info threads > Id Target Id Frame=20 > * 1 LWP 1592 "x509" 0xf501adb4 in memcpy () from = /libexec/ld-elf.so.1 >=20 > and: >=20 > gdb) bt > #0 0xf501adb4 in memcpy () from /libexec/ld-elf.so.1 > #1 0xf5004cd0 in do_copy_relocations () from /libexec/ld-elf.so.1 >=20 > and (from a disass): >=20 > =3D> 0xf501adb4 <+436>: strd r4, [r3], #8 >=20 > (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 .) >=20 > Finally the registers were listed as holding: >=20 > (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 >=20 > Yep: r3=3D=3D1 would do it. >=20 >=20 > Note: I've otherwise ignored here seeing lots of: >=20 > qemu: unsupported syscall: 574 (calling anyway) >=20 > notices while doing things for extracting > this information. >=20 >=20 > 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. >=20 >=20 >=20 > 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. >=20 > 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. >=20 > Having security/ca_root_nss blocked, blocks > cross-building lots of other things, including > devel/llvm10 . Using: # poudriere bulk -j FBSDFSSDjailArmV7 -i -w ports-mgmt/portmaster to allow trying things from inside the poudriere build environment, I tried: # openssl=20 qemu: uncaught target signal 11 (Segmentation fault) - core dumped # file `which openssl` /usr/bin/openssl: ELF 32-bit LSB executable, ARM, EABI5 version 1 = (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for = FreeBSD 13.0 (1300084), FreeBSD-style, not stripped The backtrace was again memcpy and do_copy_relocations. (So "x509" had nothing to do with the inability to run the original failed command.) =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?EF68AD62-1373-42A3-B5D3-1574CAB13DD5>