Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Dec 2019 09:20:32 -1000 (HST)
From:      Jeff Roberson <jroberson@jroberson.net>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        Cy Schubert <Cy.Schubert@cschubert.com>, current@freebsd.org
Subject:   Re: drm-current-kmod panics
Message-ID:  <alpine.BSF.2.21.9999.1912190903390.1198@desktop>
In-Reply-To: <fc3d32b0-bb46-7311-5a67-8cda55008101@selasky.org>
References:  <201912191650.xBJGotp2003261@slippy.cwsent.com> <e9d67a1e-cb80-3c79-704a-5aa3d0ed20ba@selasky.org> <201912191840.xBJIeqQX071052@slippy.cwsent.com> <fc3d32b0-bb46-7311-5a67-8cda55008101@selasky.org>

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

On Thu, 19 Dec 2019, Hans Petter Selasky wrote:

> On 2019-12-19 19:40, Cy Schubert wrote:
>> In message <e9d67a1e-cb80-3c79-704a-5aa3d0ed20ba@selasky.org>, Hans Petter
>> Sela
>> sky writes:
>>> On 2019-12-19 17:50, Cy Schubert wrote:
>>>> Has anyone else had these since Dec 9?
>>>> 
>>>> <4>WARN_ON(!mutex_is_locked(&fbc->lock))WARN_ON(!mutex_is_locked(&fbc->
>>>> lock))
>>>> panic: page fault
>>>> cpuid = 1
>>>> time = 1576772837
>>>> KDB: stack backtrace:
>>>> db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame
>>>> 0xfffffe007c98b930
>>>> vpanic() at vpanic+0x17e/frame 0xfffffe007c98b990
>>>> panic() at panic+0x43/frame 0xfffffe007c98b9f0
>>>> trap_fatal() at trap_fatal+0x386/frame 0xfffffe007c98ba50
>>>> trap_pfault() at trap_pfault+0x4f/frame 0xfffffe007c98bac0
>>>> trap() at trap+0x41b/frame 0xfffffe007c98bbf0
>>>> calltrap() at calltrap+0x8/frame 0xfffffe007c98bbf0
>>>> --- trap 0xc, rip = 0x242c52, rsp = 0x7fffffffbe70, rbp = 0x7fffffffbe90 
>>>> --
>>> -
>>>> Uptime: 59m7s
>>>> 
>>>> It is triggered through random keystrokes or mouse movements.
>>> 
>>> Looks like a double fault.
>>> 
>>> Did you recompile drm-current-kmod with the latest kernel sources?
>> 
>> Yes.
>> 
>> 
>
> Are you able to get a full backtrace?

Since my recent scheduler commits the following functions now return 
without the thread lock held:

sched_add()/sched_wakeup()/sched_switch()/mi_switch()/setrunnable()/sleepq_abort()

I audited drm and linuxkpi for use of these functions.  There was one in 
the linuxkpi sources that I corrected in the same commit as the change in 
api.  I don't see any users of these in drm-current-kmod.  It is possible 
that I have somehow missed it.  I did just commit a fix to cpuset that may 
be called indirectly somehow.  That fix is r355915.  The first commit of 
this series was r35579.

If this is at fault I may need some assistance in identifying what the 
offending call is.  It should show up with INVARIANTS/WITNESS more quickly 
than a pagefault if so though.

Thanks,
Jeff

>
> --HPS
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
>



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