Skip site navigation (1)Skip section navigation (2)
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>