Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Feb 2018 09:35:16 -0800
From:      Mark Millard <marklmi26-fbsd@yahoo.com>
To:        FreeBSD Current <freebsd-current@freebsd.org>, FreeBSD Hackers <freebsd-hackers@freebsd.org>
Subject:   Re: amd64 head -r329465 (non-debug build, but with symbols): "panic: spin lock held too long" during make check-old, reported during a sys_vfork
Message-ID:  <20832C61-AA5D-41A6-8BF9-90CC87D17219@yahoo.com>
In-Reply-To: <6907E068-C80A-44B8-A8AD-3EF27D52D127@yahoo.com>
References:  <DA76F62D-3373-47CA-AD95-DE9BA580772B@yahoo.com> <6907E068-C80A-44B8-A8AD-3EF27D52D127@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 2018-Feb-17, at 6:10 PM, Mark Millard <marklmi26-fbsd at yahoo.com> =
wrote:

> [Some more information added, from /usr/libexec/kgdb use.]
>=20
> On 2018-Feb-17, at 5:39 PM, Mark Millard <marklmi26-fbsd at yahoo.com> =
wrote:
>=20
>> This is for FreeBSD running under Hyper-V on a Windows 10 Pro =
machine.
>> The FreeBSD "disk" bindings are to SSDs, not the insides of NTFS =
files.
>> 29 logical processors assigned to FreeBSD (on a 32-thread Ryzen
>> Threadripper 1950X). No other Hyper-V use.

Trond's report seems to be for a "4 core" Intel i7 context (as seen
by FreeBSD in virtual box). So Ryzen seems to be non-essential for
reproduction.

Both of our reports are from some form of using FreeBSD in a virtual
machine (Hyper-V and VirtualBox). I do not know if that is a required
type of context or not.

>> This happened during:
>>=20
>> # =
~/sys_build_scripts.amd64-host/make_powerpc64vtsc_nodebug_clang_altbinutil=
s-amd64-host.sh check-old =
DESTDIR=3D/usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils
>> Script started, output file is =
/root/sys_typescripts/typescript_make_powerpc64vtsc_nodebug_clang_altbinut=
ils-amd64-host-2018-02-17:15:56:20
>>>>> Checking for old files
>>=20

I got another example but during a buildworld:

>>> Deleting stale files in build tree...
cd /usr/src; MACHINE_ARCH=3Dpowerpc64  MACHINE=3Dpowerpc  CPUTYPE=3D =
BUILD_TOOLS_META=3D.NOMETA CC=3D"cc -target =
powerpc64-unknown-freebsd12.0 =
--sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr=
/src/powerpc.powerpc64/tmp =
-B/usr/local/powerpc64-unknown-freebsd12.0/bin/" CXX=3D"c++  -target =
powerpc64-unknown-freebsd12.0 =
--sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr=
/src/powerpc.powerpc64/tmp =
-B/usr/local/powerpc64-unknown-freebsd12.0/bin/"  CPP=3D"cpp -target =
powerpc64-unknown-freebsd12.0 =
--sysroot=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr=
/src/powerpc.powerpc64/tmp =
-B/usr/local/powerpc64-unknown-freebsd12.0/bin/"  =
AS=3D"/usr/local/powerpc64-unknown-freebsd12.0/bin/as" =
AR=3D"/usr/local/powerpc64-unknown-freebsd12.0/bin/ar" =
LD=3D"/usr/local/powerpc64-unknown-freebsd12.0/bin/ld" LLVM_LINK=3D""  =
NM=3D/usr/local/powerpc64-unknown-freebsd12.0/bin/nm =
OBJCOPY=3D"/usr/local/powerpc64-unknown-freebsd12.0/bin/objcopy"  =
RANLIB=3D/usr/local/powerpc64-unknown-freebsd12.0/bin/ranlib =
STRINGS=3D/usr/local/bin/powerpc64-unknown-freebsd12.0-strings  =
SIZE=3D"/usr/local/powerpc64-unknown-freebsd12.0/bin/size"  INSTALL=3D"sh =
/usr/src/tools/install.sh"  =
PATH=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/=
powerpc.powerpc64/tmp/legacy/usr/sbin:/usr/obj/powerpc64vtsc_clang_altbinu=
tils/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/legacy/usr/bin:/usr/o=
bj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc.power=
pc64/tmp/legacy/bin:/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.power=
pc64/usr/src/powerpc.powerpc64/tmp/usr/sbin:/usr/obj/powerpc64vtsc_clang_a=
ltbinutils/powerpc.powerpc64/usr/src/powerpc.powerpc64/tmp/usr/bin:/sbin:/=
bin:/usr/sbin:/usr/bin  =
SYSROOT=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/s=
rc/powerpc.powerpc64/tmp make  -f Makefile.inc1  BWPHASE=3Dworldtmp  =
DESTDIR=3D/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/s=
rc/powerpc.powerpc64/tmp -DBATCH_DELETE_OLD_FILES  delete-old =
delete-old-libs >/dev/null

load: 0.68  cmd: make 62180 [select] 25.15r 0.00u 0.00s 0% 1468k
make: Working in: =
/usr/obj/powerpc64vtsc_clang_altbinutils/powerpc.powerpc64/usr/src/powerpc=
.powerpc64
packet_write_wait: Connection to 192.168.1.165 port 22: Broken pipe


(I noticed the long pause and got the ^T in before the panic.)

Yet again it is xargs related fork activity that gets the problem (from =
core.txt.1 ):

  561 Thread 100836 (PID=3D69982: xargs)  fork_trampoline () at =
/usr/src/sys/amd64/amd64/exception.S:840
. . .
* 559 Thread 100811 (PID=3D62304: xargs)  doadump (textdump=3D-2122191464)=
 at pcpu.h:230

spin lock 0xffffffff81b3cf00 (sched lock 24) held by 0xfffff806aa6d5000 =
(tid 100836) too long
panic: spin lock held too long
cpuid =3D 24
time =3D 1518974055
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame =
0xfffffe00f11304d0
vpanic() at vpanic+0x18d/frame 0xfffffe00f1130530
panic() at panic+0x43/frame 0xfffffe00f1130590
_mtx_lock_indefinite_check() at _mtx_lock_indefinite_check+0x71/frame =
0xfffffe00f11305a0
thread_lock_flags_() at thread_lock_flags_+0xdb/frame 0xfffffe00f1130610
statclock_cnt() at statclock_cnt+0xdc/frame 0xfffffe00f1130650
handleevents() at handleevents+0x113/frame 0xfffffe00f11306a0
timercb() at timercb+0xa9/frame 0xfffffe00f11306f0
lapic_handle_timer() at lapic_handle_timer+0xa7/frame 0xfffffe00f1130730
timerint_u() at timerint_u+0x96/frame 0xfffffe00f1130810
thread_lock_flags_() at thread_lock_flags_+0xc1/frame 0xfffffe00f1130880
fork1() at fork1+0x1b9f/frame 0xfffffe00f1130930
sys_vfork() at sys_vfork+0x4c/frame 0xfffffe00f1130980
amd64_syscall() at amd64_syscall+0xa48/frame 0xfffffe00f1130ab0
fast_syscall_common() at fast_syscall_common+0x101/frame 0x7fffffffc5a0




=3D=3D=3D
Mark Millard
marklmi at yahoo.com
( markmi at dsl-only.net is
going away in 2018-Feb, late)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20832C61-AA5D-41A6-8BF9-90CC87D17219>