Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 9 Nov 1998 09:53:09 -0800 (PST)
From:      dev@opensound.com
To:        freebsd-gnats-submit@FreeBSD.ORG
Subject:   kern/8632: Bug in vm_page_alloc_contig()
Message-ID:  <199811091753.JAA29303@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         8632
>Category:       kern
>Synopsis:       Bug in vm_page_alloc_contig()
>Confidential:   no
>Severity:       critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Nov  9 10:00:01 PST 1998
>Last-Modified:
>Originator:     Dev Mazumdar
>Organization:
4Front Technologies
>Release:        FreeBSD 3.0-RELEASE
>Environment:
FreeBSD 3.0-RELEASE
Intel P133, 32 MB RAM, 500MB FreeBSD partition
2GB IDE Harddisk, 6x CDROM, S3 Virge DX Graphics, 
SB AWE64 Sound, NE2000 network, 28.8 Modem.
>Description:
Using vm_page_alloc_contig() system call in an LKM crashes
FreeBSD 3.0 when running X Windows and a memory hogging application
like Netscape. We have created a sample LKM using the example in
/usr/share/examples/lkm/syscall. The source code for the LKM
can be obtained from ftp://ftp.4front-tech.com/ossapps/modtest.tar.gz



>How-To-Repeat:
Once you obtain this LKM, please follow the steps below:

0) extract modtest.tar in your root's home directory /root. Make sure
   OSS is turned off and isn't loaded.

1) Boot up FreeBSD 3 and don't run X Windows yet!. From the console
   type make load - this should load the LKM and print out some
   messages. Now type make unload to unload the LKM.

2) Now start X Windows, start you window manager and then from an
   Xterm WIndow start Netscape (netscape &) and now try step 1 above.
   You should have a total lockup. 

If you have the kernel debugger enabled, then follow the steps
below:

0: Start X WIndows, then switch to a Virtual console (Ctl-Alt F2)
   Log in as root, set the DISPLAY variable to localhost:0
   (in bash type: typeset -x DISPLAY=localhost:0, in csh type:
    setenv DISPLAY localhost:0)

1: Now start Netscape from the VC and you should check that it
   is displayed by switching to XWindows (type Ctl-Alt F4). Now
   switch back to the VC on (ctl-alt-F2).

2: Now type make load and you should see that the kernel has now
   crashed. We get the following output:

fault virtual address:          0x8
fault code:                     supervisor write, page not present
instruction pointer:            0x8:0xf020a8e2
stack pointer:                  0xc0: 0xf2fc0b54
frame pointer:                  0xc0: 0xf2fc0b54
code segment:                   base 0x0, limit 0xffff, type 0x1b
                                DPL 0, pres 1, def32 1, gran 1
processor flags:                interrupt enabled, resume, IOPL=3
current process:                222 (modload)
interrupt mask:                 net tty bio cam
kernel:                         type 12 trap code=0
stopped at _spc_free+0x6: movl $0, 0x8 (%eax)
ddb> trace
_spc_free(0) at _spc_free + 0x6
_swap_pager_put_pages(...) at _default_pager_put_pages + 0x56
_vm_pager_put_pages(...) at _vm_pager_put_pages + 0x22
_vm_pageout_flush(...) at _vm_pageoutflush + 0x2e
_contigmalloc1(...) at _contigmalloc1 + 0x2ad
_vm_page_alloc_contig(...) at _vm_page_alloc_contig + 0x23.
....
....

Best regards
Dev Mazumdar

For those who don't wish to download the modtest.tar.gz file from the 
FTP site, cut and past the uuencoded copy from here to a file and run 
uudecode to extract modtest.tar.gz:

----CUT HERE----
begin 644 modtest.tar.gz
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
C*:><<LHIIYQRRBFGG'+**:><<LHIIYR^$_T'"\V]>@!0```I
`
end

>Fix:
None so far!!!!
>Audit-Trail:
>Unformatted:

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



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