Recent tty changes and snp

From: Dan Nelson <dnelson_at_allantgroup.com>
Date: Fri, 11 Jun 2004 14:48:09 -0500
I think the snp device got left out of the recent struct tty changes; I
get the following panic when running "watch -W /dev/sometty" and typing
a character.  Read-only watching a tty also causes a panic when I start
typing on the real tty.

Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 00
fault virtual address   = 0xc
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc05bd22f
stack pointer           = 0x10:0xdec1fb44
frame pointer           = 0x10:0xdec1fb54
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         = 1477 (getty)
trap number             = 12
panic: page fault
cpuid = 1;
---
#0  doadump () at ../../../kern/kern_shutdown.c:237
#1  0xc0586198 in boot (howto=260) at ../../../kern/kern_shutdown.c:370
#2  0xc0586821 in panic (fmt=0xc07437b7 "%s") at ../../../kern/kern_shutdown.c:548
#3  0xc070ab90 in trap_fatal (frame=0xdec1fb04, eva=0) at ../../../i386/i386/trap.c:815
#4  0xc070a89a in trap_pfault (frame=0xdec1fb04, usermode=0, eva=12) at ../../../i386/i386/trap.c:733
#5  0xc070a4b5 in trap (frame={tf_fs = 24, tf_es = -1065549808, tf_ds = 16, tf_edi = -1065569536, tf_esi = -1036449536, tf_ebp = -557712556, tf_isp = -557712592, tf_ebx = -1036449536, tf_edx = 0, tf_ecx = -1036278784, tf_eax = -557712256, tf_trapno = 12, tf_err = 0, tf_eip = -1067724241, tf_cs = 8, tf_eflags = 66182, tf_esp = -1036278784, tf_ss = -557712256}) at ../../../i386/i386/trap.c:420
#6  0xc06f6b0a in calltrap () at {standard input}:95
#7  0xc0546f33 in spec_write (ap=0xdec1fbe4) at ../../../fs/specfs/spec_vnops.c:317
#8  0xc0546678 in spec_vnoperate (ap=0x0) at ../../../fs/specfs/spec_vnops.c:118
#9  0xc05ee07b in vn_write (fp=0xc2af1aa0, uio=0xdec1fc80, active_cred=0xc225b600, flags=0, td=0xc2b56540) at vnode_if.h:432
#10 0xc05adaec in dofilewrite (td=0xc281030c, fp=0xc2af1aa0, fd=0, buf=0x0, nbyte=2, offset=0, flags=0) at ../../../sys/file.h:245
#11 0xc05ad92d in write (td=0xc281030c, uap=0x0) at ../../../kern/sys_generic.c:337
#12 0xc070ae64 in syscall (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 1, tf_esi = -1077940375, tf_ebp = -1077940680, tf_isp = -557712012, tf_ebx = -1, tf_edx = 1, tf_ecx = 1, tf_eax = 4, tf_trapno = 22, tf_err = 2, tf_eip = 671910259, tf_cs = 31, tf_eflags = 514, tf_esp = -1077940708, tf_ss = 47}) at ../../../i386/i386/trap.c:1004
#13 0xc06f6b5f in Xint0x80_syscall () at {standard input}:137



Here's the panic/trace when typing on a watched vty:

Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 00
fault virtual address   = 0x14
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc06e5217
stack pointer           = 0x10:0xd9d53c88
frame pointer           = 0x10:0xd9d53ca4
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         = 13 (irq1: atkbd0)
trap number             = 12
---
#0  doadump () at ../../../kern/kern_shutdown.c:237
237             dumpsys(&dumper);
#0  doadump () at ../../../kern/kern_shutdown.c:237
#1  0xc0586198 in boot (howto=260) at ../../../kern/kern_shutdown.c:370
#2  0xc0586821 in panic (fmt=0xc07437b7 "%s") at ../../../kern/kern_shutdown.c:548
#3  0xc070ab90 in trap_fatal (frame=0xd9d53c48, eva=0) at ../../../i386/i386/trap.c:815
#4  0xc070a89a in trap_pfault (frame=0xd9d53c48, usermode=0, eva=20) at ../../../i386/i386/trap.c:733
#5  0xc070a4b5 in trap (frame={tf_fs = -640352232, tf_es = 16, tf_ds = 16, tf_edi = -1036627968, tf_esi = 97, tf_ebp = -640336732, tf_isp = -640336780, tf_ebx = -1036278784, tf_edx = 0, tf_ecx = -1033830912, tf_eax = 97, tf_trapno = 12, tf_err = 0, tf_eip = -1066511849, tf_cs = 8, tf_eflags = 66050, tf_esp = 97, tf_ss = -1036278784}) at ../../../i386/i386/trap.c:420
#6  0xc06f6b0a in calltrap () at {standard input}:95
#7  0xc06d735f in atkbd_intr (kbd=0x61, arg=0x0) at ../../../dev/kbd/atkbd.c:461
#8  0xc071960f in atkbd_isa_intr (arg=0x0) at ../../../isa/atkbd_isa.c:177
#9  0xc056f5fc in ithread_loop (arg=0xc225b500) at ../../../kern/kern_intr.c:557
#10 0xc056e513 in fork_exit (callout=0xc056f3b0 <ithread_loop>, arg=0x0, frame=0x0) at ../../../kern/kern_fork.c:816


-- 
	Dan Nelson
	dnelson_at_allantgroup.com
Received on Fri Jun 11 2004 - 17:48:11 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:57 UTC