Subject: kernel diagnostic assertion "map->hint == prev_entry" failed
To: None <tech-kern@NetBSD.org>
From: David Young <dyoung@pobox.com>
List: tech-kern
Date: 04/04/2007 23:28:24
Here is another crash, same hardware, this time during boot:
Building databases...
panic: kernel diagnostic assertion "map->hint == prev_entry" failed: file "/u3/dyoung/pristine-nbsd/src/sys/uvm/uvm_map.c", line 1118
Stopped in pid 1359.1 (sh) at netbsd:cpu_Debugger+0x4: jr ra
bdslot: nop
db> bt
801b5c28+88c (81ff0000,d,0,0) ra 8015b280 sz 0
panic+184 (81ff0000,8024a458,80259e08,802590e0) ra 8022fb4c sz 48
__assert+2c (81ff0000,8024a458,45e,802590e0) ra 801051cc sz 32
80104e44+388 (81ff0000,8024a458,45e,802590e0) ra 0 sz 0
User-level: pid 1359.1
db> ps
PID PPID PGRP UID S FLAGS LWPS COMMAND WAIT
1020 881 13 0 2 0 1 sh
881 13 13 0 2 0 1 sh wait
>1359 1175 13 0 2 0 1 sh
878 1 878 0 2 0 1 hslsd nanoslp
1175 1 13 0 2 0 1 sh wait
1245 1 1245 0 2 0x101 1 zebra select
505 1 13 0 2 0x4000 1 route netio
13 1 13 0 2 0x4000 1 sh wait
12 0 0 0 2 0x20002 1 aiodoned aiodone
11 0 0 0 2 0x20002 1 ioflush syncer
10 0 0 0 2 0x20002 1 pagedaemon pgdaemo
9 0 0 0 2 0x20002 1 nfsio nfsidl
8 0 0 0 2 0x20002 1 nfsio nfsidl
7 0 0 0 2 0x20002 1 nfsio nfsidl
6 0 0 0 2 0x20002 1 nfsio nfsidl
5 0 0 0 2 0x20002 1 atabus0 atath
4 0 0 0 2 0x20002 1 usbtask-dr usbtsk
3 0 0 0 2 0x20002 1 usbtask-hc usbtsk
2 0 0 0 2 0x20002 1 usb0 usbevt
1 0 1 0 2 0x4000 1 init wait
0 -1 0 0 2 0x20002 1 swapper schedul
db>
GDB has this to say about the bottommost entry on the stack trace:
(gdb) l *(0x80104e44+0x388)
0x801051cc is in uvm_map_enter (/u3/dyoung/pristine-nbsd/src/sys/uvm/uvm_map.c:1410).
1405 } else {
1406 uvm_mapent_free(new_entry);
1407 }
1408 }
1409 if (dead) {
1410 KDASSERT(merged);
1411 uvm_mapent_free_merged(map, dead);
1412 }
1413 return error;
1414 }
(gdb)
Dave
--
David Young OJC Technologies
dyoung@ojctech.com Urbana, IL * (217) 278-3933