Fwd: KASSERT in vm_map.c

Hans Petter Selasky hps at bitfrost.no
Thu Mar 6 07:06:59 UTC 2014


FYI

-------- Original Message --------
Subject: KASSERT in vm_map.c
Date: Thu, 27 Feb 2014 09:51:02 +0100
From: Hans Petter Selasky <hps at bitfrost.no>
To: Konstantin Belousov <kib at FreeBSD.org>

Hi,

Using 9-stable I hit a KASSERT when EHCI is loading:

--- a/sys/vm/vm_map.c
+++ b/sys/vm/vm_map.c
@@ -2301,9 +2301,11 @@ vm_map_unwire(vm_map_t map, vm_offset_t start,
vm_offset_t end,
                  * Mark the entry in case the map lock is released.  (See
                  * above.)
                  */
+#if 0
                 KASSERT((entry->eflags & MAP_ENTRY_IN_TRANSITION) == 0 &&
                     entry->wiring_thread == NULL,
                     ("owned map entry %p", entry));
+#endif
                 entry->eflags |= MAP_ENTRY_IN_TRANSITION;
                 entry->wiring_thread = curthread;
                 /*


Is the KASSERT() wrong or is my USB code wrong.

Simply add to GENERIC:

> +options         INVARIANTS              # Enable calls of extra sanity checking
> +options         INVARIANT_SUPPORT       # Extra sanity checks of internal structures, required by INVARIANTS
> +options         WITNESS                 # Enable checks to detect deadlocks and cycles
> +options         WITNESS_SKIPSPIN        # Don't run witness on spinlocks for speed
> +

Should be trivial to reproduce.

Thank you!

--HPS




More information about the freebsd-stable mailing list