NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/38782: Panic at uvm_swap_markbad when starting Xorg



The following reply was made to PR kern/38782; it has been noted by GNATS.

From: Adam Hoka <adam.hoka%gmail.com@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: Mindaugas Rasiukevicius <rmind%NetBSD.org@localhost>
Subject: Re: kern/38782: Panic at uvm_swap_markbad when starting Xorg
Date: Thu, 29 May 2008 14:02:45 +0200

 Mindaugas Rasiukevicius wrote:
 
 > Adam Hoka <adam.hoka%gmail.com@localhost> wrote:
 > > >  - Can you reproduce this with debugging options enabled?
 > > I will try, is DEBUG and -g sufficent?
 > 
 > Yes, and usually DIAGNOSTIC.
 > 
 > > $ sudo vmstat -s -M
 > > netbsd.0.core 4096 bytes per page
 > > ...
 > 
 > Seems to be swapping a lot.
 
 The exact way to reproduce was to start X (Xfce4), start some heavy apps, 
close them, return to tty and start X again.
 
 # gdb /tnf/build/obj/sys/arch/i386/compile/LOCALDEBUG/netbsd.                  
                        
 netbsd.gdb  netbsd.map  
 ld/obj/sys/arch/i386/compile/LOCALDEBUG/netbsd.gdb                             
                                            <
 GNU gdb 6.5
 Copyright (C) 2006 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you are
 welcome to change it and/or 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.
 This GDB was configured as "i386--netbsdelf"...
 (gdb) target kvm netbsd.1.core
 #0  cpu_reboot (howto=256, bootstr=0x0) at 
/tnf/src/sys/arch/i386/i386/machdep.c:894
 894            doshutdownhooks();
 (gdb) bt full
 #0  cpu_reboot (howto=256, bootstr=0x0) at 
/tnf/src/sys/arch/i386/i386/machdep.c:894
 No locals.
 #1  0xc01e8032 in db_sync_cmd (addr=-1048243712, have_addr=false, 
count=-855283520, 
     modif=0xcd056880 
"@���I�I̸h\005���9�@����h\005�") at 
/tnf/src/sys/ddb/db_command.c:1359
 No locals.
 #2  0xc01e78d7 in db_command (last_cmdp=0xc0c14340) at 
/tnf/src/sys/ddb/db_command.c:921
        command = (const struct db_command *) 0xc0995b64
        list_ent = (struct db_cmd_tbl_en *) 0xc0c14308
        list = (struct db_cmd_tbl_en_head *) 0xc0c14300
        t = 3
        result = 0
        modif = 
"@���I�I̸h\005���9�@����h\005�\000\000\000\000\001\000\000\000@���\002\000\000\000�h\005��\230\036�\r\000\000\r�����h\005��ke�\000/\000\000�����h\005���\036�\n\000\000\000\r\000\000\000�h\005ͫ\230\036�\n\000\000\000\234j\005�\030i\005�h\231\036��\177���\177��"
        addr = -1048243712
        count = -855283520
        have_addr = false
        last_count = -855283520
 #3  0xc01e715b in db_command_loop () at /tnf/src/sys/ddb/db_command.c:566
        db_jmpbuf = {val = {-867587255, -855283428, -855283384, 1, -855283044, 
-1071746804}}
        savejmp = (label_t *) 0x0
 #4  0xc01eb5c4 in db_trap (type=6, code=0) at /tnf/src/sys/ddb/db_trap.c:101
        bkpt = false
        watchpt = false
 #5  0xc064b4a5 in kdb_trap (type=6, code=0, regs=0xcd056ae4) at 
/tnf/src/sys/arch/i386/i386/db_interface.c:233
        s = 0
        flags = 0
        dbreg = {tf_gs = 16, tf_fs = 48, tf_es = 16, tf_ds = 16, tf_edi = 
-855282620, tf_esi = 134966084, 
   tf_ebp = -855282884, tf_ebx = 0, tf_edx = 1, tf_ecx = -855448384, tf_eax = 
0, tf_trapno = 6, tf_err = 0, 
   tf_eip = -1068626997, tf_cs = 8, tf_eflags = 78487, tf_esp = -855282908, 
tf_ss = 16, tf_vm86_es = 1, 
   tf_vm86_ds = -873043160, tf_vm86_fs = -873043160, tf_vm86_gs = 0}
 ---Type <return> to continue, or q <return> to quit---
 #6  0xc0655580 in trap (frame=0xcd056ae4) at 
/tnf/src/sys/arch/i386/i386/trap.c:346
        l = (struct lwp *) 0xcd02e4c0
        p = (struct proc *) 0xcc49a9e0
        type = 6
        pcb = (struct pcb *) 0xcd056da0
        vframe = (struct trapframe *) 0xcd056acc
        ksi = {ksi_flags = 1, ksi_list = {cqe_next = 0x0, cqe_prev = 0x0}, 
ksi_info = {_signo = 0, _code = 1, _errno = 0, 
     _reason = {_rt = {_pid = 36, _uid = 6, _value = {sival_int = 0, sival_ptr 
= 0x0}}, _child = {_pid = 36, _uid = 6, 
         _status = 0, _utime = 0, _stime = 0}, _fault = {_addr = 0x24, _trap = 
6}, _poll = {_band = 36, _fd = 6}}}, 
   ksi_lid = 0}
        resume = -1067825294
        onfault = (void *) 0x0
        error = 14
        cr2 = 36
        pfail = 192
 #7  0xc010cf1f in calltrap ()
 No symbol table info available.
 #8  0xc04e0bcb in uvm_swap_markbad (startslot=778854656, nslots=1) at 
/tnf/src/sys/uvm/uvm_swap.c:1590
        sdp = (struct swapdev *) 0x0
 #9  0xc04c6073 in uao_get (uobj=0xcbf66b28, offset=0, pps=0xcd056c04, 
npagesp=0xcd056c44, centeridx=0, access_type=3, 
     advice=2, flags=18) at /tnf/src/sys/uvm/uvm_aobj.c:1199
        error = 22
        aobj = (struct uvm_aobj *) 0xcbf66b28
        current_offset = 4096
        ptmp = (struct vm_page *) 0xc12d71c0
        lcv = 1
        gotpages = 4
        maxpages = 16
        swslot = 778854656
        pageidx = 1
        done = false
 ---Type <return> to continue, or q <return> to quit---
 #10 0xc04d8f9f in uobj_wirepages (uobj=0xcbf66b28, start=0, end=393216) at 
/tnf/src/sys/uvm/uvm_object.c:76
        i = 259
        npages = 16
        error = 1
        pgs = {0xc12e2e9c, 0x0 <repeats 15 times>}
        pg = (struct vm_page *) 0x0
        offset = 0
        left = 96
 #11 0xc0584639 in sys_shmget (l=0xcd02e4c0, uap=0xcd056d04, retval=0xcd056cfc) 
at /tnf/src/sys/kern/sysv_shm.c:730
        shmseg = (struct shmid_ds *) 0xcbf3b000
        cred = (kauth_cred_t) 0xcc486480
        key = 0
        size = 4096
        error = 0
        mode = 0
        segnum = 0
        lockmem = true
 #12 0xc0654eae in syscall (frame=0xcd056d48) at 
/tnf/src/sys/arch/i386/i386/syscall.c:102
        callp = (const struct sysent *) 0xc0c1f674
        l = (struct lwp *) 0xcd02e4c0
        error = 0
        code = 231
        args = {0, 4096, 512, -1148132376, 2, -1146125312, -1077941404, 1, 
-1146351816, 12}
        rval = {0, 0}
 #13 0xc010056d in syscall1 ()
 
 ===============================
 
 # vmstat -s -M netbsd.1.core                                                   
                        
      4096 bytes per page
         8 page colors
    125492 pages managed
     29181 pages free
         0 pages paging
      1781 pages wired
         1 zero pages
         1 reserve pagedaemon pages
         5 reserve kernel pages
      5000 anonymous pages
     80547 cached file pages
      3226 cached executable pages
        64 minimum free pages
        85 target free pages
     41830 maximum wired pages
         1 swap devices
    131165 swap pages
         0 swap pages in use
         1 swap allocations
    378400 total faults taken
    514654 traps
    116207 device interrupts
    349015 CPU context switches
    263099 software interrupts
   2742456 system calls
         0 pagein requests
         0 pageout requests
       184 swap ins
       190 swap outs
         0 pages swapped in
         0 pages swapped out
       665 forks total
       158 forks blocked parent
       158 forks shared address space with parent
      3949 pagealloc zero wanted and avail
     65583 pagealloc zero wanted and not avail
         0 aborts of idle page zeroing
    412050 pagealloc desired color avail
      3553 pagealloc desired color not avail
         0 faults with no memory
         0 faults with no anons
         0 faults had to wait on pages
         0 faults found released page
      5686 faults relock (5675 ok)
    129209 anon page faults
         0 anon retry faults
     14638 amap copy faults
     71279 neighbour anon page faults
    301895 neighbour object page faults
     90755 locked pager get faults
      5686 unlocked pager get faults
     69149 anon faults
      7389 anon copy on write faults
     81318 object faults
      9426 promote copy faults
     61358 promote zero fill faults
       734 times daemon wokeup
       734 revolutions of the clock hand
       734 times daemon attempted swapout
    214314 pages freed by daemon
    331847 pages scanned by daemon
         0 anonymous pages scanned by daemon
    214314 object pages scanned by daemon
     14494 pages reactivated
         0 pages found busy by daemon
         0 total pending pageouts
    386383 pages deactivated
   2783035 total name lookups
   2425608 good hits
    340751 negative hits
       249 bad hits
         0 false hits
     12164 miss
      4263 too long
      7419 pass2 hits
      8764 2passes
           cache hits (87% pos + 12% neg) system 0% per-process
           deletions 0%, falsehits 0%, toolong 0%
 


Home | Main Index | Thread Index | Old Index