From owner-freebsd-stable Sat Jun 12 3:26:45 1999 Delivered-To: freebsd-stable@freebsd.org Received: from arg1.demon.co.uk (arg1.demon.co.uk [194.222.34.166]) by hub.freebsd.org (Postfix) with ESMTP id 2161C14FE1 for ; Sat, 12 Jun 1999 03:26:39 -0700 (PDT) (envelope-from arg@arg1.demon.co.uk) Received: from localhost (arg@localhost) by arg1.demon.co.uk (8.8.8/8.8.8) with SMTP id LAA00356 for ; Sat, 12 Jun 1999 11:26:33 +0100 (BST) (envelope-from arg@arg1.demon.co.uk) Date: Sat, 12 Jun 1999 11:26:33 +0100 (BST) From: Andrew Gordon X-Sender: arg@server.arg.sj.co.uk To: stable@freebsd.org Subject: Panic: Bad stack grow start/end in new stack entry [StarOffice] Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I have a reproducible panic on a 3.2-stable system ('make world' and new kernel from CTM sources about 2 days ago, though the problem was happening before then). I think I am in fact suffering from 2 different kernel bugs. This machine has most filesystems on a local disc, but has user home directories NFS-mounted from a FreeBSD 2.2.7 server. StarOffice executables are all on the local drive, but it keeps a load of files in each user's ~/Office50 directory. The first problem is that these files become corrupt very readily - I suspect mmap()/NFS interaction or similar, since the problem doesn't arise if the home directory is placed on the local drive. No panic at this stage, just corrupt files as reported by StarOffice when it is re-started. However, a couple of users have got their files corrupted in such a way that after clearing StarOffice's "corrupt file" dialog the system panics: IdlePTD 2699264 initial pcb at 22731c panicstr: Bad stack grow start/end in new stack entry panic messages: --- panic: Bad stack grow start/end in new stack entry (kgdb) where #0 boot (howto=256) at ../../kern/kern_shutdown.c:285 #1 0xc012c844 in at_shutdown ( function=0xc020b47d <__set_sysinit_set_sym_vm_mem_sys_init+529>, arg=0xc64ac600, queue=-968158528) at ../../kern/kern_shutdown.c:446 #2 0xc01c6dea in vm_map_growstack (p=0xc64ac600, addr=3210739712) at ../../vm/vm_map.c:759 #3 0xc01e8196 in grow_stack (p=0xc64ac600, sp=3210858496) at ../../i386/i386/vm_machdep.c:571 #4 0xc01e6467 in trap_pfault (frame=0xc657efbc, usermode=1, eva=3210862564) at ../../i386/i386/trap.c:808 #5 0xc01e601a in trap (frame={tf_es = 39, tf_ds = 39, tf_edi = 6, tf_esi = 6, tf_ebp = -1084104588, tf_isp = -967315484, tf_ebx = 690240016, tf_edx = 0, tf_ecx = 688696616, tf_eax = 0, tf_trapno = 12, tf_err = 6, tf_eip = 690228689, tf_cs = 31, tf_eflags = 66198, tf_esp = -1084104728, tf_ss = 39}) at ../../i386/i386/trap.c:358 #6 0x29240dd1 in ?? () #7 0x29240f42 in ?? () (kgdb) up #1 0xc012c844 in at_shutdown ( function=0xc020b47d <__set_sysinit_set_sym_vm_mem_sys_init+529>, arg=0xc64ac600, queue=-968158528) at ../../kern/kern_shutdown.c:446 446 boot(bootopt); (kgdb) up #2 0xc01c6dea in vm_map_growstack (p=0xc64ac600, addr=3210739712) at ../../vm/vm_map.c:759 759 panic ("Bad stack grow start/end in new stack entry"); (kgdb) list 754 /* Adjust the available stack space by the amount we grew. */ 755 if (rv == KERN_SUCCESS) { 756 new_stack_entry = prev_entry->next; 757 if (new_stack_entry->end != stack_entry->start || 758 new_stack_entry->start != addr) 759 panic ("Bad stack grow start/end in new stack entry"); 760 else { 761 new_stack_entry->avail_ssize = stack_entry->avail_ssize - 762 (new_stack_entry->end - 763 new_stack_entry->start); (kgdb) print new_stack_entry $1 = (struct vm_map_entry *) 0x0 (kgdb) print rv $2 = 0 (kgdb) print prev_entry $3 = (struct vm_map_entry *) 0xc6575500 (kgdb) print *prev_entry $4 = {prev = 0xc65aaa50, next = 0xc65aa7a8, start = 3210608640, end = 3210862592, avail_ssize = 1949696, object = {vm_object = 0xc65a0f68, share_map = 0xc65a0f68, sub_map = 0xc65a0f68}, offset = 0, eflags = 0 '\000', protection = 7 '\a', max_protection = 7 '\a', inheritance = 1 '\001', wired_count = 0} (kgdb) $5 = {prev = 0xc65aaa50, next = 0xc65aa7a8, start = 3210608640, end = 3210862592, avail_ssize = 1949696, object = {vm_object = 0xc65a0f68, share_map = 0xc65a0f68, sub_map = 0xc65a0f68}, offset = 0, eflags = 0 '\000', protection = 7 '\a', max_protection = 7 '\a', inheritance = 1 '\001', wired_count = 0} (kgdb) This kernel has my patch to procfs to make /proc/xx/cmdline work for StarOffice (patch as sent to the list a couple of weeks ago), but is otherwise built from standard sources. It has various kernel options for threads as required by StarOffice: machine "i386" cpu "I586_CPU" ident "ETH18" maxusers 64 options INET #InterNETworking options FFS #Berkeley Fast Filesystem options FFS_ROOT #FFS usable as root device [keep this!] options MFS #Memory Filesystem options NFS #Network Filesystem options MSDOSFS #MSDOS Filesystem options "CD9660" #ISO 9660 Filesystem options PROCFS #Process filesystem options "COMPAT_43" #Compatible with BSD 4.3 [KEEP THIS!] options SCSI_DELAY=15000 #Be pessimistic about Joe SCSI device options UCONSOLE #Allow users to grab the console options USERCONFIG #boot -c editor options SOFTUPDATES options "P1003_1B" options "_KPOSIX_PRIORITY_SCHEDULING" options "_KPOSIX_VERSION=199309L" config kernel root on wd0 controller isa0 controller pnp0 # PnP support for ISA controller pci0 controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 disk fd0 at fdc0 drive 0 controller wdc0 at isa? port "IO_WD1" bio irq 14 flags 0x80ff80ff disk wd0 at wdc0 drive 0 controller wdc1 at isa? port "IO_WD2" bio irq 15 options ATAPI #Enable ATAPI support for IDE bus options ATAPI_STATIC #Don't do it as an LKM device acd0 #IDE CD-ROM # atkbdc0 controlls both the keyboard and the PS/2 mouse controller atkbdc0 at isa? port IO_KBD tty device atkbd0 at isa? tty irq 1 device psm0 at isa? tty irq 12 device vga0 at isa? port ? conflicts # syscons is the default console driver, resembling an SCO console device sc0 at isa? tty device npx0 at isa? port IO_NPX irq 13 device sio0 at isa? port "IO_COM1" flags 0x10 tty irq 4 device sio1 at isa? port "IO_COM2" tty irq 3 device sio2 at isa? disable port "IO_COM3" tty irq 5 device sio3 at isa? disable port "IO_COM4" tty irq 9 # Parallel port device ppc0 at isa? port? tty irq 7 controller ppbus0 device lpt0 at ppbus? device ppi0 at ppbus? device fxp0 # Intel EtherExpress PRO/100B (82557, 82558) pseudo-device loop pseudo-device ether pseudo-device tun 1 pseudo-device pty 32 # KTRACE enables the system-call tracing facility ktrace(2). # This adds 4 KB bloat to your kernel, and slightly increases # the costs of each syscall. options KTRACE #kernel tracing # This provides support for System V shared memory and message queues. # options SYSVSHM options SYSVMSG # The `bpfilter' pseudo-device enables the Berkeley Packet Filter. Be # aware of the legal and administrative consequences of enabling this # option. The number of devices determines the maximum number of # simultaneous BPF clients programs runnable. pseudo-device bpfilter 4 #Berkeley packet filter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message