Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Jun 2017 16:55:17 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        David Wolfskill <david@catwhisker.org>
Cc:        current@freebsd.org, glebius@freebsd.org
Subject:   Re: Panic @r319733: "mtx_lock() of spin mutex (null) @ /usr/src/sys/kern/sys_socket.c:305"
Message-ID:  <20170609135517.GA2088@kib.kiev.ua>
In-Reply-To: <20170609125715.GP1180@albert.catwhisker.org>
References:  <20170609125715.GP1180@albert.catwhisker.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 09, 2017 at 05:57:15AM -0700, David Wolfskill wrote:
> Build machine updated from r319689 to r319733 OK; smoke test was
> uneventful.
> 
> Laptop updated similarly, but smoke test was a little more "interesting".
> 
> Turns out that laptop gets to multi-user mode OK... if I disable
> starting xdm, devd, and hald.  But then, issuing "service hald onestart"
> generates the panic in question -- at r319733.  At r319689, xdm &
> friends worked fine.
> 
> I have placed copies of the /var/crash/*.6 files in
> <http://www.catwhisker.org/~david/FreeBSD/head/hald/>; -- along with
> gzipped copies, as well.  (It's residential DSL in the US, so there's
> not a huge amount of bandwidth.)
> 
> I get the impression that something (ini hald) was trying to use
> the freebsd11 version of stat(), and Something Bad happened:
> 
> panic: mtx_lock() of spin mutex (null) @ /usr/src/sys/kern/sys_socket.c:305
> cpuid = 7
> time = 1497011454
> KDB: stack backtrace:
> db_trace_self_wrapper() at 0xffffffff803a461b = db_trace_self_wrapper+0x2b/frame 0xfffffe0c268ff600
> vpanic() at 0xffffffff80a1f94c = vpanic+0x19c/frame 0xfffffe0c268ff680
> kassert_panic() at 0xffffffff80a1f7a6 = kassert_panic+0x126/frame 0xfffffe0c268ff6f0
> __mtx_lock_flags() at 0xffffffff809fedfe = __mtx_lock_flags+0x14e/frame 0xfffffe0c268ff740
> soo_stat() at 0xffffffff80a8f8f0 = soo_stat+0x60/frame 0xfffffe0c268ff770
The main suspect is r319722.
Try reverting it or downgrading before it (the later might be simple due
to the patch size).

> kern_fstat() at 0xffffffff809cb378 = kern_fstat+0xa8/frame 0xfffffe0c268ff7c0
> freebsd11_fstat() at 0xffffffff809cb28d = freebsd11_fstat+0x1d/frame 0xfffffe0c268ff930
> amd64_syscall() at 0xffffffff80e31fb4 = amd64_syscall+0x5a4/frame 0xfffffe0c268ffab0
> Xfast_syscall() at 0xffffffff80e12eab = Xfast_syscall+0xfb/frame 0xfffffe0c268ffab0
> --- syscall (189, FreeBSD ELF64, freebsd11_fstat), rip = 0x801b4973a, rsp = 0x7fffffffe988, rbp = 0x7fffffffea20 ---
> KDB: enter: panic
> 
> 
> Note: the hald in question was built under FreeBSD stable/11 (as
> are all my ports); I noted the existence of, and installed,
> ports/misc/compat11s before (re-)creating the crash.  (And yes, the
> ports that have kernel modules get the kernel modules rebuilt on
> head every time I rebuild the kernel on head.)
> 
> With the caveat that I actually use the laptop in my day-to-day
> activities, I'm happy to try various combinations of patching,
> testing, and reporting results.
> 
> Peace,
> david
> -- 
> David H. Wolfskill				david@catwhisker.org
> Looking forward to telling Mr. Trump: "You're fired!"
> 
> See http://www.catwhisker.org/~david/publickey.gpg for my public key.





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170609135517.GA2088>