Subject: Re: kern/3249: More vm woes
To: Lennart Augustsson <augustss@cs.chalmers.se>
From: Jason Thorpe <thorpej@nas.nasa.gov>
List: netbsd-bugs
Date: 02/24/1997 18:17:38
On Tue, 25 Feb 1997 01:50:13 +0100 (MET) 
 Lennart Augustsson <augustss@cs.chalmers.se> wrote:

 > Thanks for coming up with a quick fix.  Unfortunately I still
 > have the same problem.  I just ran sup and now have this vm_object.c:
 > /*      $NetBSD: vm_object.c,v 1.44 1997/02/24 22:19:26 thorpej Exp $   */
 > 
 > I get exactly the same problem with tar as before.
 > 
 >         -- Lennart

Ok, I am able to reproduce this locally now... "hmm"...

lestat (root) /sys/arch/sparc/compile/Lestat 101% gdb -k netbsd.gdb /dev/mem
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.11 (sparc-netbsd), Copyright 1993 Free Software Foundation, Inc...
switch () at ../../../../kern/kern_synch.c:614
614             cpu_switch(p);
(kgdb) proc 0xf862a200
(kgdb) bt
#0  mi_switch () at ../../../../kern/kern_synch.c:614
#1  0xf802cb74 in bpendtsleep ()
#2  0xf80c660c in thread_sleep_msg (event=0xf8129f68, lock=0xf8131b5c, 
    ruptible=0, msg=0xf80cd310 "thrd_sleep") at ../../../../vm/vm_glue.c:584
#3  0xf80cd438 in vm_pageout () at ../../../../vm/vm_pageout.c:547
#4  0xf801e918 in start_pagedaemon (p=0xf862a200)
    at ../../../../kern/init_main.c:555
(kgdb) list vm_pageout.c:547
542              *      forever.
543              */
544     
545             simple_lock(&vm_pages_needed_lock);
546             while (TRUE) {
547                     thread_sleep(&vm_pages_needed, &vm_pages_needed_lock,
                            FALSE);
548                     /*
549                      * Compute the inactive target for this scan.
550                      * We need to keep a reasonable amount of memory in the
551                      * inactive list to better simulate LRU behavior.


So, that's normal... pagedaemon is not "wedged".

Using DDB, I got the proc * for the tar process that's hung in "thrd_sleep"

(kgdb) proc 0xf873a600
(kgdb) bt
#0  mi_switch () at ../../../../kern/kern_synch.c:614
#1  0xf802cb74 in bpendtsleep ()
#2  0xf80c660c in thread_sleep_msg (event=0xf8645a04, lock=0xf8645a04, 
    ruptible=0, msg=0xf80c3080 "thrd_sleep") at ../../../../vm/vm_glue.c:584
#3  0xf80c334c in lock_read (l=0xf8645a04) at ../../../../vm/kern_lock.c:297
#4  0xf80c933c in vm_map_lookup (var_map=0xf9d91c14, vaddr=0, fault_type=1, 
    out_entry=0xf9d91bc4, object=0xf9d91bc0, offset=0xf9d91bbc, 
    out_prot=0xf9d91bb8, wired=0xf9d91bb4, single_use=0xf9d91bb0)
    at ../../../../vm/vm_map.c:2306
#5  0xf80c4a84 in vm_fault (map=0xf8645a00, vaddr=0, fault_type=1, 
    change_wiring=0) at ../../../../vm/vm_fault.c:170
#6  0xf80eefc4 in mem_access_fault (type=4167326208, ser=128, v=24, 
    pc=-133385004, psr=289407175, tf=0xf9d91cd8)
    at ../../../../arch/sparc/sparc/trap.c:708

Jason R. Thorpe                                       thorpej@nas.nasa.gov
NASA Ames Research Center                               Home: 408.866.1912
NAS: M/S 258-6                                          Work: 415.604.0935
Moffett Field, CA 94035                                Pager: 415.428.6939