pthread_mutex_timedlock on sparc64

David Xu davidxu at freebsd.org
Thu Apr 20 23:47:54 UTC 2006


On Friday 21 April 2006 07:25, Kris Kennaway wrote:

> > Do you have WITNESS backtrace ? I don't have sparc hardware.
>
> Actually I mis-remembered a bit.
>
> > panic: _mtx_lock_sleep: recursed on non-recursive mutex system map @
> > ../../../vm/vm_map.c:2993 panic() at panic+0x164
> > _mtx_lock_sleep() at _mtx_lock_sleep+0x40
> > _mtx_lock_flags() at _mtx_lock_flags+0x98
> > _vm_map_lock_read() at _vm_map_lock_read+0x1c
> > vm_map_lookup() at vm_map_lookup+0x1c
> > vm_fault() at vm_fault+0x68
> > trap_pfault() at trap_pfault+0x1a8
> > trap() at trap+0x2b0
> > -- fast data access mmu miss tar=0xe85a6000 %o7=0xc02f3b08 --
> > vm_map_entry_splay() at vm_map_entry_splay+0x10
> > vm_map_find() at vm_map_find+0x34
> > kmem_alloc_nofault() at kmem_alloc_nofault+0x44
> > vm_thread_new() at vm_thread_new+0x44
> > thread_init() at thread_init+0x8
> > slab_zalloc() at slab_zalloc+0x264
> > uma_zone_slab() at uma_zone_slab+0x1ac
> > uma_zalloc_bucket() at uma_zalloc_bucket+0x1b4
> > uma_zalloc_arg() at uma_zalloc_arg+0x398
> > thread_alloc() at thread_alloc+0x18
> > create_thread() at create_thread+0x78
> > thr_new() at thr_new+0x64
> > syscall() at syscall+0x2dc
> > -- syscall (455, FreeBSD ELF64, thr_new) %o7=0x40348e7c --
>
> It may be a deeper vm problem.
>
> Kris

I think it is a bug of some VM allocation code, it probably should be
reported on -CURRENT.

David Xu


More information about the freebsd-threads mailing list