tmpfs panic
Konstantin Belousov
kostikbel at gmail.com
Mon Jul 14 15:04:51 UTC 2014
On Sun, Jul 06, 2014 at 03:46:22PM +0000, Steve Wills wrote:
> I should have noted this system is running in bhyve. Also I'm told this panic
> may be related to the fact that the system is running in bhyve.
>
> Looking at it a little more closely:
>
> (kgdb) list *__mtx_lock_sleep+0xb1
> 0xffffffff809638d1 is in __mtx_lock_sleep (/usr/src/sys/kern/kern_mutex.c:431).
> 426 * owner stops running or the state of the lock changes.
> 427 */
> 428 v = m->mtx_lock;
> 429 if (v != MTX_UNOWNED) {
> 430 owner = (struct thread *)(v & ~MTX_FLAGMASK);
> 431 if (TD_IS_RUNNING(owner)) {
> 432 if (LOCK_LOG_TEST(&m->lock_object, 0))
> 433 CTR3(KTR_LOCK,
> 434 "%s: spinning on %p held by %p",
> 435 __func__, m, owner);
> (kgdb)
>
> I'm told that MTX_CONTESTED was set on the unlocked mtx and that MTX_CONTENDED
> is spuriously left behind, and to ask how lock prefix is handled in bhyve. Any
> of that make sense to anyone?
>
> Thanks,
> Steve
>
> On Sun, Jul 06, 2014 at 01:53:37PM +0000, Steve Wills wrote:
> > Hi,
> >
> > Just experienced this tmpfs panic on r268160:
> >
> > Freed UMA keg (TMPFS node) was not empty (16 items). Lost 1 pages of memory.
> >
> >
> > Fatal trap 12: page fault while in kernel mode
> > cpuid = 12; apic id = 0c
> > fault virtual address = 0x378
> > fault code = supervisor read data, page not present
> > instruction pointer = 0x20:0xffffffff809638d1
> > stack pointer = 0x28:0xfffffe07243800a0
> > frame pointer = 0x28:0xfffffe0724380120
> > code segment = base 0x0, limit 0xfffff, type 0x1b
> > = DPL 0, pres 1, long 1, def32 0, gran 1
> > processor eflags = interrupt enabled, resume, IOPL = 0
> > current process = 65339 (pkg-static)
> > [ thread pid 65339 tid 101641 ]
> > Stopped at __mtx_lock_sleep+0xb1: movl 0x378(%rax),%ecx
> > db> bt
> > Tracing pid 65339 tid 101641 td 0xfffff80286b2e490
> > __mtx_lock_sleep() at __mtx_lock_sleep+0xb1/frame 0xfffffe0724380120
> > free_unr() at free_unr+0x9d/frame 0xfffffe0724380160
> > tmpfs_free_node() at tmpfs_free_node+0xf2/frame 0xfffffe07243801a0
> > tmpfs_reclaim() at tmpfs_reclaim+0xdc/frame 0xfffffe07243801d0
> > VOP_RECLAIM_APV() at VOP_RECLAIM_APV+0xa7/frame 0xfffffe0724380200
> > vgonel() at vgonel+0x24c/frame 0xfffffe0724380280
> > vrecycle() at vrecycle+0x84/frame 0xfffffe07243802c0
> > tmpfs_inactive() at tmpfs_inactive+0x18/frame 0xfffffe07243802d0
> > VOP_INACTIVE_APV() at VOP_INACTIVE_APV+0xa7/frame 0xfffffe0724380300
> > vinactive() at vinactive+0x181/frame 0xfffffe0724380360
> > vputx() at vputx+0x30d/frame 0xfffffe07243803d0
> > vn_close() at vn_close+0x13e/frame 0xfffffe0724380450
> > vn_closefile() at vn_closefile+0x48/frame 0xfffffe07243804d0
> > _fdrop() at _fdrop+0x29/frame 0xfffffe07243804f0
> > closef() at closef+0x2ae/frame 0xfffffe0724380580
> > fdescfree() at fdescfree+0x64c/frame 0xfffffe0724380630
> > exit1() at exit1+0x682/frame 0xfffffe07243806c0
> > sigexit() at sigexit+0x929/frame 0xfffffe0724380980
> > postsig() at postsig+0x3c4/frame 0xfffffe0724380a70
> > ast() at ast+0x487/frame 0xfffffe0724380ab0
> > doreti_ast() at doreti_ast+0x1f/frame 0x7fffffffc6e0
> > db>
> >
> > Any further debugging I can do?
> >
> > Thanks,
> > Steve
>
>
This is supposedly fixed with r268617.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-virtualization/attachments/20140714/c7dc364e/attachment.sig>
More information about the freebsd-virtualization
mailing list