under qemu-arch64-static in use via poudriere on amd64: cmake ended up with a defunct child

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

under qemu-arch64-static in use via poudriere on amd64: cmake ended up with a defunct child

freebsd-emulation mailing list
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/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     : [hidden email]
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)

_______________________________________________
[hidden email] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-emulation
To unsubscribe, send any mail to "[hidden email]"