On Fri, Nov 16, 2012 at 18:44 +0000, sbienddr...@googlemail.com wrote:
> As requested.
> 
> ddb{0}> uvm_fault(0xd0a50760, 0x0, 0, 1) -> e
> kernel: page fault trap, code=0
> Stopped at    db_read_bytes+0x14:    movzbl    0(%esi,%ecx,1),%eax
> ddb{0}> ddb{0}> db_read_bytes(0,1,f58ded94,0,2) at db_read_bytes+0x14
> db_get_value(0,1,0,0,f58dee84) at db_get_value+0x2e
> db_disasm(0,0,d03fa3f0,0,f58def10) at db_disasm+0x31
> db_print_loc_and_inst(0,f58dee6c,f58dee74,d03b8bdd,d0b0c5c0) at
> db_print_loc_and_inst+0x3e
> db_trap(6,0,58,0,f58deeb0) at db_trap+0x83
> kdb_trap(6,0,f58def10,1,e) at kdb_trap+0x107
> trap() at trap+0x2e7
> --- trap (number -772428976) ---
> Bad frame pointer: 0xd1f59000
> 0:
> ddb{0}> ddb{0}> syncing disks...
> 

could you please obtain the trace once again with the diff below.

Index: sys/ddb/db_access.c
===================================================================
RCS file: /home/cvs/src/sys/ddb/db_access.c,v
retrieving revision 1.10
diff -u -p -r1.10 db_access.c
--- sys/ddb/db_access.c 15 Mar 2007 17:10:22 -0000      1.10
+++ sys/ddb/db_access.c 30 Sep 2011 08:09:15 -0000
@@ -51,6 +51,9 @@ db_get_value(db_addr_t addr, size_t size
        db_expr_t value, extend;
        int i;
 
+       if (addr == 0)
+               return (0);
+
 #ifdef DIAGNOSTIC
        if (size > sizeof data)
                size = sizeof data;

Reply via email to