Port-ofppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Current port status



matthew green wrote:

>> panic: kernel diagnostic assertion "object != NULL" failed: file
>> [...]
> hmmmm.  this looks like the same "full mag" problem:
>
>                 if (__predict_true(pcg->pcg_avail > 0)) {
>                         object =
>                         pcg->pcg_objects[--pcg->pcg_avail].pcgo_va; ...
>                         KASSERT(object != NULL);

Yes, but why? It's hard to believe this is a MI problem in pools. So
probably vr(4) did something bad?


>> Mutex error: lockdebug_wantlock: locking against myself
>> 
>> lock address : 0x00000000a002b074 type     :               spin
>> initialized  : 0x0000000000329424
>> shared holds :                  0 exclusive:                  1
>> shares wanted:                  0 exclusive:                  1
>> current cpu  :                  0 last held:                  0
>> current lwp  : 0x00000000a0094840 last held: 0x00000000a0094840
>> last locked* : 0x0000000000329950 unlocked : 0x0000000000329acc
>> owner field  : 000000000000000000 wait/spin:                0/1
>
> i haven't seen this one, but i haven't pushed much.  i'll try more.
> can you find out where the 0x00329950 and 0x00329acc code points are?

329950 is after a mutex_enter() in pool_get(). And 329acc after a
mutex_exit() in the same function.

Another example has:
last locked: 32ac08  unlocked*: 32ad80
(so the star is attached to unlocked - what does it mean?).

Here the mutex_enter() and mutex_exit() were called from
pool_cache_get_slow().

-- 
Frank Wille



Home | Main Index | Thread Index | Old Index