Ticket #840 (new bug)

Opened 2 years ago

Last modified 2 years ago

Kernel oops in JZ4740 IRQ handling code

Reported by: jekhor Owned by: lars
Priority: critical Milestone: bluesky
Component: kernel Version: post-0.2 snapshot
Keywords: Cc:
Blocked By: Blocking:

Description

/ # [   12.200000] metronomefb metronomefb: metronomefb_update_img_buffer_rotated: ENTER, par->rotation = 1
[   12.390000] metronomefb metronomefb: metronomefb_update_img_buffer_rotated: EXIT
[   12.400000] metronomefb metronomefb: min_x = 86, max_x = 118, min_y = 57, max_y = 92
[   12.410000] metronomefb metronomefb: change_count = 4752, treshold = 60% (288000 pixels)
[   12.420000] metronomefb metronomefb: ERR = 0
[   12.420000] metronomefb metronomefb: metronome_display_cmd: ENTER
[   13.220000] metronomefb metronomefb: metronomefb_update_img_buffer_rotated: ENTER, par->rotation = 1
[   13.400000] metronomefb metronomefb: metronomefb_update_img_buffer_rotated: EXIT
[   13.410000] metronomefb metronomefb: min_x = 70, max_x = 86, min_y = 57, max_y = 92
[   13.420000] metronomefb metronomefb: change_count = 2448, treshold = 60% (288000 pixels)
[   13.430000] metronomefb metronomefb: ERR = 0
[   13.440000] metronomefb metronomefb: metronome_display_cmd: ENTER

/ # 
/ # 
/ # 
/ # [   23.370000] CPU 0 Unable to handle kernel paging request at virtual address 00000004, epc == 80083de0, ra == 80086640
[   23.370000] Oops[#1]:
[   23.370000] Cpu 0
[   23.370000] $ 0   : 00000000 10000401 ffff7fff 10000000
[   23.370000] $ 4   : 00000007 00000000 00000000 000003e6
[   23.370000] $ 8   : 10000400 1000001f 00000000 830f4000
[   23.370000] $12   : 00000019 00000005 ffffffff 00000000
[   23.370000] $16   : 80411194 00000007 8040bb88 00000002
[   23.370000] $20   : 00000000 00000000 00000001 8042de00
[   23.370000] $24   : 00000000 80242474                  
[   23.370000] $28   : 80408000 80409d28 8042de20 80086640
[   23.370000] Hi    : 00000005
[   23.370000] Lo    : 705d5000
[   23.370000] epc   : 80083de0 handle_IRQ_event+0x2c/0x32c
[   23.370000]     Not tainted
[   23.370000] ra    : 80086640 handle_percpu_irq+0x48/0xb4
[   23.370000] Status: 10000002    KERNEL EXL 
[   23.370000] Cause : 00800008
[   23.370000] BadVA : 00000004
[   23.370000] PrId  : 0ad0024f (Ingenic JZRISC)
[   23.370000] Modules linked in: board_n516_display metronomefb snd_soc_n516 snd_soc_jzcodec snd_soc_jz4740 snd_soc_jz4740_i2s snd_soc_core snd_pcm snd_timer snd soundcore snd_page_alloc lm75 hwmon nls_utf8
[   23.370000] Process swapper (pid: 0, threadinfo=80408000, task=8040a600, tls=00000000)
[   23.370000] Stack : 830126e0 83787000 10000401 832a58b4 80411194 00000007 8040bb88 00000002
[   23.370000]         00000000 00000000 00000001 8042de00 8042de20 80086640 00000040 0000000c
[   23.370000]         0000012c 804298b8 80409d70 00000007 00000002 8001bb2c 00000024 00000100
[   23.370000]         00000009 804660fc 80411004 80083e7c 00000100 00000001 804660fc 0000000a
[   23.370000]         80411004 00000002 8045a67a 80410000 80460000 80410000 80410000 80460000
[   23.370000]         ...
[   23.370000] Call Trace:
[   23.370000] [<80083de0>] handle_IRQ_event+0x2c/0x32c
[   23.370000] [<80086640>] handle_percpu_irq+0x48/0xb4
[   23.370000] [<8001bb2c>] jz4740_cascade+0x3c/0xf0
[   23.370000] [<80083e7c>] handle_IRQ_event+0xc8/0x32c
[   23.370000] [<80086640>] handle_percpu_irq+0x48/0xb4
[   23.370000] [<8001bae4>] plat_irq_dispatch+0x7c/0x88
[   23.370000] [<80010424>] ret_from_irq+0x0/0x4
[   23.370000] [<8001f7c4>] cpu_idle+0x134/0x1f4
[   23.370000] [<80431a78>] start_kernel+0x310/0x370
[   23.370000] 
[   23.370000] 
[   23.370000] Code: afb40020  afb10014  afb00010 <8ca20004> 00a09021  30420020  14400009  00809821  40016000 
[   23.370000] Disabling lock debugging due to kernel taint
[   23.370000] Kernel panic - not syncing: Fatal exception in interrupt

Change History

comment:1 Changed 2 years ago by jekhor

Probably, this oops was caused by memory corruption in metronomefb driver. It was fixed in 284900aef4d1183c765d896770a97b6be8b3a6b8 .

comment:2 Changed 2 years ago by jekhor

Reproduced with 2.6.32-3:

/ # rmmod lm75
/ # [   71.920000] CPU 0 Unable to handle kernel paging request at virtual address 00000004, epc == 80083de0, ra == 80086640
[   71.920000] Oops[#1]:
[   71.920000] Cpu 0
[   71.920000] $ 0   : 00000000 10000401 ffff7fff 10000000
[   71.920000] $ 4   : 00000007 00000000 00000324 00000250
[   71.920000] $ 8   : 10000400 1000001f 8042d520 0000000e
[   71.920000] $12   : 804162e8 8048c068 00010000 8045a380
[   71.920000] $16   : 80411194 00000007 8040bb88 00000002
[   71.920000] $20   : 00000000 00000000 00000001 8042de00
[   71.920000] $24   : 00000001 00000278                  
[   71.920000] $28   : 83714000 83715c18 8042de20 80086640
[   71.920000] Hi    : 00000000
[   71.920000] Lo    : 00000000
[   71.920000] epc   : 80083de0 handle_IRQ_event+0x2c/0x32c
[   71.920000]     Not tainted
[   71.920000] ra    : 80086640 handle_percpu_irq+0x48/0xb4
[   71.920000] Status: 10000002    KERNEL EXL 
[   71.920000] Cause : 00800008
[   71.920000] BadVA : 00000004
[   71.920000] PrId  : 0ad0024f (Ingenic JZRISC)
[   71.920000] Modules linked in: board_n516_display metronomefb snd_soc_n516 snd_soc_jzcodec snd_soc_jz4740 snd_soc_jz4740_i2s snd_soc_core snd_pcm snd_timer snd soundcore snd_page_alloc hwmon nls_utf8 [last unloaded: lm75]
[   71.920000] Process oi-hotplug.sh (pid: 841, threadinfo=83714000, task=8311db60, tls=2aad16d0)
[   71.920000] Stack : 4d1383b9 fdb4f9e1 c62d5e57 a96bd276 80411194 00000007 8040bb88 00000002
[   71.920000]         00000000 00000000 00000001 8042de00 8042de20 80086640 2aaa8000 004a753c
[   71.920000]         004a6000 004957bc 00400000 00000007 00000002 8001bb2c 8042d558 00400000
[   71.920000]         8106de38 00000002 80411004 80083e7c 8042d558 10000401 81024e58 00000002
[   71.920000]         80411004 00000002 00000003 8045a380 8042d520 8100ba40 836f4710 2ac505e4
[   71.920000]         ...
[   71.920000] Call Trace:
[   71.920000] [<80083de0>] handle_IRQ_event+0x2c/0x32c
[   71.920000] [<80086640>] handle_percpu_irq+0x48/0xb4
[   71.920000] [<8001bb2c>] jz4740_cascade+0x3c/0xf0
[   71.920000] [<80083e7c>] handle_IRQ_event+0xc8/0x32c
[   71.920000] [<80086640>] handle_percpu_irq+0x48/0xb4
[   71.920000] [<8001bae4>] plat_irq_dispatch+0x7c/0x88
[   71.920000] [<80010424>] ret_from_irq+0x0/0x4
[   71.920000] [<800b3cb4>] ____pagevec_lru_add+0x1d4/0x3f0
[   71.920000] [<800c8548>] do_wp_page+0x5bc/0xdfc
[   71.920000] [<800ca94c>] handle_mm_fault+0x58c/0x81c
[   71.920000] [<80027b60>] do_page_fault+0x128/0x34c
[   71.920000] [<80010400>] ret_from_exception+0x0/0x24
[   71.920000] 
[   71.920000] 
[   71.920000] Code: afb40020  afb10014  afb00010 <8ca20004> 00a09021  30420020  14400009  00809821  40016000 
[   71.920000] Disabling lock debugging due to kernel taint
[   71.920000] Kernel panic - not syncing: Fatal exception in interrupt


Note: See TracTickets for help on using tickets.