tech-kern archive

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

Re: Sudden reboot



On 12/03/13 07:49, David Holland wrote:
On Tue, Dec 03, 2013 at 08:13:29AM +0100, Jan Danielsson wrote:
  >    I'm running netbsd-6 (a month old or so) on a Soekris net6501
  > (NetBSD/amd64), and tonight I had an unexpected reboot.
  > /var/log/messages contains:
  >
  > Dec  3 03:15:46 aria syslogd[188]: restart
  > Dec  3 03:15:46 aria /netbsd: uvm_fault(0xffffffff8071b4d8, 0x0, 1) -> e
  > Dec  3 03:15:46 aria /netbsd: fatal page fault in supervisor mode
  > Dec  3 03:15:46 aria /netbsd: trap type 6 code 0 rip ffffffff8031162f cs
  > 8 rflags 10283 cr2  60 cpl 4 rsp fffffe8004cf9b98
  > Dec  3 03:15:46 aria /netbsd: panic: trap
  > Dec  3 03:15:46 aria /netbsd: cpu1: Begin traceback...
  >
  >    Thinking back, I recall noticing that I have had unexpected reboots
  > once or twice before, but it's very rare -- been running this system for
  > a year or so.
  >
  >    The entry before syslogd restarting is simply a dhcp client renewal
  > (againt my ISP), which occured 03:14:04.
  >
  >    Trap 6 = illegal op-code? Should I start worrying about broken RAM
  > modules?

from sys/arch/x86/include/trap.h:
#define T_PAGEFLT        6      /* page fault */

and %cr2 contains 60, so in all probability it's just a null pointer
dereference.

Definitely null pointer deref - the second arg to uvm_fault is the virtual address.

        uvm_fault(0xffffffff8071b4d8, 0x0, 1) -> e


If you use objdump -d or nm -n or gdb or whatever to find the code
that's at 0xffffffff8031162f in your kernel, you'll probably get a
fairly good idea of what broke.

backtrace is always useful as well.

Nick


Home | Main Index | Thread Index | Old Index