mutex still spinning while in DDB on UP machine
Kris Kennaway
kris at obsecurity.org
Thu Jun 9 18:38:37 GMT 2005
I've seen the following a couple of times recently on UP machines
running up-to-date current (the panic may not be important, I'm
referring to the behaviour of DDB):
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x0
fault code = supervisor write, page not present
instruction pointer = 0x20:0xc054cc77
stack pointer = 0x28:0xd4222c9c
frame pointer = 0x28:0xd4222cb4
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 37 (vnlru)
[thread pid 37 tid 100035 ]
Stopped at vnlru_free+0x87: movl %eax,0(%edx)
db> stray irq7
stray irq7
stray irq7
stray irq7
too many stray irq 7's: not logging anymore
At this point, the keyboard only works sporadically (i.e. I have to
press keys multiple times for DDB to receive the input).
show ktr shows a buffer full of:
530: UNLOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:267
529: LOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:265
528: UNLOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:267
527: LOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:265
526: UNLOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:267
525: LOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:265
524: UNLOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:267
523: LOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:265
522: UNLOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:267
521: LOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:265
520: UNLOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:267
519: LOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:265
518: UNLOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:277
517: LOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:275
516: UNLOCK (spin mutex) clk r = 0 at ../../../i386/isa/clock.c:427
515: LOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:275
514: UNLOCK (spin mutex) clk r = 0 at ../../../i386/isa/clock.c:427
513: LOCK (spin mutex) clk r = 0 at ../../../i386/isa/clock.c:422
512: UNLOCK (spin mutex) clk r = 0 at ../../../i386/isa/clock.c:427
511: LOCK (spin mutex) clk r = 0 at ../../../i386/isa/clock.c:422
510: UNLOCK (spin mutex) clk r = 0 at ../../../i386/isa/clock.c:427
509: LOCK (spin mutex) clk r = 0 at ../../../i386/isa/clock.c:422
508: UNLOCK (spin mutex) clk r = 0 at ../../../i386/isa/clock.c:427
507: LOCK (spin mutex) clk r = 0 at ../../../i386/isa/clock.c:422
506: UNLOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:267
505: LOCK (spin mutex) clk r = 0 at ../../../i386/isa/clock.c:422
504: UNLOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:267
503: LOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:265
502: UNLOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:267
501: LOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:265
500: UNLOCK (spin mutex) icu r = 0 at ../../../i386/isa/atpic.c:267
[...]
and repeated show ktr indicates that it is still logging events
(i.e. the head of the buffer is now in a different place). This
suggests that the mutex is still spinning even though the system is in
DDB.
Kris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20050609/be48c963/attachment.bin
More information about the freebsd-current
mailing list