Subject: Re: we_re_toast: kdb_trap() in trap.c
To: None <port-i386@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: port-i386
Date: 06/22/1999 11:55:38
>> Stopped in cpp at       _sys_dup2+0x37: xorl    %esp,0x34(%edi)

> The instruction looks a little .. wierd, at least out of context.

Yeah.  I sicced gdb on the kernel and find

0xf01211a5 <sys_dup2+41>:       cmpl   $0x0,(%eax,%edi,4)
0xf01211a9 <sys_dup2+45>:       je     0xf01211d4 <sys_dup2+88>
0xf01211ab <sys_dup2+47>:       movl   0x8(%ebp),%ecx
0xf01211ae <sys_dup2+50>:       movl   0x1c(%ecx),%esi
0xf01211b1 <sys_dup2+53>:       movl   %ebx,%eax
0xf01211b3 <sys_dup2+55>:       xorl   %edx,%edx        <-- 0x37 = 55
0xf01211b5 <sys_dup2+57>:       movl   0x84(%esi),%ecx
0xf01211bb <sys_dup2+63>:       movl   %ecx,0xfffffff0(%ebp)
0xf01211be <sys_dup2+66>:       cmpl   %edx,%ecx

In raw hex,

0xf01211a4 <sys_dup2+40>:       0xb83c8301
0xf01211a8 <sys_dup2+44>:       0x8b297400
0xf01211ac <sys_dup2+48>:       0x718b084d
0xf01211b0 <sys_dup2+52>:       0x31d8891c
0xf01211b4 <sys_dup2+56>:       0x848e8bd2
0xf01211b8 <sys_dup2+60>:       0x89000000
0xf01211bc <sys_dup2+64>:       0xd139f04d

This makes no sense to me.  Given how reproducibly this sort of thing
has been happening, I'm going to poke around a bit more next time and
see if I can get a clue what's wrong.

ISTR someone recommending turning off external cache.  Is this a BIOS
thing, or do I have to do something with the kernel too?

					der Mouse

			       mouse@rodents.montreal.qc.ca
		     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B