tech-kern archive

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

Is this assertion still correct?



Dear folks,

when trying to swap on UDF (stresstesting) i got this panic:

panic: kernel diagnostic assertion "!cv_has_waiters(&bp->b_done)" failed: 
file "../../../../kern/vfs_bio.c", line 1570

1568            if ((callout = bp->b_iodone) != NULL) {
1569                    /* Note callout done, then call out. */
1570                    KASSERT(!cv_has_waiters(&bp->b_done));
1571                    KERNEL_LOCK(1, NULL);           /* XXXSMP */
1572                    bp->b_iodone = NULL;
1573                    mutex_exit(bp->b_objlock);
1574                    (*callout)(bp);
(gdb) 
1575                    KERNEL_UNLOCK_ONE(NULL);        /* XXXSMP */
1576            } else if (ISSET(bp->b_flags, B_ASYNC)) {

the traceback is:

#0  0xc027460c in breakpoint ()
#1  0xc05cf2fc in kgdb_connect (verbose=0) at 
../../../../arch/i386/i386/kgdb_machdep.c:242
#2  0xc05cf353 in kgdb_panic () at 
../../../../arch/i386/i386/kgdb_machdep.c:259
#3  0xc082feb1 in panic (
    fmt=0xc0cda220 "kernel %sassertion \"%s\" failed: file \"%s\", line 
%d")
    at ../../../../kern/subr_prf.c:229
#4  0xc0a16dfb in __kernassert (t=0xc0cc3b63 "diagnostic ", 
    f=0xc0cc3b48 "../../../../kern/vfs_bio.c", l=1570, 
    e=0xc0cc3cc4 "!cv_has_waiters(&bp->b_done)") at 
../../../../../../lib/libkern/__assert.c:50
#5  0xc09806f1 in biodone2 (bp=0xc1757d10) at 
../../../../kern/vfs_bio.c:1570
#6  0xc098059c in biodone (bp=0xc1757d10) at 
../../../../kern/vfs_bio.c:1544
#7  0xc09818f4 in nestiobuf_done (mbp=0xc1757d10, donebytes=4096, error=0)
    at ../../../../kern/vfs_bio.c:2054
#8  0xc098172b in nestiobuf_iodone (bp=0xc1524e34) at 
../../../../kern/vfs_bio.c:1996
#9  0xc0980723 in biodone2 (bp=0xc1524e34) at 
../../../../kern/vfs_bio.c:1574
#10 0xc0980877 in biointr (cookie=0x0) at ../../../../kern/vfs_bio.c:1605
#11 0xc05b7b24 in softint_execute (si=0xc65ee004, l=0xc6267780, s=3)
    at ../../../../kern/kern_softint.c:502
#12 0xc05b7906 in softint_dispatch (pinned=0xc6267c80, s=3)
    at ../../../../kern/kern_softint.c:772
#13 0xc0100f4d in Xsoftintr ()
#14 0x00000000 in ?? ()

Any idea what could cause this?

With regards,
Reinoud



Home | Main Index | Thread Index | Old Index