Date: Tue, 13 Nov 2018 00:42:35 -0800 From: Mark Millard <marklmi@yahoo.com> To: Kyle Evans <kevans@freebsd.org> Cc: Sean Bruno <sbruno@freebsd.org>, ports-list freebsd <freebsd-ports@freebsd.org> Subject: Re: FYI: ports head -r484783 poudriere-devel with qemu-arm-static: sometimes hangs between a cc (wait) and its child ld (uwait) Message-ID: <F040FBAC-0224-48B3-9867-39AF3F16768D@yahoo.com> In-Reply-To: <3F2AC9A4-7F77-4999-9E9D-DC7D450D921D@yahoo.com> References: <01EDE371-F1BB-4489-BA28-21C2C68BEE9B@yahoo.com> <CACNAnaGtv-%2BhkHWky_ceZu1-nzxb47QL3%2BcWVM2-fdukVAbTMw@mail.gmail.com> <3F2AC9A4-7F77-4999-9E9D-DC7D450D921D@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2018-Nov-12, at 10:18, Mark Millard <marklmi at yahoo.com> wrote: > On 2018-Nov-12, at 05:54, Kyle Evans <kevans at freebsd.org> wrote: >=20 >> On Sun, Nov 11, 2018 at 9:11 PM Mark Millard <marklmi at yahoo.com> = wrote: >>>=20 >>> [I still can not produce the problem below on demand. >>> It seems racy with no fixed context producing the >>> problem as far as which port is building. But the >>> general structure of what hangs is the same each >>> time so far.] >>>=20 >>> The following is just an FYI for the other >>> qemu-arm-static tied problem that I regularly run into. >>> I do not have much useful information so far. It is >>> not clear how I'd get such information. >>>=20 >>=20 >> Hi, >>=20 >> Just so we're clear- in what kind of time frame did you start >> observing this hang? >=20 > Unfortunately, I did no qemu-user-static use after > 2018-Feb-6 until 2018-10-26. My list activity reported > the problem for the first time on Oct. 26 and I had > updated before using qemu-arm-static on the 26th. >=20 > Looks like back on Feb. 6 I was using: = qemu-user-static-2.11.50.g20171215_3 >=20 > Looks like back on Oct. 26 I was using: = qemu-user-static-2.11.50.g20180622_1 >=20 > I'm now using qemu-user-static-2.11.50.g20181011 . >=20 >=20 > For reference: >=20 > The Feb cross build logs for Feb 6 show things like: >=20 > =3D>> Building ports-mgmt/poudriere-devel > build started at Tue Feb 6 17:39:36 PST 2018 > port directory: /usr/ports/ports-mgmt/poudriere-devel > package name: poudriere-devel-3.2.99.20180202_2 > building for: FreeBSD FBSDFSSDjailVariant 12.0-CURRENT FreeBSD = 12.0-CURRENT r327485M arm > maintained by: bdrewery@FreeBSD.org > Makefile ident: $FreeBSD: = head/ports-mgmt/poudriere-devel/Makefile 461075 2018-02-06 16:33:15Z brd = $ > Poudriere version: 3.2.99.20180202_2 > Host OSVERSION: 1200054 > Jail OSVERSION: 1200054 >=20 > The amd64 (host) logs before that show for qemu-user-static: >=20 > =3D>> Building emulators/qemu-user-static > build started at Sun Feb 4 11:22:59 PST 2018 > port directory: /usr/ports/emulators/qemu-user-static > package name: qemu-user-static-2.11.50.g20171215_3 > building for: FreeBSD FBSDFSSDjailVariant 12.0-CURRENT FreeBSD = 12.0-CURRENT r327485M amd64 > maintained by: sbruno@FreeBSD.org > Makefile ident: $FreeBSD: = head/emulators/qemu-user-static/Makefile 441455 2017-05-22 13:17:38Z = linimon $ > Poudriere version: 3.2.99.20180202_1 > Host OSVERSION: 1200054 > Jail OSVERSION: 1200054 >=20 > (I normally keep the system source code the same across TARGET_ARCH's, > with some exceptions for powerpc families.) >=20 > Oct. 26 shows for qemu-user-static: >=20 > =3D>> Building emulators/qemu-user-static > build started at Fri Oct 26 13:55:50 PDT 2018 > port directory: /usr/ports/emulators/qemu-user-static > package name: qemu-user-static-2.11.50.g20180622_1 > building for: FreeBSD FBSDFSSDjailVariant 12.0-ALPHA8 FreeBSD = 12.0-ALPHA8 #1 r339076:339432M: Mon Oct 22 17:48:28 PDT 2018 = markmi@FBSDFSSD:/usr/obj/amd64_clang_alt/amd64.amd64/usr/src/amd64.amd64/s= ys/GENERIC-NODBG amd64 > maintained by: sbruno@FreeBSD.org > Makefile ident: $FreeBSD: = head/emulators/qemu-user-static/Makefile 441455 2017-05-22 13:17:38Z = linimon $ > Poudriere version: 3.2.99.20180511 > Host OSVERSION: 1200084 > Jail OSVERSION: 1200063 >=20 > The armv7 jail context would also be based on the same system source, > mostly -r339076 source. >=20 >=20 > Currently for qemu-user-static I'm at: >=20 > =3D>> Building emulators/qemu-user-static > build started at Sun Nov 11 14:52:52 PST 2018 > port directory: /usr/ports/emulators/qemu-user-static > package name: qemu-user-static-2.11.50.g20181011 > building for: FreeBSD FBSDFSSDjailVariant 13.0-CURRENT FreeBSD = 13.0-CURRENT amd64 > maintained by: sbruno@FreeBSD.org > Makefile ident: $FreeBSD: = head/emulators/qemu-user-static/Makefile 441455 2017-05-22 13:17:38Z = linimon $ > Poudriere version: 3.2.99.20181024 > Host OSVERSION: 1300003 > Jail OSVERSION: 1300003 I did some buildworld's inside a bulk -i session. I got a hangup that was not lld: an emulated ctfmerge hangup. It too had a thread fanout, but only 7 threads. The attach/detach sequence did not start things going. The thread backtraces look like for the lld example. (gdb) info threads Id Target Id Frame=20 * 1 LWP 100502 of process 64885 _umtx_op () at _umtx_op.S:3 2 LWP 101208 of process 64885 _umtx_op_err () at = /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37 3 LWP 102353 of process 64885 _umtx_op () at _umtx_op.S:3 4 LWP 101899 of process 64885 _umtx_op () at _umtx_op.S:3 5 LWP 101783 of process 64885 _umtx_op () at _umtx_op.S:3 6 LWP 101902 of process 64885 _umtx_op () at _umtx_op.S:3 7 LWP 101907 of process 64885 _umtx_op () at _umtx_op.S:3 (gdb) bt #0 _umtx_op () at _umtx_op.S:3 #1 0x0000000060050c34 in _umtx_wait_uint_private (addr=3D<optimized = out>, target_val=3D<optimized out>, tsz=3D<optimized out>, t=3D<optimized = out>, 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_lock_umutex (target_addr=3D4139717232, id=3D100502, ts=3D0x0, = mode=3D<optimized out>) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/freebsd/os-thread.c:890 #3 0x000000006004a768 in do_freebsd__umtx_op (obj=3D4139717232, = op=3D<optimized out>, val=3D0, uaddr=3D0, target_time=3D0) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/freebsd/os-thread.h:359 #4 0x0000000060041405 in do_freebsd_syscall (cpu_env=3D0x860596318, = num=3D454, arg1=3D<optimized out>, arg2=3D<optimized out>, = arg3=3D<optimized out>, arg4=3D0, arg5=3D0, arg6=3D165556, arg7=3D100502, = arg8=3D0) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/syscall.c:1364 #5 0x0000000060038bb3 in target_cpu_loop (env=3D0x860596318) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/arm/target_arch_cpu.h:207 #6 0x0000000060038559 in cpu_loop (env=3D0xf6bf128c) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/main.c:121 #7 0x00000000600397d2 in main (argc=3D-18969, argv=3D0x7fffffffaea0) 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 101208 of process 64885)] #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 0x00000000601a3cc1 in _thr_umtx_timedwait_uint (mtx=3D0x8604de008, = 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 0x00000000601ad548 in cond_wait_user (abstime=3D0x0, cancel=3D1, = cvp=3D<optimized out>, mp=3D<optimized out>) 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 0x00000000601143cc in qemu_futex_wait (val=3D4294967295, = ev=3D<optimized out>) at util/qemu-thread-posix.c:350 #5 qemu_event_wait (ev=3D0x626eeec0 <rcu_call_ready_event>) at = util/qemu-thread-posix.c:445 #6 0x000000006011b3ba in call_rcu_thread (opaque=3D<optimized out>) at = util/rcu.c:255 #7 0x00000000601ad1c6 in thread_start (curthread=3D0x8604d2500) at = /usr/src/lib/libthr/thread/thr_create.c:292 #8 0x0000000000000000 in ?? () Backtrace stopped: Cannot access memory at address 0x7fffdfffd000 (gdb) thread 3 [Switching to thread 3 (LWP 102353 of process 64885)] #0 _umtx_op () at _umtx_op.S:3 3 RSYSCALL(_umtx_op) (gdb) bt #0 _umtx_op () at _umtx_op.S:3 #1 0x0000000060050c34 in _umtx_wait_uint_private (addr=3D<optimized = out>, target_val=3D<optimized out>, tsz=3D<optimized out>, t=3D<optimized = out>, 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_lock_umutex (target_addr=3D4139717232, id=3D102353, ts=3D0x0, = mode=3D<optimized out>) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/freebsd/os-thread.c:890 #3 0x000000006004a768 in do_freebsd__umtx_op (obj=3D4139717232, = op=3D<optimized out>, val=3D0, uaddr=3D0, target_time=3D0) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/freebsd/os-thread.h:359 #4 0x0000000060041405 in do_freebsd_syscall (cpu_env=3D0x860ca3198, = num=3D454, arg1=3D<optimized out>, arg2=3D<optimized out>, = arg3=3D<optimized out>, arg4=3D0, arg5=3D0, arg6=3D-167772160, = arg7=3D102353, arg8=3D0) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/syscall.c:1364 #5 0x0000000060038bb3 in target_cpu_loop (env=3D0x860ca3198) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/arm/target_arch_cpu.h:207 #6 0x0000000060038559 in cpu_loop (env=3D0xf6bf128c) at = /wrkdirs/usr/ports/emulators/qemu-user-static/work/qemu-bsd-user-4ef7d07/b= sd-user/main.c:121 #7 0x00000000600503ea 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 0x00000000601ad1c6 in thread_start (curthread=3D0x8604d5200) at = /usr/src/lib/libthr/thread/thr_create.c:292 #9 0x0000000000000000 in ?? () Backtrace stopped: Cannot access memory at address 0x7fffdfdfc000 PID USERNAME THR PRI NICE SIZE RES SWAP STATE C TIME = WCPU COMMAND 64885 root 7 20 0 79M 12M 0 uwait 2 0:00 = 0.00% /usr/local/bin/qemu-arm-static ctfmerge -L VERSION -g -o bhnd.kld = bhnd.o bhnd_subr.o bhnd_bus_if.o bhnd_erom.o bhnd_erom_if 64846 root 1 52 0 10M 1768K 0 wait 22 0:00 = 0.00% sh -e 46319 root 1 20 0 11M 2420K 0 select 8 0:00 = 0.00% /nxb-bin/usr/bin/make all DIRPRFX=3Dbhnd/ Again: not repeatable for when/where --but has a thread fanout involved. Note: I had set things up to use the nxb-bin/... instead of emulated compiling/linking/etc. Another point: This was a native FreeBSD boot, not under Hyper-V. But it is the same system and same storage media as when used under Hyper-V. =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?F040FBAC-0224-48B3-9867-39AF3F16768D>