Re: (CTRL-C to abort) flood when core dumps

From: Alexander Best <alexbestms_at_math.uni-muenster.de>
Date: Thu, 16 Jul 2009 09:49:50 +0200 (CEST)
i just triggered another panic on purpose to see if a keystroke e.g. causes
the warning during core dump. since i'm using a usb keyboard keystrokes don't
do anything since only ps2 keyboards work after a panic. that's actually the
reason i disabled switching to the debugger after a panic because i'm not able
to use my keyboard inside the debugger.

anyway...i wasn't able to reproduce the problem. since i don't have any device
connected to my ps2 port i don't know what caused the "(CTRL-C to
abort)"-warning. i have the textdump of both the panic where the warning
floods the console and a texdump where it doesn't. the panic should be the
same. here they are:

FreeBSD otaku 8.0-BETA2 FreeBSD 8.0-BETA2 #4 r195712M: Wed Jul 15 22:31:17
CEST 2009     root_at_otaku:/usr/obj/usr/src/sys/ARUNDEL  i386

panic: vm_page_dirty: page is invalid!

GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...

Unread portion of the kernel message buffer:
panic: vm_page_dirty: page is invalid!
cpuid = 1
KDB: stack backtrace:
db_trace_self_wrapper(c07d8831,e8723a48,c05ca649,c07fb1c6,1,...) at
db_trace_self_wrapper+0x26
kdb_backtrace(c07fb1c6,1,c07f35ff,e8723a54,1,...) at kdb_backtrace+0x29
panic(c07f35ff,e8723a7c,c076870b,c1d1d370,e6338000,...) at panic+0x119
vm_page_dirty(c1d1d370,e6338000,c07fbb44,99f,e6338000,...) at
vm_page_dirty+0x42
pmap_remove_pte(e8723ac0,4,c07fbb44,9bf,c0a214e0,...) at pmap_remove_pte+0xbb
pmap_remove_page(c0a214e0,0,c07fbb44,9df,c0a214e0,...) at
pmap_remove_page+0x94
pmap_remove(c0a214e0,e6338000,e6339000,c07f241b,e8723b24,...) at
pmap_remove+0xb2
vm_map_delete(c1c90000,e6338000,e6339000,c80e1d90,fffffffc,...) at
vm_map_delete+0x18c
vm_map_remove(c1c90000,e6338000,e6339000,c156b9a0,c80e1d90,...) at
vm_map_remove+0x55
rtR0MemObjNativeFree(c80e1d90,c1577b20,0,e8723bac,c156dee4,...) at
rtR0MemObjNativeFree+0xae
RTR0MemObjFree(c80e1d90,1,0,e8723bd4,c15621e7,...) at RTR0MemObjFree+0xe2
supdrvGipDestroy(c8171a50,c7cbabc0,c7cbabc0,e8723bf4,c155c136,...) at
supdrvGipDestroy+0x4c
supdrvDeleteDevExt(c1577b20,c8160620,0,c7cbabc0,c7cbabc0,...) at
supdrvDeleteDevExt+0x97
VBoxDrvFreeBSDModuleEvent(c7cbabc0,1,0,109,0,...) at
VBoxDrvFreeBSDModuleEvent+0xe6
module_unload(c7cbabc0,c07d21c1,273,270,c05af1d6,...) at module_unload+0x43
linker_file_unload(c7d01b00,0,c07d21c1,437,e8723d38,...) at
linker_file_unload+0x15e
kern_kldunload(c8a3dd80,c,0,e8723d2c,c076c426,...) at kern_kldunload+0xc5
kldunloadf(c8a3dd80,e8723cf8,8,c07dc8d2,c,...) at kldunloadf+0x2b
syscall(e8723d38) at syscall+0x2a6
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (444, FreeBSD ELF32, kldunloadf), eip = 0x280d37eb, esp =
0xbfbfe41c, ebp = 0xbfbfec68 ---
Uptime: 4m17s
Physical memory: 2026 MB
Dumping 155 MB:usbd_transfer_poll: USB polling is not supported!
 (CTRL-C to abort)  (CTRL-C to abort)  (CTRL-C to abort)  (CTRL-C to abort)
 (CTRL-C to abort)  (CTRL-C to abort) <-- repeated so many times that ee takes
 ~ 1 minute to get to the end of the line

and here's the same panic but without the "(CTRL-C to abort)"-warning:

panic: vm_page_dirty: page is invalid!

GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...

Unread portion of the kernel message buffer:
panic: vm_page_dirty: page is invalid!
cpuid = 0
KDB: stack backtrace:
db_trace_self_wrapper(c07d8831,e9b42a48,c05ca649,c07fb1c6,0,...) at
db_trace_self_wrapper+0x26
kdb_backtrace(c07fb1c6,0,c07f35ff,e9b42a54,0,...) at kdb_backtrace+0x29
panic(c07f35ff,e9b42a7c,c076870b,c22bab98,e7abf000,...) at panic+0x119
vm_page_dirty(c22bab98,e7abf000,c07fbb44,99f,e7abf000,...) at
vm_page_dirty+0x42
pmap_remove_pte(e9b42ac0,4,c07fbb44,9bf,c0a214e0,...) at pmap_remove_pte+0xbb
pmap_remove_page(c0a214e0,0,c07fbb44,9df,c0a214e0,...) at
pmap_remove_page+0x94
pmap_remove(c0a214e0,e7abf000,e7ac0000,c07f241b,e9b42b24,...) at
pmap_remove+0xb2
vm_map_delete(c1090000,e7abf000,e7ac0000,ca853d10,fffffffc,...) at
vm_map_delete+0x18c
vm_map_remove(c1090000,e7abf000,e7ac0000,c7d539a0,ca853d10,...) at
vm_map_remove+0x55
rtR0MemObjNativeFree(ca853d10,c7d5fb20,0,e9b42bac,c7d55ee4,...) at
rtR0MemObjNativeFree+0xae
RTR0MemObjFree(ca853d10,1,0,e9b42bd4,c7d4a1e7,...) at RTR0MemObjFree+0xe2
supdrvGipDestroy(c7b7c290,cb430700,cb430700,e9b42bf4,c7d44136,...) at
supdrvGipDestroy+0x4c
supdrvDeleteDevExt(c7d5fb20,ca6f23c0,0,cb430700,cb430700,...) at
supdrvDeleteDevExt+0x97
VBoxDrvFreeBSDModuleEvent(cb430700,1,0,109,0,...) at
VBoxDrvFreeBSDModuleEvent+0xe6
module_unload(cb430700,c07d21c1,273,270,c05af1d6,...) at module_unload+0x43
linker_file_unload(cde68100,0,c07d21c1,437,e9b42d38,...) at
linker_file_unload+0x15e
kern_kldunload(c8b26b40,b,0,e9b42d2c,c076c426,...) at kern_kldunload+0xc5
kldunloadf(c8b26b40,e9b42cf8,8,c07dc8d2,c,...) at kldunloadf+0x2b
syscall(e9b42d38) at syscall+0x2a6
Xint0x80_syscall() at Xint0x80_syscall+0x20
--- syscall (444, FreeBSD ELF32, kldunloadf), eip = 0x280d37eb, esp =
0xbfbfe41c, ebp = 0xbfbfec68 ---
Uptime: 9h4m48s
Physical memory: 2038 MB
Dumping 270 MB:usbd_transfer_poll: USB polling is not supported!
 255 239 223 207 191 175 159 143 127 111 95 79 63 47 31 15

since this might be a problem with the at keyboard controller here's my
device.hints:

hint.fdc.0.at="isa"
hint.fdc.0.port="0x3F0"
hint.fdc.0.irq="6"
hint.fdc.0.drq="2"
hint.fd.0.at="fdc0"
hint.fd.0.drive="0"
hint.fd.1.at="fdc0"
hint.fd.1.drive="1"
hint.ata.0.at="isa"
hint.ata.0.port="0x1F0"
hint.ata.0.irq="14"
hint.ata.1.at="isa"
hint.ata.1.port="0x170"
hint.ata.1.irq="15"
hint.atkbdc.0.at="isa"
hint.atkbdc.0.port="0x060"
hint.atkbd.0.at="atkbdc"
hint.atkbd.0.irq="1"
hint.psm.0.at="atkbdc"
hint.psm.0.irq="12"
hint.sc.0.at="isa"
hint.sc.0.flags="0x100"
hint.apm.0.disabled="1"
hint.apm.0.flags="0x20"
hint.uart.0.at="isa"
hint.uart.0.port="0x3F8"
hint.uart.0.flags="0x10"
hint.uart.0.irq="4"
hint.uart.1.at="isa"
hint.uart.1.port="0x2F8"
hint.uart.1.irq="3"
hint.ppc.0.at="isa"
hint.ppc.0.irq="7"
hint.atrtc.0.at="isa"
hint.atrtc.0.port="0x70"
#hint.atrtc.0.irq="8"
hint.atkbd.0.flags="1"

my kernel doesn't contain any ps2 or at device/controllers.

alex

Robert Watson schrieb am 2009-07-16:
> On Wed, 15 Jul 2009, Alexander Best wrote:

> >when debug.debugger_on_panic is 0, a panic occurs and the core
> >dumps the console gets flooded with the following notice:

> >(CTRL-C to abort)

> >could we please output the warning only once? or every 10 seconds
> >or so?

> Normally that message is printed only when a key other than ctrl-c
> is hit during the dump.  It's certainly possible to rate-limit the
> message, or just limit it to printing once, but the more interesting
> question is why the kernel thinks a key is (effectively) held down
> such that it needs to print repeatedly.  Could you tell us a bit
> more about your configuration -- ps/2 / usb / serial console?  Mouse
> of some sort?  Virtual machine or real machine? Any other problems
> with keyboards during normal operation?  Any chance a key is being
> held down?

> Robert N M Watson
> Computer Laboratory
> University of Cambridge
Received on Thu Jul 16 2009 - 05:50:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:52 UTC