NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/56561: cv_is_valid assertion failure in intel drm



>Number:         56561
>Category:       kern
>Synopsis:       cv_is_valid assertion failure in intel drm
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Dec 20 15:40:00 +0000 2021
>Originator:     Patrick Welche
>Release:        NetBSD-9.99.92/amd64 of 20 Dec 2021
>Organization:
>Environment:
>Description:
Trying out the new drm code on a

i915drmkms0 at pci0 dev 2 function 0: Intel UHD Graphics 620 (rev. 0x02)

which now has hardware acceleration(!) I happened across this panic:

(gdb) print panicstr
$1 = 0xffffffff810f8600 <scratchstr> "kernel diagnostic assertion \"cv_is_valid(cv)\" failed: file \"../../../../kern/kern_condvar.c\", line 511 "
(gdb) bt
#0  0xffffffff80222705 in cpu_reboot (howto=howto@entry=260, 
    bootstr=bootstr@entry=0x0) at ../../../../arch/amd64/amd64/machdep.c:713
#1  0xffffffff808c69c4 in kern_reboot (howto=howto@entry=260, 
    bootstr=bootstr@entry=0x0) at ../../../../kern/kern_reboot.c:73
#2  0xffffffff8090909a in vpanic (
    fmt=0xffffffff80d8e280 "kernel %sassertion \"%s\" failed: file \"%s\", line %d ", ap=ap@entry=0xffffb6813c48edc8) at ../../../../kern/subr_prf.c:290
#3  0xffffffff80a5bb47 in kern_assert (
    fmt=fmt@entry=0xffffffff80d8e280 "kernel %sassertion \"%s\" failed: file \"%s\", line %d ") at ../../../../../../lib/libkern/kern_assert.c:51
#4  0xffffffff80894d9a in cv_broadcast (cv=0xffffb6814e554b50)
    at ../../../../kern/kern_condvar.c:511
#5  0xffffffff80a2be73 in linux___dma_fence_signal_wake (
    fence=0xffffa1db7f364840, timestamp=<optimized out>)
    at ../../../../external/bsd/drm2/linux/linux_dma_fence.c:1176
#6  0xffffffff80575b7d in signal_irq_work (work=0xffffb6801fac41e8)
    at ../../../../external/bsd/drm2/dist/drm/i915/gt/intel_breadcrumbs.c:218
#7  0xffffffff80a30939 in irq_work_intr (cookie=<optimized out>)
    at ../../../../external/bsd/drm2/linux/linux_irq_work.c:74
#8  0xffffffff808d4ff0 in softint_execute (s=5, l=0xffffa1debe5fe4c0)
    at ../../../../kern/kern_softint.c:565
#9  softint_dispatch (pinned=<optimized out>, s=5)
    at ../../../../kern/kern_softint.c:814
#10 0xffffffff8021d7ff in Xsoftintr ()
#11 0xa6658f2fddbb7892 in ?? ()
#12 0xa6658f2fddbb7892 in ?? ()
Backtrace stopped: Cannot access memory at address 0xffffb6813c48f000
(gdb) frame 4
#4  0xffffffff80894d9a in cv_broadcast (cv=0xffffb6814e554b50)
    at ../../../../kern/kern_condvar.c:511
511             KASSERT(cv_is_valid(cv));
(gdb) list
506      */
507     void
508     cv_broadcast(kcondvar_t *cv)
509     {
510
511             KASSERT(cv_is_valid(cv));
512
513             if (__predict_false(!LIST_EMPTY(CV_SLEEPQ(cv))))
514                     cv_wakeup_all(cv);
515     }
(gdb) print *cv
$1 = {cv_opaque = {0x0, 0xffffffff80d69100 <deadcv>}}

>How-To-Repeat:
Not entirely sure: things have been pretty stable...
>Fix:



Home | Main Index | Thread Index | Old Index