Subject: Re: 1.4 panic
To: Port-i386 <port-i386@NetBSD.ORG>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: port-i386
Date: 05/14/1999 15:06:26
On Fri, May 14, 1999 at 12:21:22AM +0300, Jukka Marin wrote:
> Building KDE on my laptop, got a panic:
> 
> uvm_fault(0xf3f6fe78, 0x0, 0, 1) -> 1
> kernel: page fault trap, code=0
> Stopped in top at    _fill_eproc+0x26:    repe movsl  (%esi),%es:(%edi)
> db> trace
> _fill_eproc(f0576288,f3fa0d20,0,2c000,f3fa0f10) at _fill_eproc+0x26
> _sysctl_doproc(f3fa0f14,2,2c000,f3fa0f08,f03a2198) at _sysctl_doproc+0x141
> _kern_sysctl(....) at _kern_sysctl+0x28c
> _sys___sysctl(.....) at _sys___sysctl+0x1e6
> _syscall() at _syscall+0x20e
> --- syscall (number 202) ---
> 
> This happened while running the stock 1.4 binaries and kernel.  Typed
> in manually, so typos are likely..
> 
> What does this mean? ;-)

From my kernel (Hoping this will match yours):
(gdb) list *(fill_eproc+0x26)
0xf011b2d6 is in fill_eproc (../../../../kern/kern_sysctl.c:783).
778     {
779             register struct tty *tp;
780     
781             ep->e_paddr = p;
782             ep->e_sess = p->p_pgrp->pg_session;
783             ep->e_pcred = *p->p_cred;
784             ep->e_ucred = *p->p_ucred;
785             if (p->p_stat == SIDL || p->p_stat == SZOMB) {
786                     ep->e_vm.vm_rssize = 0;
787                     ep->e_vm.vm_tsize = 0;

This would mean that either ep, p or *p->p_cred caused a fault
(invalid pointer), most likely is *p->p_cred.
That's all what I can say. Is it valid for a process to have an invalid
p->p_cred ? Kernel threads, maybe ?

Did you get a core dump from this ?

--
Manuel Bouyer <bouyer@antioche.eu.org>
--