Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Jul 1999 15:20:22 -0700 (PDT)
From:      Matthew Dillon <dillon@apollo.backplane.com>
To:        "Christopher W. Banek" <unixboy@imsa.edu>
Cc:        freebsd-smp@FreeBSD.ORG
Subject:   Re: Page Fault Problems with SMP kernel in 3.2-RELEASE
Message-ID:  <199907222220.PAA88210@apollo.backplane.com>
References:   <Pine.SOL.4.02.9907221627580.22357-100000@pepsi>

next in thread | previous in thread | raw e-mail | index | archive | help
:Hi.  I am a a bit new to FreeBSD, came over from linux, but here is what
:is happening.  I installed 3.2-RELEASE and everything went fine.  I
:compilied an SMP kernel and now it page faults when ever I am doing
:something system intensive.  It happens during configure scripts, but not
:when I do a make.  But if I do a make -j2, it crashes quickly.
:
:Oh yeah, I have a GA-686LX2 with Dual PII/333 and 128MB of Ram.

    There's a good chance the problem has been fixed in FreeBSD-STABLE
    (i.e. changes made since the 3.2 release), but it's hard to tell 
    from the information you provided.

    There are two ways to get additional information:

    * Try to get the kernel to generate a kernel core dump

	This involves having a swap area that is at least as large as 
	main memory.

	Setting the dumpdev in /etc/rc.conf correctly.  If you have IDE
	disks it might be something like I show below.  Note that you
	have to be careful to specify the correct partition name.  Swap
	partitions almost always end with 'b'.

	    dumpdev="/dev/wd0b"

	Ensuring that /var/crash exists and has enough free space to hold
	the dump (at least as much space as you have main memory, plus a
	couple of megabytes more).  You can make /var/crash a softlink to
	some other partition if /var doesn't have enough space.  For example
	you can create a /usr/crash and then remove /var/crash and create
	a softlink 'ln -s /usr/crash /var/crash'.

	Once these changes are made and you reboot, the next time the machine
	crashes it should be able to generate a kernel core.  You can then
	gdb the core like this:

		cd /var/crash
		ls -la
		gdb -k kernel.0 vmcore.0		(or whatever
						the names wind up being)
		back					(to get a backtrace)

    * Recompile the kernel with the DDB option turned on.  Now when the
      kernel crashes it will drop into a DDB> prompt and you should be
      able to do a 'trace' to get a call stack backtrace from which we
      may be able to get more information.  (Then type 'panic' and hit
      return a couple of times to panic the system).

	  Recompiling the kernel for someone who has never done it before
	  can take a bit of work.


    If the problem has already been solved you will have to learn how to 
    download the latest source dist in order to recompile a new kernel.

    Take a look at the FreeBSD documentation, especially the handbook. 
    See http://www.freebsd.org/

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>

:Here is the exact error message.
:
:Fatal trap 12: page fault while in kernel mode
:mp_lock = 01000002; cpuid=1; lapic.id=01000000
:fault virtual address     = 0x2b
:fault code                = supervisor read, page not present
:instruction pointer       = 0x8:0xc01cb3ab
:stack pointer  		  = 0x10:0xc4a41e40
:frame pointer		  = 0x10:0xc4a41e4c
:code segment		  = base 0x0, limit 0xfffff, type ox1b
:		 	  = DPL 0, pres1, def32, gran 1
:processor eflags	  - interrupt enabled, resume,IOPL =  0
:current process		  = 2800 (sh)
:inturrupt mask		  = net tty bio cam <- SMP: XXX
:trap number		  = 12
:panic: page fault
:mp_lock = 01000002; cpuid = 1; lapic.id = 01000000
:boot() called on cpu#1
:
:
:Thanks for any help you guys can provide.
:Christopher Banek
:
:
:
:
:To Unsubscribe: send mail to majordomo@FreeBSD.org
:with "unsubscribe freebsd-smp" in the body of the message
:



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199907222220.PAA88210>