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).

I don't understand the mutex initialisation well enough to be able
to readily work out the correct fix.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to