From owner-freebsd-bugs Sat Jun 22 05:20:03 1996 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id FAA23674 for bugs-outgoing; Sat, 22 Jun 1996 05:20:03 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id FAA23664; Sat, 22 Jun 1996 05:20:01 -0700 (PDT) Resent-Date: Sat, 22 Jun 1996 05:20:01 -0700 (PDT) Resent-Message-Id: <199606221220.FAA23664@freefall.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@freefall.FreeBSD.org, hsu@clinet.fi Received: from hauki.clinet.fi (root@hauki.clinet.fi [194.100.0.1]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id FAA23114 for ; Sat, 22 Jun 1996 05:12:35 -0700 (PDT) Received: from katiska.clinet.fi (root@katiska.clinet.fi [194.100.0.4]) by hauki.clinet.fi (8.7.5/8.6.4) with ESMTP id PAA29427 for ; Sat, 22 Jun 1996 15:12:29 +0300 (EET DST) Received: (root@localhost) by katiska.clinet.fi (8.7.5/8.6.4) id PAA02472; Sat, 22 Jun 1996 15:12:27 +0300 (EET DST) Message-Id: <199606221212.PAA02472@katiska.clinet.fi> Date: Sat, 22 Jun 1996 15:12:27 +0300 (EET DST) From: Heikki Suonsivu Reply-To: hsu@clinet.fi To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: kern/1345: kernel page fault, NULL pointer dereference in exit() Sender: owner-bugs@freebsd.org X-Loop: FreeBSD.org Precedence: bulk >Number: 1345 >Category: kern >Synopsis: kernel page fault, NULL pointer dereference in exit() >Confidential: no >Severity: serious >Priority: high >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Jun 22 05:20:00 PDT 1996 >Last-Modified: >Originator: Heikki Suonsivu >Organization: Clinet, Espoo, Finland >Release: FreeBSD 2.2-CURRENT i386 >Environment: loaded news server, -current from jun 17 around 15 GMT. Jun 22 14:32:28 news /kernel: FreeBSD 2.2-CURRENT #13: Mon Jun 17 20:06:43 EET DST 1996 Jun 22 14:32:28 news /kernel: hsu@news.clinet.fi:/usr/current/src/sys/compile/CLINETNEWS Jun 22 14:32:28 news /kernel: Calibrating clock(s) relative to mc146818A clock... Jun 22 14:32:29 news /kernel: i586 clock: 119746140 Hz, i8254 clock: 1193125 Hz Jun 22 14:32:29 news /kernel: CPU: Pentium (119.75-MHz 586-class CPU) Jun 22 14:32:29 news /kernel: Origin = "GenuineIntel" Id = 0x526 Stepping=6 Jun 22 14:32:29 news /kernel: Features=0x1bf Jun 22 14:32:30 news /kernel: real memory = 50331648 (49152K bytes) Jun 22 14:32:30 news /kernel: avail memory = 47124480 (46020K bytes) Jun 22 14:32:30 news /kernel: DEVFS: ready for devices Jun 22 14:32:30 news /kernel: Probing for devices on PCI bus 0: Jun 22 14:32:30 news /kernel: chip0 rev 1 on pci0:0 Jun 22 14:32:30 news /kernel: chip1 rev 0 on pci0:7:0 Jun 22 14:32:30 news /kernel: pci0:7:1: Intel Corporation, device=0x7010, class=storage (ide) [no driver assigned] Jun 22 14:32:30 news /kernel: de0 rev 35 int a irq 10 on pci0:11 Jun 22 14:32:30 news /kernel: de0: DC21040 [10Mb/s] pass 2.3 Jun 22 14:32:30 news /kernel: de0: address 00:c0:95:ec:61:21 Jun 22 14:32:30 news /kernel: de0: enabling BNC/AUI port Jun 22 14:32:30 news /kernel: chip2 rev 2 on pci0:12 Jun 22 14:32:30 news /kernel: Probing for devices on PCI bus 1: Jun 22 14:32:30 news /kernel: ahc0 rev 0 int a irq 11 on pci1:4 Jun 22 14:32:30 news /kernel: ahc0: aic7870 Channel A, SCSI Id=7, 16 SCBs Jun 22 14:32:30 news /kernel: ahc0 waiting for scsi devices to settle Jun 22 14:32:30 news /kernel: (ahc0:0:0): "SEAGATE ST15230N 0638" type 0 fixed SCSI 2 Jun 22 14:32:30 news /kernel: sd0(ahc0:0:0): Direct-Access 4095MB (8386733 512 byte sectors) Jun 22 14:32:30 news /kernel: sd0(ahc0:0:0): with 3992 cyls, 19 heads, and an average 110 sectors/track Jun 22 14:32:30 news /kernel: (ahc0:1:0): "SEAGATE ST15230N 0638" type 0 fixed SCSI 2 Jun 22 14:32:30 news /kernel: sd1(ahc0:1:0): Direct-Access 4095MB (8386733 512 byte sectors) Jun 22 14:32:30 news /kernel: sd1(ahc0:1:0): with 3992 cyls, 19 heads, and an average 110 sectors/track Jun 22 14:32:30 news /kernel: (ahc0:2:0): "SEAGATE ST15230N 0638" type 0 fixed SCSI 2 Jun 22 14:32:30 news /kernel: sd2(ahc0:2:0): Direct-Access 4095MB (8386733 512 byte sectors) Jun 22 14:32:30 news /kernel: sd2(ahc0:2:0): with 3992 cyls, 19 heads, and an average 110 sectors/track Jun 22 14:32:31 news /kernel: (ahc0:3:0): "SEAGATE ST31200N 9348" type 0 fixed SCSI 2 Jun 22 14:32:31 news /kernel: sd3(ahc0:3:0): Direct-Access 1011MB (2072435 512 byte sectors) Jun 22 14:32:31 news /kernel: sd3(ahc0:3:0): with 2700 cyls, 9 heads, and an average 85 sectors/track Jun 22 14:32:31 news /kernel: ahc1 rev 0 int a irq 10 on pci1:5 Jun 22 14:32:31 news /kernel: ahc1: aic7870 Channel B, SCSI Id=7, 16 SCBs Jun 22 14:32:31 news /kernel: ahc1 waiting for scsi devices to settle Jun 22 14:32:31 news /kernel: (ahc1:1:0): "SEAGATE ST15230N 0298" type 0 fixed SCSI 2 Jun 22 14:32:31 news /kernel: sd7(ahc1:1:0): Direct-Access 4095MB (8386733 512 byte sectors) Jun 22 14:32:31 news /kernel: sd7(ahc1:1:0): with 3992 cyls, 19 heads, and an average 110 sectors/track Jun 22 14:32:31 news /kernel: (ahc1:2:0): "MICROP 2217-15MQ1001901 HQ30" type 0 fixed SCSI 2 Jun 22 14:32:31 news /kernel: sd8(ahc1:2:0): Direct-Access 1685MB (3450902 512 byte sectors) Jun 22 14:32:31 news /kernel: sd8(ahc1:2:0): with 2372 cyls, 15 heads, and an average 96 sectors/track Jun 22 14:32:31 news /kernel: Probing for devices on the ISA bus: Jun 22 14:32:31 news /kernel: vt0 at 0x60-0x6f irq 1 on motherboard Jun 22 14:32:31 news /kernel: vt0: et3000, 80 col, color, 8 scr, mf2-kbd, [R3.20-b24] Jun 22 14:32:31 news /kernel: ed0 not found at 0x280 Jun 22 14:32:31 news /kernel: lpt0 at 0x378-0x37f irq 7 on isa Jun 22 14:32:31 news /kernel: lpt0: Interrupt-driven port Jun 22 14:32:31 news /kernel: lp0: TCP/IP capable interface Jun 22 14:32:31 news /kernel: lpt1 not found at 0xffffffff Jun 22 14:32:31 news /kernel: sio0 at 0x3f8-0x3ff irq 4 on isa Jun 22 14:32:31 news /kernel: sio0: type 16550A Jun 22 14:32:31 news /kernel: sio1 at 0x2f8-0x2ff irq 3 on isa Jun 22 14:32:32 news /kernel: sio1: type 16550A Jun 22 14:32:32 news /kernel: cy0 not found Jun 22 14:32:32 news /kernel: bt0 not found at 0x330 Jun 22 14:32:32 news /kernel: aha0 not found at 0x330 Jun 22 14:32:32 news /kernel: wdc0 not found at 0x1f0 Jun 22 14:32:32 news /kernel: fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa Jun 22 14:32:32 news /kernel: fdc0: NEC 72065B Jun 22 14:32:32 news /kernel: fd0: 1.44MB 3.5in Jun 22 14:32:32 news /kernel: matcdc0 not found at 0x230 Jun 22 14:32:32 news /kernel: npx0 on motherboard Jun 22 14:32:32 news /kernel: npx0: INT 16 interface Jun 22 14:32:32 news /kernel: changing root device to sd0a Jun 22 14:32:32 news /kernel: DEVFS: ready to run Jun 22 14:32:32 news /kernel: WARNING: / was not properly dismounted. >Description: I think I have seen this twice already with 17 June kernel. Otherwise the kernel seems to be more stable (no vm specific panics) but I cannot be sure as holidays just started so load dropped considerably. kernel and crash dump are ftp://ftp.clinet.fi/pub/FreeBSD/crashdumps/*.89.gz hsu#news.clinet.fi Sat 3: gdb -k kernel.89 vmcore.89 GDB is free software and you are welcome to 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. GDB 4.13 (i386-unknown-freebsd), Copyright 1994 Free Software Foundation, Inc... IdlePTD 26a000 current pcb at 221684 panic: page fault #0 boot (howto=256) at ../../i386/i386/machdep.c:940 940 dumppcb.pcb_cr3 = rcr3(); (kgdb) bt #0 boot (howto=256) at ../../i386/i386/machdep.c:940 #1 0xf0117546 in panic (fmt=0xf01cbe6c "page fault") at ../../kern/subr_prf.c:127 #2 0xf01cc9da in trap_fatal (frame=0xefbffef0) at ../../i386/i386/trap.c:745 #3 0xf01cc4cc in trap_pfault (frame=0xefbffef0, usermode=0) at ../../i386/i386/trap.c:656 #4 0xf01cc19b in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = 0, tf_esi = -215522560, tf_ebp = -272629960, tf_isp = -272629992, tf_ebx = -215686656, tf_edx = 14751796, tf_ecx = -215522560, tf_eax = 0, tf_trapno = 12, tf_err = 2, tf_eip = -267337695, tf_cs = 8, tf_eflags = 66118, tf_esp = -266342168, tf_ss = -215522560}) at ../../i386/i386/trap.c:319 #5 0xf01c4271 in calltrap () #6 0xf010bde4 in exit (p=0xf3276300, uap=0xefbfff94, retval=0xefbfff84) at ../../kern/kern_exit.c:96 #7 0xf01ccc85 in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = 0, tf_esi = -1, tf_ebp = -272640756, tf_isp = -272629788, tf_ebx = 134758496, tf_edx = 0, tf_ecx = 1, tf_eax = 1, tf_trapno = 12, tf_err = 7, tf_eip = 134711469, tf_cs = 31, tf_eflags = 658, tf_esp = -272640776, tf_ss = 39}) at ../../i386/i386/trap.c:895 #8 0xf01c42c5 in Xsyscall () Cannot access memory at address 0xefbfd50c. (kgdb) up #1 0xf0117546 in panic (fmt=0xf01cbe6c "page fault") at ../../kern/subr_prf.c:127 127 boot(bootopt); (kgdb) list 122 123 #if defined(DDB) 124 if (debugger_on_panic) 125 Debugger ("panic"); 126 #endif 127 boot(bootopt); 128 } 129 130 /* 131 * Warn that a system table is full. (kgdb) up #2 0xf01cc9da in trap_fatal (frame=0xefbffef0) at ../../i386/i386/trap.c:745 745 panic(trap_msg[type]); (kgdb) up #3 0xf01cc4cc in trap_pfault (frame=0xefbffef0, usermode=0) at ../../i386/i386/trap.c:656 656 trap_fatal(frame); (kgdb) up #4 0xf01cc19b in trap (frame={tf_es = 16, tf_ds = 16, tf_edi = 0, tf_esi = -215522560, tf_ebp = -272629960, tf_isp = -272629992, tf_ebx = -215686656, tf_edx = 14751796, tf_ecx = -215522560, tf_eax = 0, tf_trapno = 12, tf_err = 2, tf_eip = -267337695, tf_cs = 8, tf_eflags = 66118, tf_esp = -266342168, tf_ss = -215522560}) at ../../i386/i386/trap.c:319 319 (void) trap_pfault(&frame, FALSE); (kgdb) up #5 0xf01c4271 in calltrap () (kgdb) up #6 0xf010bde4 in exit (p=0xf3276300, uap=0xefbfff94, retval=0xefbfff84) at ../../kern/kern_exit.c:96 96 exit1(p, W_EXITCODE(uap->rval, 0)); (kgdb) list 91 int rval; 92 } */ *uap; 93 int *retval; 94 { 95 96 exit1(p, W_EXITCODE(uap->rval, 0)); 97 /* NOTREACHED */ 98 } 99 100 /* (kgdb) print uap $1 = (struct rexit_args *) 0x0 (kgdb) print p $2 = (struct proc *) 0xf3276300 (kgdb) print *p $3 = {p_forw = 0xf024b84c, p_back = 0x0, p_list = {le_next = 0x0, le_prev = 0xf02454d8}, p_cred = 0xf31a93c0, p_fd = 0xf3074400, p_stats = 0xf7196258, p_limit = 0xf020c52c, p_vmspace = 0xf324e200, p_sigacts = 0xf7196128, p_flag = 24582, p_stat = 5 '\005', p_pad1 = "\001\001", p_pid = 14861, p_pglist = {le_next = 0x0, le_prev = 0xf32e4e34}, p_pptr = 0xf32e4e00, p_sibling = {le_next = 0x0, le_prev = 0xf32e4e48}, p_children = {lh_first = 0x0}, p_oppid = 0, p_dupfd = 0, p_estcpu = 2245, p_cpticks = 1990, p_pctcpu = 4, p_wchan = 0x0, p_wmesg = 0xf012c775 "biowait", p_swtime = 1, p_slptime = 0, p_realtimer = { it_interval = {tv_sec = 0, tv_usec = 0}, it_value = {tv_sec = 0, tv_usec = 0}}, p_rtime = {tv_sec = 0, tv_usec = 34136}, p_uticks = 2, p_sticks = 1980, p_iticks = 12, p_traceflag = 0, p_tracep = 0x0, p_siglist = 0, p_textvp = 0xf30ab500, p_lock = 0 '\000', p_pad2 = "\000\000", p_locks = 0, p_simple_locks = 0, p_hash = { le_next = 0x0, le_prev = 0xe11834}, p_sigmask = 0, p_sigignore = 4294967295, p_sigcatch = 20483, p_priority = 16 '\020', p_usrpri = 127 '\177', p_nice = 0 '\000', p_comm = "cc\000e\000\000r\000\000\000\000\000\000\000\000\000", p_pgrp = 0xf31a9380, p_sysent = 0xf01ff8c0, p_rtprio = {type = 1, prio = 0}, p_addr = 0xf7196000, p_md = {md_flags = 0, md_regs = 0xefbfffbc}, p_xstat = 0, p_acflag = 0, p_ru = 0xf3467700} (kgdb) up #7 0xf01ccc85 in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = 0, tf_esi = -1, tf_ebp = -272640756, tf_isp = -272629788, tf_ebx = 134758496, tf_edx = 0, tf_ecx = 1, tf_eax = 1, tf_trapno = 12, tf_err = 7, tf_eip = 134711469, tf_cs = 31, tf_eflags = 658, tf_esp = -272640776, tf_ss = 39}) at ../../i386/i386/trap.c:895 895 error = (*callp->sy_call)(p, args, rval); (kgdb) print p $4 = (struct proc *) 0xf3276300 (kgdb) print args $5 = {0, 1, 134328416, 134344720, 134344716, -272629828, 2, 0} (kgdb) print rval $6 = {0, 0} (kgdb) down #6 0xf010bde4 in exit (p=0xf3276300, uap=0xefbfff94, retval=0xefbfff84) at ../../kern/kern_exit.c:96 96 exit1(p, W_EXITCODE(uap->rval, 0)); (kgdb) list 91 int rval; 92 } */ *uap; 93 int *retval; 94 { 95 96 exit1(p, W_EXITCODE(uap->rval, 0)); 97 /* NOTREACHED */ 98 } 99 100 /* (kgdb) print uap $7 = (struct rexit_args *) 0x0 (kgdb) This might be a compiler optimization ghost. I'm compiling with -O. >How-To-Repeat: I do not know >Fix: I do not know. >Audit-Trail: >Unformatted: