Re: Boot panic -CURRENT #196643

From: Kostik Belousov <kostikbel_at_gmail.com>
Date: Sun, 30 Aug 2009 01:19:31 +0300
On Sun, Aug 30, 2009 at 12:14:59AM +0200, Andreas Tobler wrote:
> Kostik Belousov wrote:
> >On Sat, Aug 29, 2009 at 11:45:22PM +0200, Andreas Tobler wrote:
> >>Kostik Belousov wrote:
> >>
> >>>Please, try this.
> >>>
> >>>diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c
> >>>index 234cde9..b0e8d3c 100644
> >>>--- a/sys/vm/vm_glue.c
> >>>+++ b/sys/vm/vm_glue.c
> >>>_at__at_ -447,6 +447,8 _at__at_ vm_thread_dispose(struct thread *td)
> >>>	pages = td->td_kstack_pages;
> >>>	ksobj = td->td_kstack_obj;
> >>>	ks = td->td_kstack;
> >>>+	td->td_kstack = 0;
> >>>+	td->td_kstack_pages = 0;
> >>>	if (pages == KSTACK_PAGES && kstacks <= kstack_cache_size) {
> >>>		ks_ce = (struct kstack_cache_entry *)ks;
> >>>		ks_ce->ksobj = ksobj;
> >>>_at__at_ -457,8 +459,6 _at__at_ vm_thread_dispose(struct thread *td)
> >>>		return;
> >>>	}
> >>>	vm_thread_stack_dispose(ksobj, ks, pages);
> >>>-	td->td_kstack = 0;
> >>>-	td->td_kstack_pages = 0;
> >>>}
> >>>
> >>>static void
> >>panic: Assertion td->td_lock == TDQ_LOCKPTR(tdq) failed ... 
> >>sched_ule.c:1878
> >>cpuid = 1
> >>KDB: enter: panic
> >>[thread pid 0 tid 100073 ]
> >>Stopped at 	kdb_enter+0x3a: movl	$0,kdb_why
> >>
> >>As you see I managed to reboot my zfs root ;)
> >
> >Fair enough.
> >
> >I reverted the change for now, HEAD must be kept in the working state,
> >esp. during the release.
> >
> >My apologies for the breakage, r196648 should return the world
> >to less broken state.
> 
> 
> Np. Thank you for helping here!
> 
> FreeBSD 9.0-CURRENT (TC) #3 r196648M: Sun Aug 30 00:02:14 CEST 2009
> 
> Boots again and the rev in the line above is back.

The (hopefully) fixed version of the change is at
http://people.freebsd.org/~kib/misc/altkstacks.3.patch

Received on Sat Aug 29 2009 - 20:19:53 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:54 UTC