Date: Thu, 20 Dec 2018 12:28:51 -0800 From: Mark Millard <marklmi@yahoo.com> To: freebsd-arm <freebsd-arm@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>, ports-list freebsd <freebsd-ports@freebsd.org> Subject: Re: FreeBSD head -r341836 amd64->aarch64 cross-build of -r484783 ports via poudriere: devel/qt5-testlib hung-up during "Checking for POSIX monotonic clock" Message-ID: <AA9E699B-6C79-4FCF-8A74-BDFCAEB50835@yahoo.com> In-Reply-To: <8A63BA63-FBCB-40DA-B031-4C7F4B1F5118@yahoo.com> References: <190D54A2-D29A-4B62-B8FF-99514DBE92A0@yahoo.com> <FB89FE8A-7C64-4D16-926B-2C033BBB9D1C@yahoo.com> <8A63BA63-FBCB-40DA-B031-4C7F4B1F5118@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[A amd64->armv7 cross build shows interesting hang-up behavior as well, apparently highly repeatable for my current context.] On 2018-Dec-19, at 16:21, Mark Millard <marklmi at yahoo.com> wrote: > [I attached to the hung-up process with gdb and looked around a = little.] >=20 > On 2018-Dec-19, at 13:58, Mark Millard <marklmi at yahoo.com> wrote: >=20 >> [Looks like a race or some such for devel/qt5-testlib: retry of = poudreire-devel >> did not hang. The other hang-up seems to be repeating and I give some = details.] >>=20 >> On 2018-Dec-19, at 12:20, Mark Millard <marklmi at yahoo.com> wrote: >>=20 >>> FYI: Based on FreeBSD head -r341836 (host and target) and ports = -r484783 . This >>> was a rebuild based on going from perl5.26 to perl5.28 without = updating the ports >>> tree and from system clang 6 for the prior FreeBSD-head context used = to clang 7 >>> this time. (I'm not attributing causes here.) poudriere was using = amd64-native >>> tools for speeding up the cross-build. >>>=20 >>> # grep -r =3Dperl5=3D /etc/ ~/src.configs/ /usr/local/etc/ >>> /etc/make.conf:DEFAULT_VERSIONS+=3Dperl5=3D5.28 gcc=3D8 >>> /usr/local/etc/poudriere.d/make.conf:DEFAULT_VERSIONS+=3Dperl5=3D5.28 = gcc=3D8 >>>=20 >>> There was also a "print/texinfo:configure/runaway" but I've not = looked into >>> it at all yet and it may be a while before I do. The other ports = attempted >>> built fine as far as I can tell so far. >>>=20 >>>=20 >>> The devel/qt5-testlib failure looks like: >>>=20 >>> [00:00:13] Building 123 packages using 28 builders >>> . . . >>> [00:49:30] [10] [00:00:00] Building devel/qt5-testlib | = qt5-testlib-5.11.2 >>> . . . >>> [07:31:31] [10] [06:42:01] Saved devel/qt5-testlib | = qt5-testlib-5.11.2 wrkdir to: = /usr/local/poudriere/data/wrkdirs/FBSDFSSDjailCortexA57-default/default/qt= 5-testlib-5.11.2.tar >>> [07:31:32] [10] [06:42:02] Finished devel/qt5-testlib | = qt5-testlib-5.11.2: Failed: configure/runaway >>>=20 >>> With logs/errors/qt5-testlib-5.11.2.log showing: >>>=20 >>> Checking for POSIX monotonic clock...=20 >>> + cd = /wrkdirs/usr/ports/devel/qt5-testlib/work/qtbase-everywhere-src-5.11.2/con= fig.tests/clock-monotonic && = /wrkdirs/usr/ports/devel/qt5-testlib/work/qtbase-everywhere-src-5.11.2/bin= /qmake "CONFIG -=3D qt debug_and_release app_bundle lib_bundle" "CONFIG = +=3D shared warn_off console single_arch" = /wrkdirs/usr/ports/devel/qt5-testlib/work/qtbase-everywhere-src-5.11.2/con= fig.tests/clock-monotonic >>> + cd = /wrkdirs/usr/ports/devel/qt5-testlib/work/qtbase-everywhere-src-5.11.2/con= fig.tests/clock-monotonic && MAKEFLAGS=3D make >>> =3D>> Killing runaway build after 21600 seconds with no output >>> =3D>> Cleaning up wrkdir >>> =3D=3D=3D> Cleaning for qt5-testlib-5.11.2 >>> Killed >>> build of devel/qt5-testlib | qt5-testlib-5.11.2 ended at Wed Dec 19 = 06:45:42 PST 2018 >>> build time: 06:41:46 >>> !!! build failure encountered !!! >>>=20 >>>=20 >>> # less = /wrkdirs/usr/ports/devel/qt5-testlib/work/qtbase-everywhere-src-5.11.2/con= fig.log >>> . . . >>> test config.qtbase_corelib.libraries.librt succeeded >>> executing config test clock-monotonic >>> + cd = /wrkdirs/usr/ports/devel/qt5-testlib/work/qtbase-everywhere-src-5.11.2/con= fig.tests/clock-monotonic && = /wrkdirs/usr/ports/devel/qt5-testlib/work/qtbase-everywhere-src-5.11.2/bin= /qmake "CONFIG -=3D qt debug_and_release app_bundle lib_bundle" "CONFIG = +=3D shared warn_off console single_arch" = /wrkdirs/usr/ports/devel/qt5-testlib/work/qtbase-everywhere-src-5.11.2/con= fig.tests/clock-monotonic >>> + cd = /wrkdirs/usr/ports/devel/qt5-testlib/work/qtbase-everywhere-src-5.11.2/con= fig.tests/clock-monotonic && MAKEFLAGS=3D make >>>=20 >>>=20 >>> Some supporting details of context: >>>=20 >>> # uname -apKU >>> FreeBSD FBSDFSSD 13.0-CURRENT FreeBSD 13.0-CURRENT #5 r341836M: Tue = Dec 11 16:37:42 PST 2018 = markmi@FBSDFSSD:/usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/sys/G= ENERIC-NODBG amd64 amd64 1300005 1300005 >>>=20 >>> # svnlite info /usr/ports/ | grep "Re[plv]" >>> Relative URL: ^/head >>> Repository Root: svn://svn.freebsd.org/ports >>> Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5 >>> Revision: 484783 >>> Last Changed Rev: 484783 >>>=20 >>=20 >> I started poudriere up again with just the 2 needing to be rebuilt = (plus >> what depends on the 2). devel/qt5-testlib quickly completed just = fine: >>=20 >> [00:02:16] [02] [00:00:00] Building devel/qt5-testlib | = qt5-testlib-5.11.2 >> [00:04:54] [02] [00:02:38] Finished devel/qt5-testlib | = qt5-testlib-5.11.2: Success >>=20 >>=20 >> In the prior build that had the hang-ups I looked and dor = print/texinfo : >>=20 >> /wrkdirs/usr/ports/print/texinfo/work/texinfo-6.5/config.log shows = for its >> hang-up: >>=20 >> . . . >> configure:6639: checking for alloca >> configure:6676: /nxb-bin/usr/bin/cc -o conftest -O2 -pipe = -mcpu=3Dcortex-a57 -DLIBICONV_PLUG -g -fno-strict-aliasing = -mcpu=3Dcortex-a57 -DLIBICONV_PLUG -D_THREAD_SAFE conftest.c >&5 >> configure:6676: $? =3D 0 >> configure:6684: result: yes >> configure:6794: checking for C/C++ restrict keyword >> configure:6821: /nxb-bin/usr/bin/cc -c -O2 -pipe -mcpu=3Dcortex-a57 = -DLIBICONV_PLUG -g -fno-strict-aliasing -mcpu=3Dcortex-a57 = -DLIBICONV_PLUG -D_THREAD_SAFE conftest.c >&5 >> configure:6821: $? =3D 0 >> configure:6829: result: __restrict >> configure:6844: checking whether // is distinct from / >>=20 >>=20 >> In the poudriere re-run print/texinfo seems to be not progressing: >>=20 >> root 87913 0.0 0.0 12920 3668 0 I 13:29 = 0:00.06 | | `-- sh: = poudriere[FBSDFSSDjailCortexA57-default][01]: build_pkg = (texinfo-6.5_1,1) (sh) >> root 88869 0.0 0.0 12920 3660 0 I 13:29 = 0:00.00 | | `-- sh: = poudriere[FBSDFSSDjailCortexA57-default][01]: build_pkg = (texinfo-6.5_1,1) (sh) >> root 88870 0.0 0.0 10412 1848 0 IJ 13:29 = 0:00.01 | | `-- /usr/bin/make -C /usr/ports/print/texinfo = configure >> root 88974 0.0 0.0 10272 1812 0 IJ 13:30 = 0:00.00 | | `-- /bin/sh -e -c (cd = /wrkdirs/usr/ports/print/texinfo/work/texinfo-6.5 && = _LATE_CONFIGURE_ARGS=3D"" ; if [=20 >> root 89283 0.0 0.0 11160 2108 0 IJ 13:30 = 0:00.10 | | `-- /bin/sh ./configure --enable-nls = --prefix=3D/usr/local --localstatedir=3D/var --mandir=3D/usr/local/man = --di >> root 89692 0.0 0.0 227368 14504 0 IJ 13:30 = 0:00.03 | | `-- /usr/local/bin/qemu-aarch64-static = wc //dev/null >> root 89694 0.0 0.0 227424 14596 0 IJ 13:30 = 0:00.01 | | `-- /usr/local/bin/qemu-aarch64-static = wc //dev/null >> root 89695 0.0 0.0 227584 14720 0 IJ 13:30 = 0:00.01 | | `-- wc: zygote (qemu-aarch64-static) >>=20 >>=20 >> So it appears that: >>=20 >> /usr/local/bin/qemu-aarch64-static wc //dev/null >>=20 >> is hanging-up (again). >>=20 >>=20 >> Given that these are hangups I'll note that this is a Ryzen >> Threadripper 1950X context and is running under Hyper-V from >> Windows 10's 1809 update. I gave it 28 logical processors and >> have it to have the virtual NUMA topology match the topology of >> the physical hardware: "Use Hardware Topology". (Processors >> 28, NUMA nodes 2, Sockets 1, Hardware threads per core 2.) >=20 > Attaching to the stuck process via gdb and looking at the backtrace > shows: >=20 > (gdb) attach 89695 > Attaching to program: /usr/local/bin/qemu-aarch64-static, process = 89695 > [New LWP 101548 of process 89695] > [Switching to LWP 100804 of process 89695] > _pselect () at _pselect.S:3 > 3 PSEUDO(pselect) >=20 > (gdb) bt > #0 _pselect () at _pselect.S:3 > #1 0x00000000601da57f in __thr_pselect (count=3D12, = rfds=3D0x7ffffffe3650, wfds=3D0x0, efds=3D0x0, timo=3D0x0, = mask=3D0x7ffffffe3600) at /usr/src/lib/libthr/thread/thr_syscalls.c:378 > #2 0x000000006004928d in do_freebsd_select (env=3D0x860edfb18, = n=3D<optimized out>, rfd_addr=3D140736934698744, wfd_addr=3D<optimized = out>, efd_addr=3D0, target_tv_addr=3D0) > at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/freebsd/os-time.h:468 > #3 do_freebsd_syscall (cpu_env=3D0x860edfb18, num=3D93, arg1=3D12, = arg2=3D140736934698744, arg3=3D0, arg4=3D0, arg5=3D0, arg6=3D274914043516,= arg7=3D274913946564, arg8=3D6579811) > at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/syscall.c:1106 > #4 0x000000006003903c in target_cpu_loop (env=3D0x860edfb18) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/aarch64/target_arch_cpu.h:100 > #5 0x0000000060038e09 in cpu_loop (env=3D0xc) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/main.c:121 > #6 0x0000000060039ecb in main (argc=3D<optimized out>, = argv=3D0x7fffffffd360) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/main.c:513 >=20 > (gdb) up > #1 0x00000000601da57f in __thr_pselect (count=3D12, = rfds=3D0x7ffffffe3650, wfds=3D0x0, efds=3D0x0, timo=3D0x0, = mask=3D0x7ffffffe3600) at /usr/src/lib/libthr/thread/thr_syscalls.c:378 > 378 ret =3D __sys_pselect(count, rfds, wfds, efds, timo, = mask); > (gdb) print *rfds > $1 =3D {__fds_bits =3D {2048, 0 <repeats 15 times>}} >=20 > (gdb) info threads > Id Target Id Frame=20 > * 1 LWP 100804 of process 89695 _pselect () at _pselect.S:3 > 2 LWP 101548 of process 89695 _umtx_op_err () at = /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37 >=20 > (gdb) thread 2=20 > [Switching to thread 2 (LWP 101548 of process 89695)] > #0 _umtx_op_err () at = /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37 > 37 RSYSCALL_ERR(_umtx_op) >=20 > (gdb) bt > #0 _umtx_op_err () at = /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37 > #1 0x00000000601d2ec0 in _thr_umtx_timedwait_uint (mtx=3D0x861027008, = id=3D<optimized out>, clockid=3D<optimized out>, abstime=3D<optimized = out>, shared=3D<optimized out>) > at /usr/src/lib/libthr/thread/thr_umtx.c:236 > #2 0x00000000601dc6f8 in cond_wait_user (cvp=3D<optimized out>, = mp=3D0x860515b00, abstime=3D0x0, cancel=3D1) at = /usr/src/lib/libthr/thread/thr_cond.c:307 > #3 cond_wait_common (cond=3D<optimized out>, mutex=3D<optimized out>, = abstime=3D0x0, cancel=3D1) at /usr/src/lib/libthr/thread/thr_cond.c:367 > #4 0x00000000601438bc in qemu_futex_wait (ev=3D<optimized out>, = val=3D4294967295) at util/qemu-thread-posix.c:350 > #5 qemu_event_wait (ev=3D0x62735d10 <rcu_call_ready_event>) at = util/qemu-thread-posix.c:445 > #6 0x000000006014a92a in call_rcu_thread (opaque=3D<optimized out>) = at util/rcu.c:255 > #7 0x00000000601dc376 in thread_start (curthread=3D0x860518e00) at = /usr/src/lib/libthr/thread/thr_create.c:291 > #8 0x0000000000000000 in ?? () > Backtrace stopped: Cannot access memory at address 0x7fffdfdfc000 >=20 In a separate rebuild of 124 ports print/texinfo repeated its problem. In a rebuild targeting armv7, multimedia/gstreamer1-qt hung-up and timed out. Another poudriere run also hung-up: root 33719 0.0 0.0 12920 3528 0 I 11:40 0:00.03 | = | `-- sh: poudriere[FBSDFSSDjailArmV7-default][02]: build_pkg = (gstreamer1-qt5-1.2.0_14) (sh) root 41551 0.0 0.0 12920 3520 0 I 11:43 0:00.00 | = | `-- sh: poudriere[FBSDFSSDjailArmV7-default][02]: = build_pkg (gstreamer1-qt5-1.2.0_14) (sh) root 41552 0.0 0.0 10340 1744 0 IJ 11:43 0:00.01 | = | `-- /usr/bin/make -C /usr/ports/multimedia/gstreamer1-qt = FLAVOR=3Dqt5 build root 41566 0.0 0.0 10236 1796 0 IJ 11:43 0:00.00 | = | `-- /bin/sh -e -c (cd = /wrkdirs/usr/ports/multimedia/gstreamer1-qt/work-qt5/.build; if ! = /usr/bin/env QT_SELE root 41567 0.0 0.0 89976 12896 0 IJ 11:43 0:00.07 | = | `-- /usr/local/bin/qemu-arm-static ninja -j28 -v all root 41585 0.0 0.0 102848 25056 0 IJ 11:43 0:00.10 | = | |-- /usr/local/bin/qemu-arm-static = /usr/local/bin/cmake -E cmake_autogen /wrkdirs/usr/ports/multimedia/g root 41586 0.0 0.0 102852 25072 0 IJ 11:43 0:00.11 | = | `-- /usr/local/bin/qemu-arm-static = /usr/local/bin/cmake -E cmake_autogen /wrkdirs/usr/ports/multimedia/g or as top showed it: 41552 root 1 52 0 10M 1744K 0 wait 15 0:00 = 0.00% /usr/bin/make -C /usr/ports/multimedia/gstreamer1-qt FLAVOR=3Dqt5 = build 41566 root 1 52 0 10M 1796K 0 wait 1 0:00 = 0.00% /bin/sh -e -c (cd = /wrkdirs/usr/ports/multimedia/gstreamer1-qt/work-qt5/.build; if ! = /usr/bin/env QT_SELECT=3Dqt5 QMAKEMODULES 41567 root 2 52 0 88M 13M 0 select 4 0:00 = 0.00% /usr/local/bin/qemu-arm-static ninja -j28 -v all 41585 root 2 52 0 100M 24M 0 kqread 8 0:00 = 0.00% /usr/local/bin/qemu-arm-static /usr/local/bin/cmake -E = cmake_autogen /wrkdirs/usr/ports/multimedia/gstreamer1-qt/work-qt5/. 41586 root 2 52 0 100M 24M 0 kqread 22 0:00 = 0.00% /usr/local/bin/qemu-arm-static /usr/local/bin/cmake -E = cmake_autogen /wrkdirs/usr/ports/multimedia/gstreamer1-qt/work-qt5/. So: waiting in kqread. Repeated tries have gotten the same result so far. If this keeps up, later I may be able to try a native FreeBSD boot instead of Hyper-V use on the same machine. =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?AA9E699B-6C79-4FCF-8A74-BDFCAEB50835>