[DragonFlyBSD - Bug #3266] Filesystems broken due to "KKASSERT(count & TOK_COUNTMASK);"

bugtracker-admin at leaf.dragonflybsd.org bugtracker-admin at leaf.dragonflybsd.org
Mon Mar 15 10:39:05 PDT 2021


Issue #3266 has been updated by dillon.


What is needed is a kernel core to determine which call stack is misbehaving.  It is possible that the mismatch is incured at a deeper level that has already returned back up the stack, so it can sometimes be difficult to locate.  But any sort of mismatch is critical and needs to be found and fixed.

-Matt

----------------------------------------
Bug #3266: Filesystems broken due to "KKASSERT(count & TOK_COUNTMASK);"
http://bugs.dragonflybsd.org/issues/3266#change-13965

* Author: tkusumi
* Status: New
* Priority: High
* Assignee: 
* Category: 
* Target version: 
----------------------------------------
Many fs including HAMMER2 are broken due to this assert failure.
Confirmed the panic with HAMMER2 and ext2.
It didn't happen a few months ago.


433 static __inline
434 void
435 _lwkt_reltokref(lwkt_tokref_t ref, thread_t td)
436 {
...
454                 /*
455                  * We are a shared holder
456                  */
457                 count = atomic_fetchadd_long(&tok->t_count, -TOK_INCR);
458                 KKASSERT(count & TOK_COUNTMASK);        /* count prior */    <-----------
459         }
460 }




-- 
You have received this notification because you have either subscribed to it, or are involved in it.
To change your notification preferences, please click here: http://bugs.dragonflybsd.org/my/account



More information about the Bugs mailing list