2002-10-01 19:47:38

by Lawrence Walton

[permalink] [raw]
Subject: Oops iee1394 video1394 rmap

I just got a oops playing with a firewire camera.
I don't think a full report is nessesary, but please spank
me if not. :) And I will get it out ASAP.

All the iee1394 stuff was built as modules.


ksymoops 2.4.6 on i686 2.5.39. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.5.39/ (default)
-m /boot/System.map-2.5.39 (default)

Warning: You did not tell me where to find symbol information. I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.

3c59x: Donald Becker and others. http://www.scyld.com/network/vortex.html
kernel BUG at rmap.c:280!
invalid operand: 0000
CPU: 0
EIP: 0060:[<c01365a4>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00210246
eax: 01000000 ebx: c12327d8 ecx: 0e0ff027 edx: c12327d8
esi: 00000000 edi: 00000000 ebp: 0003c000 esp: cd823ec4
ds: 0068 es: 0068 ss: 0068
Stack: c12327d8 c646b57c 00000000 0003c000 f2ca5d40 00000000 c646b57c c12327d8
c01259fa 4015f000 4019b000 cc17b400 c031f024 c0125a83 c031f024 cc17b400
4015f000 0003c000 4015f000 cc17b400 4019b000 c031f024 c0125ade c031f024
Call Trace: [<f2ca5d40>] [<c01259fa>] [<c0125a83>] [<c0125ade>] [<c0127db5>] [<c012802d>] [<c0128087>] [<c01088db>]
Code: 0f 0b 18 01 0e c5 26 c0 8d 74 26 00 8b 6c 24 1c 8b 45 00 a9


>>EIP; c01365a4 <page_remove_rmap+54/150> <=====

>>ebx; c12327d8 <_end+ec50a4/3053492c>
>>edx; c12327d8 <_end+ec50a4/3053492c>
>>esp; cd823ec4 <_end+d4b6790/3053492c>

Trace; f2ca5d40 <[video1394]__module_license+79c/ba5>
Trace; c01259fa <zap_pte_range+13a/190>
Trace; c0125a83 <zap_pmd_range+33/50>
Trace; c0125ade <unmap_page_range+3e/60>
Trace; c0127db5 <unmap_region+55/d0>
Trace; c012802d <do_munmap+cd/f0>
Trace; c0128087 <sys_munmap+37/60>
Trace; c01088db <syscall_call+7/b>

Code; c01365a4 <page_remove_rmap+54/150>
00000000 <_EIP>:
Code; c01365a4 <page_remove_rmap+54/150> <=====
0: 0f 0b ud2a <=====
Code; c01365a6 <page_remove_rmap+56/150>
2: 18 01 sbb %al,(%ecx)
Code; c01365a8 <page_remove_rmap+58/150>
4: 0e push %cs
Code; c01365a9 <page_remove_rmap+59/150>
5: c5 26 lds (%esi),%esp
Code; c01365ab <page_remove_rmap+5b/150>
7: c0 8d 74 26 00 8b 6c rorb $0x6c,0x8b002674(%ebp)
Code; c01365b2 <page_remove_rmap+62/150>
e: 24 1c and $0x1c,%al
Code; c01365b4 <page_remove_rmap+64/150>
10: 8b 45 00 mov 0x0(%ebp),%eax
Code; c01365b7 <page_remove_rmap+67/150>
13: a9 00 00 00 00 test $0x0,%eax

kernel BUG at rmap.c:280!
invalid operand: 0000
CPU: 0
EIP: 0060:[<c01365a4>] Not tainted
EFLAGS: 00210246
eax: 01000000 ebx: c10e5e98 ecx: 05bf7027 edx: c10e5e98
esi: 00000000 edi: 00000000 ebp: 0003c000 esp: d0fd5ec4
ds: 0068 es: 0068 ss: 0068
Stack: c10e5e98 c248e57c 00000000 0003c000 f2ca5d40 00000000 c248e57c c10e5e98
c01259fa 4015f000 4019b000 d09ec400 c031f024 c0125a83 c031f024 d09ec400
4015f000 0003c000 4015f000 d09ec400 4019b000 c031f024 c0125ade c031f024
Call Trace: [<f2ca5d40>] [<c01259fa>] [<c0125a83>] [<c0125ade>] [<c0127db5>] [<c012802d>] [<c0128087>] [<c01088db>]
Code: 0f 0b 18 01 0e c5 26 c0 8d 74 26 00 8b 6c 24 1c 8b 45 00 a9


>>EIP; c01365a4 <page_remove_rmap+54/150> <=====

>>ebx; c10e5e98 <_end+d78764/3053492c>
>>edx; c10e5e98 <_end+d78764/3053492c>
>>esp; d0fd5ec4 <_end+10c68790/3053492c>

Trace; f2ca5d40 <[video1394]__module_license+79c/ba5>
Trace; c01259fa <zap_pte_range+13a/190>
Trace; c0125a83 <zap_pmd_range+33/50>
Trace; c0125ade <unmap_page_range+3e/60>
Trace; c0127db5 <unmap_region+55/d0>
Trace; c012802d <do_munmap+cd/f0>
Trace; c0128087 <sys_munmap+37/60>
Trace; c01088db <syscall_call+7/b>

Code; c01365a4 <page_remove_rmap+54/150>
00000000 <_EIP>:
Code; c01365a4 <page_remove_rmap+54/150> <=====
0: 0f 0b ud2a <=====
Code; c01365a6 <page_remove_rmap+56/150>
2: 18 01 sbb %al,(%ecx)
Code; c01365a8 <page_remove_rmap+58/150>
4: 0e push %cs
Code; c01365a9 <page_remove_rmap+59/150>
5: c5 26 lds (%esi),%esp
Code; c01365ab <page_remove_rmap+5b/150>
7: c0 8d 74 26 00 8b 6c rorb $0x6c,0x8b002674(%ebp)
Code; c01365b2 <page_remove_rmap+62/150>
e: 24 1c and $0x1c,%al
Code; c01365b4 <page_remove_rmap+64/150>
10: 8b 45 00 mov 0x0(%ebp),%eax
Code; c01365b7 <page_remove_rmap+67/150>
13: a9 00 00 00 00 test $0x0,%eax

kernel BUG at rmap.c:280!
invalid operand: 0000
CPU: 0
EIP: 0060:[<c01365a4>] Not tainted
EFLAGS: 00210246
eax: 01000000 ebx: c10e65f0 ecx: 05c26027 edx: c10e65f0
esi: 00000000 edi: 00000000 ebp: 0003c000 esp: e87bfec4
ds: 0068 es: 0068 ss: 0068
Stack: c10e65f0 dabba57c 00000000 0003c000 f2ca5d40 00000000 dabba57c c10e65f0
c01259fa 4015f000 4019b000 d77a8400 c031f024 c0125a83 c031f024 d77a8400
4015f000 0003c000 4015f000 d77a8400 4019b000 c031f024 c0125ade c031f024
Call Trace: [<f2ca5d40>] [<c01259fa>] [<c0125a83>] [<c0125ade>] [<c0127db5>] [<c012802d>] [<c0128087>] [<c01088db>]
Code: 0f 0b 18 01 0e c5 26 c0 8d 74 26 00 8b 6c 24 1c 8b 45 00 a9


>>EIP; c01365a4 <page_remove_rmap+54/150> <=====

>>ebx; c10e65f0 <_end+d78ebc/3053492c>
>>edx; c10e65f0 <_end+d78ebc/3053492c>
>>esp; e87bfec4 <_end+28452790/3053492c>

Trace; f2ca5d40 <[video1394]__module_license+79c/ba5>
Trace; c01259fa <zap_pte_range+13a/190>
Trace; c0125a83 <zap_pmd_range+33/50>
Trace; c0125ade <unmap_page_range+3e/60>
Trace; c0127db5 <unmap_region+55/d0>
Trace; c012802d <do_munmap+cd/f0>
Trace; c0128087 <sys_munmap+37/60>
Trace; c01088db <syscall_call+7/b>

Code; c01365a4 <page_remove_rmap+54/150>
00000000 <_EIP>:
Code; c01365a4 <page_remove_rmap+54/150> <=====
0: 0f 0b ud2a <=====
Code; c01365a6 <page_remove_rmap+56/150>
2: 18 01 sbb %al,(%ecx)
Code; c01365a8 <page_remove_rmap+58/150>
4: 0e push %cs
Code; c01365a9 <page_remove_rmap+59/150>
5: c5 26 lds (%esi),%esp
Code; c01365ab <page_remove_rmap+5b/150>
7: c0 8d 74 26 00 8b 6c rorb $0x6c,0x8b002674(%ebp)
Code; c01365b2 <page_remove_rmap+62/150>
e: 24 1c and $0x1c,%al
Code; c01365b4 <page_remove_rmap+64/150>
10: 8b 45 00 mov 0x0(%ebp),%eax
Code; c01365b7 <page_remove_rmap+67/150>
13: a9 00 00 00 00 test $0x0,%eax


1 warning issued. Results may not be reliable.

--
*--* Mail: [email protected]
*--* Voice: 425.739.4247
*--* Fax: 425.827.9577
*--* HTTP://www.otak-k.com/~lawrence/
--------------------------------------
- - - - - - O t a k i n c . - - - - -



2002-10-01 20:19:40

by Andrew Morton

[permalink] [raw]
Subject: Re: Oops iee1394 video1394 rmap

Lawrence Walton wrote:
>
> I just got a oops playing with a firewire camera.
> I don't think a full report is nessesary, but please spank
> me if not. :) And I will get it out ASAP.
>
> All the iee1394 stuff was built as modules.
>
> ...
> kernel BUG at rmap.c:280!

This would appear to be a page which was mapped by remap_page_range().
It's not PageReserved, and it has no reverse mapping.

I believe the right fix is to just delete the BUG check at rmap.c:280.
Could you please try that? An appropriate test would be to play with
the camera while running something which causes tons of swapout.

Rik, that's right, isn't it?

2002-10-01 20:26:28

by Rik van Riel

[permalink] [raw]
Subject: Re: Oops iee1394 video1394 rmap

On Tue, 1 Oct 2002, Andrew Morton wrote:

> This would appear to be a page which was mapped by remap_page_range().
> It's not PageReserved, and it has no reverse mapping.
>
> I believe the right fix is to just delete the BUG check at rmap.c:280.

Yes. I used to have this bugcheck in 2.4-rmap but removed it
ages ago. I have no idea why it was reintroduced in 2.5...

Rik
--
A: No.
Q: Should I include quotations after my reply?

http://www.surriel.com/ http://distro.conectiva.com/

2002-10-01 21:03:26

by Lawrence Walton

[permalink] [raw]
Subject: Re: Oops iee1394 video1394 rmap

Rik van Riel [[email protected]] wrote:
> On Tue, 1 Oct 2002, Andrew Morton wrote:
>
> > This would appear to be a page which was mapped by remap_page_range().
> > It's not PageReserved, and it has no reverse mapping.
> >
> > I believe the right fix is to just delete the BUG check at rmap.c:280.
>
> Yes. I used to have this bugcheck in 2.4-rmap but removed it
> ages ago. I have no idea why it was reintroduced in 2.5...
>
It works fine, no surprises at all, I am doing a fresh mozilla compile, burning a CD,
playing music, and the camera works great!

Here is my pitiful patch. :)

--- mm/rmap.c.org 2002-10-01 13:28:54.000000000 -0700
+++ mm/rmap.c 2002-10-01 13:29:07.000000000 -0700
@@ -277,8 +277,6 @@

pte_chain_lock(page);

- BUG_ON(page->pte.direct == 0);
-
if (PageDirect(page)) {
if (page->pte.direct == pte_paddr) {
page->pte.direct = 0;
--
*--* Mail: [email protected]
*--* Voice: 425.739.4247
*--* Fax: 425.827.9577
*--* HTTP://www.otak-k.com/~lawrence/
--------------------------------------
- - - - - - O t a k i n c . - - - - -