kern/104430: [panic] System crash while builds kernel

Andrey V. Elsukov bu7cher at yandex.ru
Sun Oct 15 02:50:21 PDT 2006


>Number:         104430
>Category:       kern
>Synopsis:       [panic] System crash while builds kernel
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Oct 15 09:50:18 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Andrey V. Elsukov
>Release:        FreeBSD 7.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD btr-nb.properlan.net 7.0-CURRENT FreeBSD 7.0-CURRENT #10: Sun Oct 15 02:51:38 MSD 2006 root@:/usr/obj/usr/src/sys/BTR i386

kern.osrelease: 7.0-CURRENT
kern.osrevision: 199506
kern.osreldate: 700022

kernel have WITNESS and DEBUG_VFS_LOCKS options.
>Description:
kernel panic after some time of building world and kernel.

>How-To-Repeat:
I will try later.

>Fix:


--- bt.txt begins here ---

Unread portion of the kernel message buffer:
Kernel page fault with the following non-sleepable locks held:
exclusive sleep mutex pmap r = 0 (0xc2a1cddc) locked @ /usr/src/sys/i386/i386/pmap.c:2165
exclusive sleep mutex vm page queue mutex r = 0 (0xc07909fc) locked @ /usr/src/sys/vm/vm_object.c:1806
exclusive sleep mutex vm object (standard object) r = 0 (0xc49fd870) locked @ /usr/src/sys/vm/vm_map.c:2269
KDB: enter: witness_warn
Acquiring lockmgr lock "vfslock" with the following non-sleepable locks held:
exclusive sleep mutex pmap r = 0 (0xc2a1cddc) locked @ /usr/src/sys/i386/i386/pmap.c:2165
exclusive sleep mutex vm page queue mutex r = 0 (0xc07909fc) locked @ /usr/src/sys/vm/vm_object.c:1806
exclusive sleep mutex vm object (standard object) r = 0 (0xc49fd870) locked @ /usr/src/sys/vm/vm_map.c:2269
malloc(M_WAITOK) of "512", forcing M_NOWAIT with the following non-sleepable locks held:
exclusive sleep mutex pmap r = 0 (0xc2a1cddc) locked @ /usr/src/sys/i386/i386/pmap.c:2165
exclusive sleep mutex vm page queue mutex r = 0 (0xc07909fc) locked @ /usr/src/sys/vm/vm_object.c:1806
exclusive sleep mutex vm object (standard object) r = 0 (0xc49fd870) locked @ /usr/src/sys/vm/vm_map.c:2269
lock order reversal:
 1st 0xc2a1cddc pmap (pmap) @ /usr/src/sys/i386/i386/pmap.c:2165
 2nd 0xc07901c4 Softdep Lock (Softdep Lock) @ /usr/src/sys/ufs/ffs/ffs_softdep.c:6209
KDB: stack backtrace:
malloc(M_WAITOK) of "512", forcing M_NOWAIT with the following non-sleepable locks held:
exclusive sleep mutex pmap r = 0 (0xc2a1cddc) locked @ /usr/src/sys/i386/i386/pmap.c:2165
exclusive sleep mutex vm page queue mutex r = 0 (0xc07909fc) locked @ /usr/src/sys/vm/vm_object.c:1806
exclusive sleep mutex vm object (standard object) r = 0 (0xc49fd870) locked @ /usr/src/sys/vm/vm_map.c:2269
panic: lockmgr: thread 0xc3218510, not exclusive lock holder 0xc0798fa0 unlocking
Uptime: 2h48m36s
Physical memory: 434 MB
Dumping 89 MB: 74 58 42 26 10

#0  doadump () at pcpu.h:166
	in pcpu.h
(kgdb) bt full
#0  doadump () at pcpu.h:166
No locals.
#1  0xc052c79c in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
	first_buf_printf = 1
#2  0xc052c9f7 in panic (
    fmt=0xc06d36d5 "lockmgr: thread %p, not %s %p unlocking")
    at /usr/src/sys/kern/kern_shutdown.c:565
	td = (struct thread *) 0xc3218510
	bootopt = 260
	newpanic = 1
	ap = 0xd5c676f0 "\020\205!ÿ6mÀ \217yÀ\020\205!Ã"
	buf = "lockmgr: thread 0xc3218510, not exclusive lock holder 0xc0798fa0 unlocking", '\0' <repeats 181 times>
#3  0xc0522478 in lockmgr (lkp=0xc28e6260, flags=6, interlkp=0xc28e6284, 
    td=0xc3218510) at /usr/src/sys/kern/kern_lock.c:373
	error = 0
	thr = (struct thread *) 0xc3218510
	extflags = 64
	lockflags = 0
#4  0xc057a0ea in vop_stdunlock (ap=0x0)
    at /usr/src/sys/kern/vfs_default.c:277
	vp = (struct vnode *) 0x0
#5  0xc0692529 in VOP_UNLOCK_APV (vop=0xc0719860, a=0xd5c6775c)
    at vnode_if.c:1667
	rc = -1066297248
#6  0xc0582590 in vput (vp=0xc28e6208) at vnode_if.h:870
	td = (struct thread *) 0xc3218510
	error = -1030856184
#7  0xc060bcc9 in ffs_sync (mp=0xc28e4ca8, waitfor=2, td=0xc0798fa0)
    at /usr/src/sys/ufs/ffs/ffs_vfsops.c:1185
	mvp = (struct vnode *) 0xc307fe00
	vp = (struct vnode *) 0xc28e6208
	devvp = (struct vnode *) 0xc28e6208
	ip = (struct inode *) 0x0
	ump = (struct ufsmount *) 0xc287bd00
	fs = (struct fs *) 0xc2882800
	error = 0
	count = -1067960980
	lockreq = 8242
	allerror = 0
	suspend = 0
	suspended = 0
	secondary_writes = 0
	secondary_accwrites = 25405
	softdep_deps = 0
	softdep_accdeps = 0
	bo = (struct bufobj *) 0x0
#8  0xc0584b38 in sync (td=0xc0798fa0, uap=0xc06fa0c0)
    at /usr/src/sys/kern/vfs_syscalls.c:139
	mp = (struct mount *) 0xc28e4ca8
	nmp = (struct mount *) 0x0
	vfslocked = 0
	asyncflag = 0
#9  0xc044bd07 in db_fncall (dummy1=-708413260, dummy2=0, dummy3=-1065697376, 
    dummy4=0xd5c67890 "`\005{À") at /usr/src/sys/ddb/db_command.c:481
	fn_addr = -1067955620
	args = {-1065775200, -1066426176, -708413344, -1066166464, 
  -708413328, -1069238281, -1066166464, -1066426176, -708413300, -708413344}
	nargs = 0
	retval = 543517253
	t = 0
#10 0xc044bb13 in db_command (last_cmdp=0xc0738ec4, cmd_table=0x0)
    at /usr/src/sys/ddb/db_command.c:396
	cmd = (struct command *) 0xc06fa0c0
	t = 0
	modif = "`\005{À\000\000\000\000 ÁnÀ´xÆÕ\202ÕHÀÀ\216yÀ\000\000\000\000\000']Â\r\000\000\000 ¿zÀ\r\000\000\000\001\000\000\000àxÆÕ'ÈfÀàxÆÕ@ÈfÀ\000¾eÂ\200\225xÀx\000\000\000À\227sÀ\020\205!Ã\000yÆÕÐÚDÀ2PmÀ\024ØDÀ\020\205!ÃÀ\227sÀÆÏDÀÀ\227sÀ\b\226sÀ"
	addr = -708413260
	count = -1065697376
	have_addr = 0
	result = 0
#11 0xc044bbce in db_command_loop () at /usr/src/sys/ddb/db_command.c:448
No locals.
#12 0xc044d781 in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:221
	jb = {{_jb = {-708413120, -708413140, -708413068, 3, -1021213424, 
      -1069230310, 0, 25, 0, 536870912, 0, 0}}}
	prev_jb = (void *) 0x0
	bkpt = 0
#13 0xc05480e9 in kdb_trap (type=3, code=0, tf=0x0)
    at /usr/src/sys/kern/subr_kdb.c:502
	handled = 0
#14 0xc0688344 in trap (frame=
      {tf_fs = 8, tf_es = 40, tf_ds = 40, tf_edi = -1065839844, tf_esi = 0, tf_ebp = -708412840, tf_isp = -708412860, tf_ebx = -1, tf_edx = 0, tf_ecx = -1052684288, tf_eax = 25, tf_trapno = 3, tf_err = 0, tf_eip = -1068204433, tf_cs = 32, tf_eflags = 130, tf_esp = -708412812, tf_ss = -1068163187})
    at /usr/src/sys/i386/i386/trap.c:620
	td = (struct thread *) 0xc3218510
	p = (struct proc *) 0xc2bc8b04
	i = 0
	ucode = 0
	type = 3
	code = 0
	addr = 4
	eva = 0
	ksi = {ksi_link = {tqe_next = 0xc06a37fc, tqe_prev = 0xc0551e06}, 
  ksi_info = {si_signo = -1065839848, si_errno = 582, si_code = -1066331420, 
    si_pid = -1065838408, si_uid = 428, si_status = -1066553049, 
    si_addr = 0xd5c679f8, si_value = {sival_int = -1068346589, 
      sival_ptr = 0xc0525323}, _reason = {_fault = {_trapno = -1065838408}, 
      _timer = {_timerid = -1065838408, _overrun = 8}, _mesgq = {
        _mqd = -1065838408}, _poll = {_band = -1065838408}, __spare__ = {
        __spare1__ = -1065838408, __spare2__ = {8, -1066553049, 428, 660, 
          -884261120, -1022554908, 1}}}}, ksi_flags = -1065839828, 
  ksi_sigq = 0xc078932c}
#15 0xc0679d1a in calltrap () at /usr/src/sys/i386/i386/exception.s:138
No locals.
#16 0xc0547e6f in kdb_enter (msg=0x19 <Address 0x19 out of bounds>)
    at cpufunc.h:60
No locals.
#17 0xc0551f8d in witness_warn (flags=5, lock=0x0, 
    fmt=0xc06f0332 "Kernel page fault")
    at /usr/src/sys/kern/subr_witness.c:1362
	lle = (struct lock_list_entry *) 0x0
	lock1 = (struct lock_instance *) 0xc078931c
	ap = 0x19 <Address 0x19 out of bounds>
	i = -1
	n = 3
	__func__ = "witness_warn"
#18 0xc0687f24 in trap (frame=
      {tf_fs = 8, tf_es = 40, tf_ds = 40, tf_edi = -1029583396, tf_esi = -1043267836, tf_ebp = -708412596, tf_isp = -708412628, tf_ebx = -1044629064, tf_edx = 0, tf_ecx = -743573820, tf_eax = 0, tf_trapno = 12, tf_err = 2, tf_eip = -1066907222, tf_cs = 32, tf_eflags = 66194, tf_esp = -1044629064, tf_ss = 0})
    at /usr/src/sys/i386/i386/trap.c:274
	td = (struct thread *) 0xc3218510
	p = (struct proc *) 0xc2bc8b04
	i = 0
	ucode = 0
	type = 12
	code = 2
	addr = -1021213424
	eva = 0
	ksi = {ksi_link = {tqe_next = 0xc0743394, tqe_prev = 0xc3218510}, 
  ksi_info = {si_signo = -1066126444, si_errno = -1066126444, si_code = 2165, 
    si_pid = -1021213260, si_uid = 3273753872, si_status = -708412732, 
    si_addr = 0x246, si_value = {sival_int = -1066126444, 
      sival_ptr = 0xc0743394}, _reason = {_fault = {_trapno = -708412720}, 
      _timer = {_timerid = -708412720, _overrun = -1021213260}, _mesgq = {
        _mqd = -708412720}, _poll = {_band = -708412720}, __spare__ = {
        __spare1__ = -708412720, __spare2__ = {-1021213260, -1068161375, 
          -1065839792, 56, -1066126444, 0, -1066566149}}}}, ksi_flags = 1706, 
  ksi_sigq = 0xc2a1cddc}
#19 0xc0679d1a in calltrap () at /usr/src/sys/i386/i386/exception.s:138
No locals.
#20 0xc06849aa in pmap_remove_all (m=0xc1bc39b8) at atomic.h:289
	pv = 0xc1d0ff04
	pmap = 0xc2a1cddc
	pte = (pt_entry_t *) 0x0
	tpte = 3250338232
#21 0xc062a525 in vm_object_page_remove (object=0xc49fd870, start=)
    at /usr/src/sys/vm/vm_object.c:1837
	p = 0xc1bc39b8
	next = 0xc1a01388
#22 0xc06259cc in vm_map_entry_delete (map=0xc2a1c208, entry=0xc31ab000)
    at /usr/src/sys/vm/vm_map.c:2275
	object = 0xc49fd870
	offidxstart = 0
	offidxend = 138
	count = 138
#23 0xc0625b64 in vm_map_delete (map=0xc2a1c208, start=3275147936, 
    end=3217031168) at /usr/src/sys/vm/vm_map.c:2372
	next = 0xc336caa0
	entry = 0xc31ab000
	first_entry = 0xc2a1c208
#24 0xc0625bca in vm_map_remove (map=0xc2a1c208, start=0, end=3217031168)
    at /usr/src/sys/vm/vm_map.c:2391
	result = -1077936128
#25 0xc0623824 in vmspace_exit (td=0xc3218510) at /usr/src/sys/vm/vm_map.c:305
	refcnt = 1
	vm = (struct vmspace *) 0xc2a1c208
	p = (struct proc *) 0xc2bc8b04
#26 0xc05175f6 in exit1 (td=0xc3218510, rv=0)
    at /usr/src/sys/kern/kern_exit.c:302
	p = (struct proc *) 0xc2bc8b04
	nq = (struct proc *) 0x0
	q = (struct proc *) 0xc27bd700
	tp = (struct tty *) 0x0
	ttyvp = (struct vnode *) 0x0
	vtmp = (struct vnode *) 0xc27bd700
	tracevp = (struct vnode *) 0xc27bd700
	tracecred = (struct ucred *) 0xc531b400
	plim = (struct plimit *) 0xc27bd700
	locked = 0
#27 0xc05171d8 in sys_exit (td=0xc3218510, uap=0x0)
    at /usr/src/sys/kern/kern_exit.c:101
No locals.
#28 0xc0688b0a in syscall (frame=
      {tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = 0, tf_esi = -1077943752, tf_ebp = -1077944008, tf_isp = -708412060, tf_ebx = 46, tf_edx = 0, tf_ecx = 0, tf_eax = 1, tf_trapno = 12, tf_err = 2, tf_eip = 137197879, tf_cs = 51, tf_eflags = 662, tf_esp = -1077944036, tf_ss = 59})
    at /usr/src/sys/i386/i386/trap.c:1006
	params = 0xbfbfe120 <Address 0xbfbfe120 out of bounds>
	callp = (struct sysent *) 0xc070b258
	td = (struct thread *) 0xc3218510
	p = (struct proc *) 0xc2bc8b04
	orig_tf_eflags = 662
	error = 0
	narg = 1
	args = {0, 140951552, 1234, 4098, -1, 0, 0, 0}
	code = 1
	ksi = {ksi_link = {tqe_next = 0xc06883ff, tqe_prev = 0xc3218510}, 
  ksi_info = {si_signo = -708412104, si_errno = 137967876, 
    si_code = 137276572, si_pid = 7, si_uid = 0, si_status = 0, 
    si_addr = 0x0, si_value = {sival_int = -708412176, 
      sival_ptr = 0xd5c67cf0}, _reason = {_fault = {_trapno = -1066882577}, 
      _timer = {_timerid = -1066882577, _overrun = -1065693464}, _mesgq = {
        _mqd = -1066882577}, _poll = {_band = -1066882577}, __spare__ = {
        __spare1__ = -1066882577, __spare2__ = {-1065693464, 0, -1066465361, 
          268, 0, -708412144, -1066933960}}}}, ksi_flags = 0, 
  ksi_sigq = 0xc3218510}
#29 0xc0679d6f in Xint0x80_syscall ()
    at /usr/src/sys/i386/i386/exception.s:191
No locals.
#30 0x00000033 in ?? ()
No symbol table info available.
(kgdb) 
--- bt.txt ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list