Current-Users archive

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

Re: try KMGUARD and debug_freecheck=1

On Mon, Mar 12, 2012 at 11:36:57PM +0000, Mindaugas Rasiukevicius wrote:
> [...]
> Also, there is another debugging facility.  Try setting debug_freecheck
> to 1 early in DDB.  I wonder if we are doing good enough job in catching
> wrong kmem_free() arguments.

This makes the whole system very slow. After running for several hours, I
freecheck_in: 0xfffffe811073c540 not out
freecheck_in: 0xfffffe81b5516a50 not out
fatal breakpoint trapfatal breakpoint trap in supervisor mode
 in supervisor mode
trap type 1 code 0 rip ffffffff80256715 cs 8 rflags 286 cr2  7f7fe9800060 cpl 0 
rsp fffffe810bf147d0
freecheck_in: 0xfffffe8110c01ea8 not out
fatal breakpoint trap in supervisor mode
                                        Stopped in pid 28522.1 (t_io) at        
netbsd:breakpoint+0x5:  leave
db{3}> tr          
breakpoint() at netbsd:breakpoint+0x5
pool_cache_put_paddr() at netbsd:pool_cache_put_paddr+0x2f
pmap_enter_ma() at netbsd:pmap_enter_ma+0x559
pmap_enter_default() at netbsd:pmap_enter_default+0x1d
uvm_fault_lower_enter() at netbsd:uvm_fault_lower_enter+0xfe
uvm_fault_internal() at netbsd:uvm_fault_internal+0xbe6
trap() at netbsd:trap+0x59c
--- trap (number 6) ---
(gdb) l *(pmap_enter_ma+0x559)
0xffffffff806126d7 is in pmap_enter_ma 
4095                    pool_cache_put(&pmap_pv_cache, old_pve);
4096            }
4097            if (new_pve != NULL) {
4098                    pool_cache_put(&pmap_pv_cache, new_pve);
4099            }
4100            if (new_pve2 != NULL) {
4101                    pool_cache_put(&pmap_pv_cache, new_pve2);
4102            }

But note the multiple freecheck_in messages: it looks like several
CPUs started failing at the same time. Just as if freecheck suddendly
started failing. So maybe freecheck's lists got corrupted ?

Manuel Bouyer <>
     NetBSD: 26 ans d'experience feront toujours la difference

Home | Main Index | Thread Index | Old Index