2.6.10-rc2-mm3 [was: Re: 2.6.9-rc2: "kernel BUG at mm/rmap.c:473!"]

From: Benoit Boissinot
Date: Tue Nov 30 2004 - 10:08:30 EST


On Sun, 19 Sep 2004, Hugh Dickins wrote:
> On Sat, 18 Sep 2004, Mike Kirk wrote:
> > Not sure what this means: but the system kept running and I only lost a
> > bzip2 process: 2.6.9-rc2 w/preempt AMD 2700+ on A7N8X motherboard, 1GB
> > DDR400:
> > ==============================
> > kernel BUG at mm/rmap.c:473!
> > EIP is at page_remove_rmap+0x29/0x40
>
> Was there a "Bad page state" message and backtrace shortly before this?
> I say "shortly" because I don't suppose bzip2 had been running for hours,
> I'd expect the underlying error to have occurred while it was running.
>
> BUG_ON(page_mapcount(page) < 0);
>

I had the same BUG_ON with 2.6.10-rc2-mm3 while transcoding a video.

------------[ cut here ]------------
kernel BUG at mm/rmap.c:479!
invalid operand: 0000 [#1]
Modules linked in: radeon drm snd_seq snd_via82xx snd_ac97_codec snd_pcm snd_timer snd_page_alloc snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore ide_cd cdrom sk98lin
CPU: 0
EIP: 0060:[<c01454a4>] Not tainted VLI
EFLAGS: 00010286 (2.6.10-rc2-mm3-arakou)
EIP is at page_remove_rmap+0x34/0x40
eax: ffffffff ebx: 00007000 ecx: c03be100 edx: c17712c0
esi: cbfa60bc edi: 003ce000 ebp: c6648d78 esp: c6648d78
ds: 007b es: 007b ss: 0068
Process transcode (pid: 14505, threadinfo=c6648000 task=dac3aaa0)
Stack: c6648dac c013f2af c6648e34 c02d74dd 00000003 0000000e 3b896067 c17712c0
b2028000 c03be100 b2428000 c8027b24 b23f6000 c6648dd4 c013f439 003ce000
00000000 00000000 c0310524 c03be100 b2028000 c8027b24 b23f6000 c6648df4
Call Trace:
[<c0103b2a>] show_stack+0x7a/0x90
[<c0103cad>] show_registers+0x14d/0x1c0
[<c0103e82>] die+0xc2/0x140
[<c01042a3>] do_invalid_op+0xa3/0xb0
[<c01037e3>] error_code+0x2b/0x30
[<c013f2af>] zap_pte_range+0x13f/0x280
[<c013f439>] zap_pmd_range+0x49/0x70
[<c013f49d>] zap_pgd_range+0x3d/0x70
[<c013f4fb>] unmap_page_range+0x2b/0x40
[<c013f600>] unmap_vmas+0xf0/0x1f0
[<c014399b>] exit_mmap+0x6b/0x120
[<c0116431>] mmput+0x41/0xd0
[<c011a2db>] do_exit+0x15b/0x420
[<c011a616>] do_group_exit+0x36/0x70
[<c0122b0b>] get_signal_to_deliver+0x1bb/0x2b0
[<c0102b76>] do_signal+0x66/0x120
[<c0102c69>] do_notify_resume+0x39/0x3c
[<c0102daa>] work_notifysig+0x13/0x15
Code: 08 75 1e 83 42 08 ff 0f 98 c0 84 c0 74 11 8b 42 08 40 78 17 9c 58 fa ff 0d d0 c4 3c c0 50 9d c9 c3 0f 0b dc 01 db 95 2d c0 eb d8 <0f> 0b df 01 db 95 2d c0 eb df 89 f6 55 89 e5 83 ec 18 89 5d f4
BUG: atomic counter underflow at:
[<c0103b57>] dump_stack+0x17/0x20
[<c011a51e>] do_exit+0x39e/0x420
[<c0103efc>] die+0x13c/0x140
[<c01042a3>] do_invalid_op+0xa3/0xb0
[<c01037e3>] error_code+0x2b/0x30
[<c013f2af>] zap_pte_range+0x13f/0x280
[<c013f439>] zap_pmd_range+0x49/0x70
[<c013f49d>] zap_pgd_range+0x3d/0x70
[<c013f4fb>] unmap_page_range+0x2b/0x40
[<c013f600>] unmap_vmas+0xf0/0x1f0
[<c014399b>] exit_mmap+0x6b/0x120
[<c0116431>] mmput+0x41/0xd0
[<c011a2db>] do_exit+0x15b/0x420
[<c011a616>] do_group_exit+0x36/0x70
[<c0122b0b>] get_signal_to_deliver+0x1bb/0x2b0
[<c0102b76>] do_signal+0x66/0x120
[<c0102c69>] do_notify_resume+0x39/0x3c
[<c0102daa>] work_notifysig+0x13/0x15
Bad page state at prep_new_page (in process 'mpd', page c17712c0)
flags:0x40020114 mapping:00000000 mapcount:-1 count:0
Backtrace:
[<c0103b57>] dump_stack+0x17/0x20
[<c0136352>] bad_page+0x72/0xb0
[<c013669b>] prep_new_page+0x2b/0x80
[<c0136d8b>] buffered_rmqueue+0xcb/0x170
[<c0136ffd>] __alloc_pages+0x11d/0x340
[<c013925c>] do_page_cache_readahead+0xcc/0x120
[<c0139476>] page_cache_readahead+0x1c6/0x1f0
[<c0132ecb>] do_generic_mapping_read+0x11b/0x630
[<c013361d>] __generic_file_aio_read+0x16d/0x1e0
[<c0133784>] generic_file_read+0x94/0xc0
[<c014e6f1>] vfs_read+0x101/0x140
[<c014e99d>] sys_read+0x3d/0x70
[<c0102d0d>] sysenter_past_esp+0x52/0x71
Trying to fix it up, but a reboot is needed

Regards,

Benoit

Attachment: config.gz
Description: application/gunzip

0000:00:00.0 Host bridge: VIA Technologies, Inc. VT8377 [KT400/KT600 AGP] Host Bridge (rev 80)
Subsystem: ASUSTeK Computer Inc. A7V8X motherboard
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR+
Latency: 0
Region 0: Memory at f0000000 (32-bit, prefetchable)
Capabilities: [80] AGP version 3.5
Status: RQ=32 Iso- ArqSz=0 Cal=2 SBA+ ITACoh- GART64- HTrans- 64bit- FW- AGP3+ Rate=x4,x8,x@
Command: RQ=1 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x4
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: 0000d000-0000dfff
Memory behind bridge: d7000000-d7ffffff
Prefetchable memory behind bridge: d8000000-efffffff
Expansion ROM at 0000d000 [disabled] [size=4K]
BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:09.0 Ethernet controller: 3Com Corporation 3c940 10/100/1000Base-T [Marvell] (rev 12)
Subsystem: ASUSTeK Computer Inc. P4P800 Mainboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32 (5750ns min, 7750ns max), cache line size 08
Interrupt: pin A routed to IRQ 177
Region 0: Memory at d6800000 (32-bit, non-prefetchable)
Region 1: I/O ports at b800 [size=256]
Capabilities: [48] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=1 PME-
Capabilities: [50] Vital Product Data

0000:00:0f.0 RAID bus controller: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
Subsystem: ASUSTeK Computer Inc. A7V600 motherboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Interrupt: pin A routed to IRQ 0
Region 0: I/O ports at b400
Region 1: I/O ports at b000 [size=4]
Region 2: I/O ports at a800 [size=8]
Region 3: I/O ports at a400 [size=4]
Region 4: I/O ports at a000 [size=16]
Region 5: I/O ports at 9800 [size=256]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
Subsystem: ASUSTeK Computer Inc. A7V600 motherboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32
Interrupt: pin A routed to IRQ 169
Region 4: I/O ports at 9400 [size=16]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc. A7V600 motherboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin A routed to IRQ 0
Region 4: I/O ports at 9000 [size=32]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc. A7V600 motherboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin A routed to IRQ 0
Region 4: I/O ports at 8800 [size=32]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc. A7V600 motherboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin B routed to IRQ 0
Region 4: I/O ports at 8400 [size=32]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 81) (prog-if 00 [UHCI])
Subsystem: ASUSTeK Computer Inc. A7V600 motherboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin B routed to IRQ 0
Region 4: I/O ports at 8000 [size=32]
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86) (prog-if 20 [EHCI])
Subsystem: ASUSTeK Computer Inc. A7V600 motherboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin C routed to IRQ 0
Region 0: Memory at d6000000 (32-bit, non-prefetchable)
Capabilities: [80] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:10.5 Network controller: VIA Technologies, Inc. VT8237 Integrated Fast Ethernet Controller
Subsystem: VIA Technologies, Inc. VT8237 Integrated Fast Ethernet Controller
Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 32, cache line size 08
Interrupt: pin D routed to IRQ 240
Region 0: Memory at d5800000 (32-bit, non-prefetchable) [disabled]
Capabilities: [80] Power Management version 2
Flags: PMEClk+ DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800 South]
Subsystem: ASUSTeK Computer Inc. A7V600 motherboard
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)
Subsystem: ASUSTeK Computer Inc. A7V600 motherboard (ADI AD1980 codec [SoundMAX])
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin C routed to IRQ 185
Region 0: I/O ports at e000
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (rev 01) (prog-if 00 [VGA])
Subsystem: Hightech Information System Ltd.: Unknown device 2012
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (2000ns min), cache line size 08
Interrupt: pin A routed to IRQ 193
Region 0: Memory at e8000000 (32-bit, prefetchable) [size=e7fe0000]
Region 1: I/O ports at d800 [size=256]
Region 2: Memory at d7800000 (32-bit, non-prefetchable) [size=64K]
Expansion ROM at 00020000 [disabled]
Capabilities: [58] AGP version 3.0
Status: RQ=256 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
Command: RQ=32 ArqSz=0 Cal=0 SBA+ AGP+ GART64- 64bit- FW- Rate=x4
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:01:00.1 Display controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (Secondary) (rev 01)
Subsystem: Hightech Information System Ltd.: Unknown device 2013
Control: I/O- Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (2000ns min), cache line size 08
Region 0: Memory at d8000000 (32-bit, prefetchable) [disabled]
Region 1: Memory at d7000000 (32-bit, non-prefetchable) [disabled] [size=64K]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-