On 16-Apr-01 Peter Jeremy wrote:
> On 2001-Apr-14 18:54:28 -0700, John Baldwin <[EMAIL PROTECTED]> wrote:
>>
>>On 14-Apr-01 Peter Jeremy wrote:
>>> Is there any progress on fixing this?
>>>
>>> Peter
>>
>>It panics? I'll see if I can reproduce this on Monday. I never use
>>skipspin.
>
> A similar problem was reported here in mid-March, ending with the
> following message:
>
> On Mon, 12 Mar 2001 10:49:51 -0800 (PST), in
> <[EMAIL PROTECTED]>, John Baldwin <[EMAIL PROTECTED]> wrote:
>>Just don't use the skipspin stuff, it shouldn't hurt at all. The new witness
>>code will hopefully be in by the end of the week. *crosses fingers*
>
> I bumped into the same problem last week and couldn't find anything
> that looked like a change in the skipspin behaviour since mid-March.
>
> Having looked in more detail at the previous thread, I suspect I may
> be seeing something different. In my case, the kernel is panicing
> very early during the boot process in either line 302 or 305 of
> /sys/kern/subr_witness.c in witness_initialize():
>
> 299 /* First add in all the specified order lists. */
> 300 for (order = order_lists; order->w_name != NULL; order++) {
> 301 w = enroll(order->w_name, order->w_class);
> 302 w->w_file = "order list";
> 303 for (order++; order->w_name != NULL; order++) {
> 304 w1 = enroll(order->w_name, order->w_class);
> 305 w1->w_file = "order list";
> 306 itismychild(w, w1);
> 307 w = w1;
> 308 }
> 309 }
>
> The problem is that enroll() will return NULL for spinlocks when
> witness_skipspin is set, but the above code always assumes it
> can de-reference the result from enroll(). (There are two other
> calls to enroll() where a NULL return appears to be acceptable).
Argh, ok.
> I don't understand the mutex initialisation well enough to be able
> to readily work out the correct fix.
I'll fix it later on today.
> Peter
--
John Baldwin <[EMAIL PROTECTED]> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!" - http://www.FreeBSD.org/
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message