Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Feb 2019 14:56:27 -0800
From:      Mark Millard <marklmi@yahoo.com>
To:        freebsd-emulation@freebsd.org
Subject:   under qemu-arch64-static in use via poudriere on amd64: cmake ended up with a defunct child
Message-ID:  <1CE77CFA-1174-4B5E-ACAD-ACA64418C51C@yahoo.com>

next in thread | raw e-mail | index | archive | help
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@FBSDFSSD:/usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/sys/G=
ENERIC-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=20
* 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   =20
#0  _nanosleep () at _nanosleep.S:3
#1  0x00000000601da2dc in __thr_nanosleep (time_to_sleep=3D0x7ffffffe34d0,=
 time_remaining=3D0x7ffffffe36b0) at =
/usr/src/lib/libthr/thread/thr_syscalls.c:289
#2  0x0000000060041e56 in do_freebsd_nanosleep (arg1=3D<optimized out>, =
arg2=3D0) at =
/wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b=
sd-user/freebsd/os-time.h:49
#3  do_freebsd_syscall (cpu_env=3D0x860edfb18, num=3D240, =
arg1=3D<optimized out>, arg2=3D0, arg3=3D0, arg4=3D0, arg5=3D274932442568,=
 arg6=3D0, arg7=3D0, arg8=3D0)
    at =
/wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b=
sd-user/syscall.c:1030
#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=3D0x7ffffffe34d0) 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=3D0x7fffffffd1e8) at =
/wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b=
sd-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=3D0x860523008, =
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  0x00000000601dc5e8 in cond_wait_user (cvp=3D<optimized out>, =
mp=3D0x8605153e0, 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  0x00000000601438dc 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  0x000000006014a94a in call_rcu_thread (opaque=3D<optimized out>) at =
util/rcu.c:255
#7  0x00000000601dc266 in thread_start (curthread=3D0x860517500) 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=3D0x4003cae008, =
target_val=3D<optimized out>, tsz=3D0, t=3D0x0, where=3D<optimized out>)
    at =
/wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b=
sd-user/freebsd/os-thread.c:258
#2  freebsd_umtx_wait_uint_private (obj=3D<optimized out>, =
target_val=3D<optimized out>, tsz=3D0, t=3D0x0)
    at =
/wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b=
sd-user/freebsd/os-thread.c:269
#3  0x000000006004bebe in do_freebsd__umtx_op (obj=3D<optimized out>, =
op=3D<optimized out>, val=3D<optimized out>, uaddr=3D<optimized out>, =
target_time=3D<optimized out>)
    at =
/wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b=
sd-user/freebsd/os-thread.h:439
#4  0x00000000600427b8 in do_freebsd_syscall (cpu_env=3D0x86133b618, =
num=3D454, arg1=3D<optimized out>, arg2=3D15, arg3=3D0, arg4=3D0, =
arg5=3D0, arg6=3D0, arg7=3D0, arg8=3D7164779709595738991)
    at =
/wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b=
sd-user/syscall.c:1364
#5  0x000000006003903c in target_cpu_loop (env=3D0x86133b618) at =
/wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b=
sd-user/aarch64/target_arch_cpu.h:100
#6  0x0000000060038e09 in cpu_loop (env=3D0x4003cae008) at =
/wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b=
sd-user/main.c:121
#7  0x0000000060051c66 in new_freebsd_thread_start (arg=3D<optimized =
out>) at =
/wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b=
sd-user/freebsd/os-thread.c:152
#8  0x00000000601dc266 in thread_start (curthread=3D0x86051a200) 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@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;
=20
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;




=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?1CE77CFA-1174-4B5E-ACAD-ACA64418C51C>