NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
re: port-i386/53364: System crashes soon after X server is started with viadrm driver
> #7 0xc085141b in mutex_oncpu (owner=4294967280) at
> ../../../../kern/kern_mutex.c:551
i see why the fault occurs:
here owner = 0xfffffff0. that seems bogus because it should
be a pointer. and l_cpu is offset 12 in struct lwp:
413 mutex_oncpu(uintptr_t owner)
[ ... ]
416 lwp_t *l;
[ ... ]
428 l = (lwp_t *)MUTEX_OWNER(owner);
429 ci = l->l_cpu;
so that explains the 0xfffffffc fault address.
the real question is why is this invalid. it should be valid.
> #8 mutex_vector_enter (mtx=0xc370edc4) at ../../../../kern/kern_mutex.c:560
> #9 0xc0722bee in via_dmablit_grab_slot (engine=1, blitq=0xc370ed78)
> at ../../../../external/bsd/drm/dist/bsd-core/via_dmablit.c:670
> #10 via_dmablit (xfer=0xdc161eac, dev=0xc3652400) at
> ../../../../external/bsd/drm/dist/bsd-core/via_dmablit.c:723
[ ... ]
> (gdb) print blitq->dev
> $26 = (struct drm_device *) 0xc3652400
> (gdb) print blitq->cur_blit_handle
> $27 = 0
> (gdb) print blitq->done_blit_handle
BTW, you could probably use "print *blitq" here, to view the whole
structure. if you "set print pretty" first, it will be readable ;)
> Is there anything more I can provide? Thank you.
at this point, i suspect that we have a locking issue and the
first step here is normally to build a kernel with LOCKDEBUG
enabled and see what happens. it hopefully will crash earlier
and with more information about what is wrong.
thanks!
.mrg.
Home |
Main Index |
Thread Index |
Old Index