Hi,
We get a kernel crash in audio driver when running chromium to play a video containing audio.
Chromium is launched at starting, with systemd "After=weston.service" option.
In chromium starting script, if we add a 5 seconds delay before launching chromium, the problem is not observed anymore.
Any suggestion to solve the problem without the 5 seconds delay ?
Regards
[ 63.171708] 8<--- cut here ---
[ 63.174795] Unable to handle kernel NULL pointer dereference at virtual address 00000003
[ 63.182914] pgd = 24d6a613
[ 63.185646] [00000003] *pgd=00000000
[ 63.189249] Internal error: Oops: 805 [#1] PREEMPT SMP ARM
[ 63.194766] Modules linked in: 8821au(O)
[ 63.198732] CPU: 0 PID: 3802 Comm: chromium-bin Tainted: G O 5.15.71-lts-next+g8847fec847d4 #1
[ 63.208679] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
[ 63.215232] PC is at sdma_transfer_init+0x120/0x23c
[ 63.220146] LR is at 0x0
[ 63.222693] pc : [<805ff390>] lr : [<00000000>] psr: 80010093
[ 63.228962] sp : 98141e20 ip : dc040280 fp : 846c2ca0
[ 63.234191] r10: 846c0040 r9 : 846c2040 r8 : 00000003
[ 63.239417] r7 : dc040200 r6 : 00000000 r5 : 88ab0400 r4 : 846c041c
[ 63.245946] r3 : 00000003 r2 : 00000010 r1 : 00000001 r0 : dc040200
[ 63.252484] Flags: Nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
[ 63.259741] Control: 10c5387d Table: 2839c04a DAC: 00000051
[ 63.265494] Register r0 information: 0-page vmalloc region starting at 0xdc000000 allocated at iotable_init+0x0/0xec
[ 63.276042] Register r1 information: non-paged memory
[ 63.281097] Register r2 information: zero-size pointer
[ 63.286238] Register r3 information: non-paged memory
[ 63.291292] Register r4 information: non-slab/vmalloc memory
[ 63.296954] Register r5 information: slab kmalloc-128 start 88ab0400 pointer offset 0 size 128
[ 63.305587] Register r6 information: NULL pointer
[ 63.310294] Register r7 information: 0-page vmalloc region starting at 0xdc000000 allocated at iotable_init+0x0/0xec
[ 63.320832] Register r8 information: non-paged memory
[ 63.325897] Register r9 information: non-slab/vmalloc memory
[ 63.331560] Register r10 information: non-slab/vmalloc memory
[ 63.337309] Register r11 information: non-slab/vmalloc memory
[ 63.343058] Register r12 information: 0-page vmalloc region starting at 0xdc000000 allocated at iotable_init+0x0/0xec
[ 63.353680] Process chromium-bin (pid: 3802, stack limit = 0x0b3b0d1e)
[ 63.360213] Stack: (0x98141e20 to 0x98142000)
[ 63.364577] 1e20: 00000000 00000000 00000003 20010093 00000008 00000000 846c041c 00000001
[ 63.372759] 1e40: 00001b90 000052b0 6c050000 00000003 846c0040 80600270 00004142 98722480
[ 63.380940] 1e60: 990d7580 00000003 8472b5f8 00000000 84b25200 990d75c0 806001e0 00000001
[ 63.389121] 1e80: 840f9610 840f9040 4fd2be70 80a40210 00000001 00000003 7eeebdc8 80a67880
[ 63.397302] 1ea0: 84b25200 8432d20c 00000003 80a60cf8 000006e4 00000001 00000001 52b00000
[ 63.405483] 1ec0: 00000000 00000001 00000000 84b25200 840f9040 98722480 0000001a 8472b5f8
[ 63.413664] 1ee0: 4fd2be70 80a615cc 00000000 80edbc24 84b25200 00000003 98722480 80a332e4
[ 63.421845] 1f00: 84b25200 80edbc24 00000003 4fc581e0 98722480 80a35664 00004142 98722481
[ 63.430026] 1f20: 4fc46800 80276348 5ac3c35a 00000036 83605fcc 80109a10 00000000 5ac3c35a
[ 63.438207] 1f40: 00000001 00000000 98141f50 98141f54 00000000 98141f54 98141f54 95a180b8
[ 63.446388] 1f60: 00000001 00000001 00006000 00000003 00000000 98722480 76ef6000 95a180b8
[ 63.454569] 1f80: 00000001 4fd1a710 768f339c 4fc46800 00000036 801002c4 98140000 00000036
[ 63.462750] 1fa0: 4fd2be70 80100060 4fd1a710 768f339c 0000001a 00004142 4fc581e0 7eeebd68
[ 63.470932] 1fc0: 4fd1a710 768f339c 4fc46800 00000036 00000003 768d7b40 768f339c 4fd2be70
[ 63.479115] 1fe0: 00000036 7eeebd50 765b82c9 76531ae6 60010030 0000001a 00000000 00000000
[ 63.487298] [<805ff390>] (sdma_transfer_init) from [<80600270>] (sdma_prep_dma_cyclic+0x90/0x294)
[ 63.496191] [<80600270>] (sdma_prep_dma_cyclic) from [<80a40210>] (snd_dmaengine_pcm_trigger+0x128/0x194)
[ 63.505776] [<80a40210>] (snd_dmaengine_pcm_trigger) from [<80a60cf8>] (snd_soc_pcm_component_trigger+0x150/0x1ec)
[ 63.516145] [<80a60cf8>] (snd_soc_pcm_component_trigger) from [<80a615cc>] (soc_pcm_trigger+0xa8/0x174)
[ 63.525553] [<80a615cc>] (soc_pcm_trigger) from [<80a332e4>] (snd_pcm_action_single+0x38/0x78)
[ 63.534181] [<80a332e4>] (snd_pcm_action_single) from [<80a35664>] (snd_pcm_action_lock_irq+0x38/0x78)
[ 63.543501] [<80a35664>] (snd_pcm_action_lock_irq) from [<80276348>] (sys_ioctl+0x570/0xc70)
[ 63.551954] [<80276348>] (sys_ioctl) from [<80100060>] (ret_fast_syscall+0x0/0x58)
[ 63.559536] Exception stack(0x98141fa8 to 0x98141ff0)
[ 63.564595] 1fa0: 4fd1a710 768f339c 0000001a 00004142 4fc581e0 7eeebd68
[ 63.572778] 1fc0: 4fd1a710 768f339c 4fc46800 00000036 00000003 768d7b40 768f339c 4fd2be70
[ 63.580958] 1fe0: 00000036 7eeebd50 765b82c9 76531ae6
[ 63.586017] Code: e5942108 e5872024 e59d3008 e3a01001 (e5c61003)
[ 63.592118] ---[ end trace 19cf127d9b92a38e ]---
[ 63.596741] note: chromium-bin[3802] exited with preempt_count 2
Hello,
We are not using PipeWire.
Yes 5 seconds seems to be a minimum value ; with smaller values, depending on the value, the problem appears all the time, or randomly.
Best regards
Hello JorgeCas, thank you for your proposal, it seemed like a very good idea, but unfortunately it didn't work.
Hello,
It seems that there is a sound card dependency in Chromium.
Is 5 seconds the minimum to avoid the issue?
Are you using PipeWire?
Best regards.
Hello,
Please try adding the next:
After=weston.service sound.target
Wants=sound.target
Or
After=sound.target
Wants=sound.target
Best regards.