under qemu-arch64-static in use via poudriere on amd64: cmake ended up with a defunct child
Mark Millard
marklmi at yahoo.com
Fri Feb 8 22:56:41 UTC 2019
What happened ( from ps -auxd ):
root 79018 0.0 0.0 12512 3088 0 I 13:58 0:00.07 | | `-- sh: poudriere[FBSDFSSDjailCortexA57-default][06]: build_pkg (poppler-qt5-0.72.0_1) (sh)
root 93577 0.0 0.0 12512 3080 0 I 14:02 0:00.00 | | `-- sh: poudriere[FBSDFSSDjailCortexA57-default][06]: build_pkg (poppler-qt5-0.72.0_1) (sh)
root 93578 0.0 0.0 10336 1756 0 IJ 14:02 0:00.01 | | `-- /usr/bin/make -C /usr/ports/graphics/poppler-qt5 build
root 93581 0.0 0.0 10240 1800 0 IJ 14:02 0:00.00 | | `-- /bin/sh -e -c (cd /wrkdirs/usr/ports/graphics/poppler-qt5/work/poppler-0.72.0/qt5; if ! /usr/bin/env QT
root 93583 0.0 0.0 9860 1248 0 IJ 14:02 0:00.00 | | `-- /usr/bin/make -f Makefile all
root 93589 0.0 0.0 10312 1704 0 IJ 14:02 0:00.20 | | `-- /nxb-bin/usr/bin/make -f CMakeFiles/Makefile2 qt5/all
root 3617 0.0 0.0 9860 1240 0 IJ 14:06 0:00.00 | | `-- /nxb-bin/usr/bin/make -f qt5/demos/CMakeFiles/poppler_qt5viewer_autogen.dir/build.make qt5/demos/
root 3626 0.0 0.0 250212 33880 0 SJ 14:06 0:00.18 | | `-- /usr/local/bin/qemu-aarch64-static /usr/local/bin/cmake -E cmake_autogen /wrkdirs/usr/ports/gra
root 3628 0.0 0.0 0 0 0 ZJ 14:06 0:00.02 | | `-- <defunct>
It has been stuck this way for some time.
Context:
# uname -apKU
FreeBSD FBSDFSSD 13.0-CURRENT FreeBSD 13.0-CURRENT #9 r343884M: Thu Feb 7 19:22:33 PST 2019 markmi at FBSDFSSD:/usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/sys/GENERIC-NODBG amd64 amd64 1300010 1300010
This was from attempting to update to:
# 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: 492409
Last Changed Rev: 492409
where the host amd64 environment had already been updated.
Notes:
I'm used to seeing wc /dev/null and head /dev/null zygote status and lld (as ld)
hang up for its thread fan-out.
This is the first defunct that I've run into for such cross builds.
Attaching to the emulated cmake and looking at threads:
gdb) info threads
Id Target Id Frame
* 1 LWP 101490 of process 3626 _nanosleep () at _nanosleep.S:3
2 LWP 101024 of process 3626 _umtx_op_err () at /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37
3 LWP 101749 of process 3626 _umtx_op () at _umtx_op.S:3
(gdb) bt
#0 _nanosleep () at _nanosleep.S:3
#1 0x00000000601da2dc in __thr_nanosleep (time_to_sleep=0x7ffffffe34d0, time_remaining=0x7ffffffe36b0) at /usr/src/lib/libthr/thread/thr_syscalls.c:289
#2 0x0000000060041e56 in do_freebsd_nanosleep (arg1=<optimized out>, arg2=0) at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/freebsd/os-time.h:49
#3 do_freebsd_syscall (cpu_env=0x860edfb18, num=240, arg1=<optimized out>, arg2=0, arg3=0, arg4=0, arg5=274932442568, arg6=0, arg7=0, arg8=0)
at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/syscall.c:1030
#4 0x000000006003903c in target_cpu_loop (env=0x860edfb18) at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/aarch64/target_arch_cpu.h:100
#5 0x0000000060038e09 in cpu_loop (env=0x7ffffffe34d0) at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/main.c:121
#6 0x0000000060039ecb in main (argc=<optimized out>, argv=0x7fffffffd1e8) at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/main.c:513
(gdb) thread 2
[Switching to thread 2 (LWP 101024 of process 3626)]
#0 _umtx_op_err () at /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37
37 RSYSCALL_ERR(_umtx_op)
(gdb) bt
#0 _umtx_op_err () at /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37
#1 0x00000000601d2db0 in _thr_umtx_timedwait_uint (mtx=0x860523008, id=<optimized out>, clockid=<optimized out>, abstime=<optimized out>, shared=<optimized out>)
at /usr/src/lib/libthr/thread/thr_umtx.c:236
#2 0x00000000601dc5e8 in cond_wait_user (cvp=<optimized out>, mp=0x8605153e0, abstime=0x0, cancel=1) at /usr/src/lib/libthr/thread/thr_cond.c:307
#3 cond_wait_common (cond=<optimized out>, mutex=<optimized out>, abstime=0x0, cancel=1) at /usr/src/lib/libthr/thread/thr_cond.c:367
#4 0x00000000601438dc in qemu_futex_wait (ev=<optimized out>, val=4294967295) at util/qemu-thread-posix.c:350
#5 qemu_event_wait (ev=0x62735d10 <rcu_call_ready_event>) at util/qemu-thread-posix.c:445
#6 0x000000006014a94a in call_rcu_thread (opaque=<optimized out>) at util/rcu.c:255
#7 0x00000000601dc266 in thread_start (curthread=0x860517500) at /usr/src/lib/libthr/thread/thr_create.c:291
#8 0x0000000000000000 in ?? ()
Backtrace stopped: Cannot access memory at address 0x7fffdfffd000
(gdb) thread 3
[Switching to thread 3 (LWP 101749 of process 3626)]
#0 _umtx_op () at _umtx_op.S:3
3 RSYSCALL(_umtx_op)
(gdb) bt
#0 _umtx_op () at _umtx_op.S:3
#1 0x0000000060051cd0 in _umtx_wait_uint_private (addr=0x4003cae008, target_val=<optimized out>, tsz=0, t=0x0, where=<optimized out>)
at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/freebsd/os-thread.c:258
#2 freebsd_umtx_wait_uint_private (obj=<optimized out>, target_val=<optimized out>, tsz=0, t=0x0)
at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/freebsd/os-thread.c:269
#3 0x000000006004bebe in do_freebsd__umtx_op (obj=<optimized out>, op=<optimized out>, val=<optimized out>, uaddr=<optimized out>, target_time=<optimized out>)
at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/freebsd/os-thread.h:439
#4 0x00000000600427b8 in do_freebsd_syscall (cpu_env=0x86133b618, num=454, arg1=<optimized out>, arg2=15, arg3=0, arg4=0, arg5=0, arg6=0, arg7=0, arg8=7164779709595738991)
at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/syscall.c:1364
#5 0x000000006003903c in target_cpu_loop (env=0x86133b618) at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/aarch64/target_arch_cpu.h:100
#6 0x0000000060038e09 in cpu_loop (env=0x4003cae008) at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/main.c:121
#7 0x0000000060051c66 in new_freebsd_thread_start (arg=<optimized out>) at /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/bsd-user/freebsd/os-thread.c:152
#8 0x00000000601dc266 in thread_start (curthread=0x86051a200) at /usr/src/lib/libthr/thread/thr_create.c:291
#9 0x0000000000000000 in ?? ()
Backtrace stopped: Cannot access memory at address 0x7fffdfdfc000
This is based on a somewhat patched variant of:
# 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: 492409
Last Changed Rev: 492409
FBSDFSSD# pkg info qemu-user-static
qemu-user-static-2.11.50.g20181011
Name : qemu-user-static
Version : 2.11.50.g20181011
Installed on : Wed Jan 2 01:13:33 2019 PST
Origin : emulators/qemu-user-static
Architecture : FreeBSD:13:amd64
Prefix : /usr/local
Categories : emulators
Licenses : GPLv2
Maintainer : sbruno at FreeBSD.org
WWW : http://wiki.qemu.org/Main_Page
Comment : QEMU CPU Emulator github bsd-user branch - static user targets
Annotations :
FreeBSD_version: 1300005
Flat size : 231MiB
that has __packed commented out on the following in order
to have the field offsets correct for both aarch64 and
armv7 targets.
struct target_freebsd11_kevent {
abi_ulong ident;
int16_t filter;
uint16_t flags;
uint32_t fflags;
abi_long data;
abi_ulong udata;
} ; // __packed;
struct target_freebsd_kevent {
abi_ulong ident;
int16_t filter;
uint16_t flags;
uint32_t fflags;
int64_t data;
abi_ulong udata;
uint64_t ext[4];
} ; // __packed;
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-emulation
mailing list