Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Mar 2014 16:24:52 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-stable@freebsd.org
Cc:        Hans Petter Selasky <hps@bitfrost.no>
Subject:   Re: Fwd: KASSERT in vm_map.c
Message-ID:  <201403061624.52580.jhb@freebsd.org>
In-Reply-To: <53181EC1.90103@bitfrost.no>
References:  <530EFC76.9010302@bitfrost.no> <53181EC1.90103@bitfrost.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, March 06, 2014 2:07:45 am Hans Petter Selasky wrote:
> FYI
> 
> -------- Original Message --------
> Subject: KASSERT in vm_map.c
> Date: Thu, 27 Feb 2014 09:51:02 +0100
> From: Hans Petter Selasky <hps@bitfrost.no>
> To: Konstantin Belousov <kib@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.

The KASSERT is correct.  Can you provide more details from your panic?  (Do you have
a crash dump?)  It sounds like two threads are mucking with the same vm_map_entry at
the same time.

-- 
John Baldwin



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