2.4.0-test7, and filemap_write_page...

From: Petr Vandrovec (VANDROVE@vc.cvut.cz)
Date: Thu Sep 07 2000 - 16:53:54 EST


Hi,
  I already asked this about week ago... But today I was informed
that jimbud@arborlink.com received oopses below too. It really looks
like that vmmon does something wrong, but I cannot find anything.

  Does anybody here have any idea how could happen that there is
page which has page->mapping == NULL, but filemap_write_page is
called on that page? It happens when VMware exits...

  FYI, it did not happen with 2.4.0-test8-pre1 (yet?) and I'm not
sure whether I trust -pre6 enough to upgrade.
                                Thanks,
                                            Petr Vandrovec
                                            vandrove@vc.cvut.cz
                                                                                        

Unable to handle kernel NULL pointer dereference at virtual address 0000000c
c0123e6b
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c0123e6b>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: 00000000 ebx: c12798c0 ecx: cc67dec0 edx: c12798c0
esi: 20000000 edi: cba5f780 ebp: 003ff000 esp: caa79efc
ds: 0018 es: 0018 ss: 0018
Process vmware (pid: 280, stackpage=caa79000)
Stack: c012416c cc67dec0 c12798c0 00000001 c12798c0 cba5f780 20000000 ccd1f9c0
       06000000 203ff000 20000000 caa78000 00000000 00000000 00400000 cfbfdffc
       20000000 00000000 00400000 20000000 caa77200 00000000 00000000 26000000
Call Trace: [<c012416c>] [<c0124236>] [<c0121efa>] [<c01167b5>] [<c011a349>]
[<c011a4de>] [<c010a5fb>]
Code: 8b 40 0c 52 51 8b 00 ff d0 83 c4 08 c3 90 8d b4 26 00 00 00

>>EIP; c0123e6b <filemap_write_page+b/20> <=====
Trace; c012416c <filemap_sync+2bc/370>
Trace; c0124236 <filemap_unmap+16/20>
Trace; c0121efa <exit_mmap+6a/110>
Trace; c01167b5 <mmput+15/30>
Trace; c011a349 <do_exit+a9/230>
Trace; c011a4de <sys_exit+e/10>
Trace; c010a5fb <system_call+33/38>
Code; c0123e6b <filemap_write_page+b/20>
00000000 <_EIP>:
Code; c0123e6b <filemap_write_page+b/20> <=====
   0: 8b 40 0c movl 0xc(%eax),%eax <=====
Code; c0123e6e <filemap_write_page+e/20>
   3: 52 pushl %edx
Code; c0123e6f <filemap_write_page+f/20>
   4: 51 pushl %ecx
Code; c0123e70 <filemap_write_page+10/20>
   5: 8b 00 movl (%eax),%eax
Code; c0123e72 <filemap_write_page+12/20>
   7: ff d0 call *%eax
Code; c0123e74 <filemap_write_page+14/20>
   9: 83 c4 08 addl $0x8,%esp
Code; c0123e77 <filemap_write_page+17/20>
   c: c3 ret
Code; c0123e78 <filemap_write_page+18/20>
   d: 90 nop
Code; c0123e79 <filemap_write_page+19/20>
   e: 8d b4 26 00 00 00 00 leal 0x0(%esi,1),%esi

Unable to handle kernel NULL pointer dereference at virtual address 0000000c
c0123e6b
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<c0123e6b>]
EFLAGS: 00013246
eax: 00000000 ebx: c1279b40 ecx: cc67dec0 edx: c1279b40
esi: 20000000 edi: ccd1b800 ebp: 003f6000 esp: caac1efc
ds: 0018 es: 0018 ss: 0018
Process vmware (pid: 279, stackpage=caac1000)
Stack: c012416c cc67dec0 c1279b40 00000001 c1279b40 ccd1b800 20000000 ccd1f900
       06000000 203f6000 20000000 caac0000 00000000 fffffffb 00400000 ce103fd8
       20000000 00000000 00400000 20000000 caac2200 00000000 00000000 26000000
Call Trace: [<c012416c>] [<c0124236>] [<c0121efa>] [<c01167b5>] [<c011a349>]
[<c011a4de>] [<c010a5fb>]
Code: 8b 40 0c 52 51 8b 00 ff d0 83 c4 08 c3 90 8d b4 26 00 00 00

>>EIP; c0123e6b <filemap_write_page+b/20> <=====
Trace; c012416c <filemap_sync+2bc/370>
Trace; c0124236 <filemap_unmap+16/20>
Trace; c0121efa <exit_mmap+6a/110>
Trace; c01167b5 <mmput+15/30>
Trace; c011a349 <do_exit+a9/230>
Trace; c011a4de <sys_exit+e/10>
Trace; c010a5fb <system_call+33/38>
Code; c0123e6b <filemap_write_page+b/20>
00000000 <_EIP>:
Code; c0123e6b <filemap_write_page+b/20> <=====
   0: 8b 40 0c movl 0xc(%eax),%eax <=====
Code; c0123e6e <filemap_write_page+e/20>
   3: 52 pushl %edx
Code; c0123e6f <filemap_write_page+f/20>
   4: 51 pushl %ecx
Code; c0123e70 <filemap_write_page+10/20>
   5: 8b 00 movl (%eax),%eax
Code; c0123e72 <filemap_write_page+12/20>
   7: ff d0 call *%eax
Code; c0123e74 <filemap_write_page+14/20>
   9: 83 c4 08 addl $0x8,%esp
Code; c0123e77 <filemap_write_page+17/20>
   c: c3 ret
Code; c0123e78 <filemap_write_page+18/20>
   d: 90 nop
Code; c0123e79 <filemap_write_page+19/20>
   e: 8d b4 26 00 00 00 00 leal 0x0(%esi,1),%esi

When VMware runs here, it has mmaped following things into memory. But
absolute addresses may differ between oopses above and log below.

vmware-mks:

08048000-080b5000 r-xp 00000000 03:02 490046 /usr/local/bin/vmware-mks
080b5000-080b7000 rw-p 0006c000 03:02 490046 /usr/local/bin/vmware-mks
080b7000-080e0000 rwxp 00000000 00:00 0
40000000-40012000 r-xp 00000000 03:02 621713 /lib/ld-2.1.3.so
40012000-40013000 rw-p 00011000 03:02 621713 /lib/ld-2.1.3.so
40013000-40014000 rwxp 00000000 00:00 0
40014000-40018000 rw-s 00000000 03:02 164230 /tmp/ram1 (deleted)
40018000-40019000 rw-s 04207000 03:02 164230 /tmp/ram1 (deleted)
4001b000-400b5000 r-xp 00000000 03:02 800970 /usr/X11R6/lib/libX11.so.6.1
400b5000-400bb000 rw-p 00099000 03:02 800970 /usr/X11R6/lib/libX11.so.6.1
400bb000-400bc000 rw-p 00000000 00:00 0
400bc000-400c0000 r-xp 00000000 03:02 800978 /usr/X11R6/lib/libXtst.so.6.1
400c0000-400c1000 rw-p 00003000 03:02 800978 /usr/X11R6/lib/libXtst.so.6.1
400c1000-400cb000 r-xp 00000000 03:02 800973 /usr/X11R6/lib/libXext.so.6.3
400cb000-400cd000 rw-p 00009000 03:02 800973 /usr/X11R6/lib/libXext.so.6.3
400cd000-40111000 r-xp 00000000 03:02 800977 /usr/X11R6/lib/libXt.so.6.0
40111000-40115000 rw-p 00043000 03:02 800977 /usr/X11R6/lib/libXt.so.6.0
40115000-40116000 rw-p 00000000 00:00 0
40116000-40123000 r-xp 00000000 03:02 799267 /usr/X11R6/lib/libXpm.so.4.11
40123000-40124000 rw-p 0000c000 03:02 799267 /usr/X11R6/lib/libXpm.so.4.11
40124000-40137000 r-xp 00000000 03:02 800967 /usr/X11R6/lib/libICE.so.6.3
40137000-40138000 rw-p 00012000 03:02 800967 /usr/X11R6/lib/libICE.so.6.3
40138000-4013a000 rw-p 00000000 00:00 0
4013a000-40141000 r-xp 00000000 03:02 800969 /usr/X11R6/lib/libSM.so.6.0
40141000-40143000 rw-p 00006000 03:02 800969 /usr/X11R6/lib/libSM.so.6.0
40143000-40218000 r-xp 00000000 03:02 621950 /lib/libc-2.1.3.so
40218000-4021c000 rw-p 000d4000 03:02 621950 /lib/libc-2.1.3.so
4021c000-40220000 rw-p 00000000 00:00 0
40220000-41220000 rw-s e8000000 03:02 181130 /dev/mem
41220000-41260000 rw-s 04107000 03:02 164230 /tmp/ram1 (deleted)
41260000-41280000 rw-s 000a0000 03:02 181130 /dev/mem
41280000-412c1000 rw-p 00000000 00:00 0
412c1000-41318000 rw-s 00000000 00:01 3 /.IPC_064d8003
41318000-413d8000 rw-s 00000000 00:01 4 /.IPC_064e0004
413d8000-41418000 rw-s 041c7000 03:02 164230 /tmp/ram1 (deleted)
bfffb000-c0000000 rwxp ffffc000 00:00 0

vmware:

08048000-080e3000 r-xp 00000000 03:02 490029 /usr/local/bin/vmware
080e3000-080e6000 rw-p 0009a000 03:02 490029 /usr/local/bin/vmware
080e6000-08164000 rwxp 00000000 00:00 0
20000000-24000000 rw-s 00010000 03:02 164230 /tmp/ram1 (deleted)
40000000-40012000 r-xp 00000000 03:02 621713 /lib/ld-2.1.3.so
40012000-40013000 rw-p 00011000 03:02 621713 /lib/ld-2.1.3.so
40013000-40014000 rwxp 00000000 00:00 0
40014000-40018000 rw-s 00000000 03:02 164230 /tmp/ram1 (deleted)
40018000-4001a000 rw-s 04060000 03:02 164230 /tmp/ram1 (deleted)
4001b000-40037000 r-xp 00000000 03:02 622990 /lib/libm-2.1.3.so
40037000-40038000 rw-p 0001b000 03:02 622990 /lib/libm-2.1.3.so
40038000-4003a000 r-xp 00000000 03:02 622989 /lib/libdl-2.1.3.so
4003a000-4003c000 rw-p 00001000 03:02 622989 /lib/libdl-2.1.3.so
4003c000-40111000 r-xp 00000000 03:02 621950 /lib/libc-2.1.3.so
40111000-40115000 rw-p 000d4000 03:02 621950 /lib/libc-2.1.3.so
40115000-40119000 rw-p 00000000 00:00 0
40119000-40121000 r-xp 00000000 03:02 623003 /lib/libnss_files-2.1.3.so
40121000-40122000 rw-p 00007000 03:02 623003 /lib/libnss_files-2.1.3.so
40122000-4012e000 r-xs 00004000 03:02 164230 /tmp/ram1 (deleted)
4012e000-4017e000 rw-s 04010000 03:02 164230 /tmp/ram1 (deleted)
4017e000-40207000 r-xs 04062000 03:02 164230 /tmp/ram1 (deleted)
40207000-4021b000 rw-s 040eb000 03:02 164230 /tmp/ram1 (deleted)
bfff6000-c0000000 rwxp ffff7000 00:00 0
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Sep 07 2000 - 21:00:31 EST