zeam-vm / nerves_system_zybo_z7_10

The base Nerves System configuration for the Zybo Z7-10.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[drm:drm_mode_config_cleanup] *ERROR* connector HDMI-A-1 leaked!

pojiro opened this issue · comments

現象

前提

HDMI 出力(TX)をディスプレイにつないでいる状態

起きること

Nerves.Runtim.reboot/halt/poweroff を実行すると掲題のエラーが発生し、 処理がハングする。

確かめたこと

  • HDMI 出力(TX)をディスプレイにつないでいなければ起きない。
  • Petalinux Demo で同様になる(同じ前提条件で発生し、つないでいない場合は起きない。)

対応

Nerves 移植に起因する現象でないため、対応はペンディング

エラーログ

以下ログを UART で取得

erlinit: Sending SIGKILL to all processes
erlinit: umount 0 failed: No such file or directory
Console: switching to colour dummy device 80x30
[drm:drm_mode_config_cleanup] *ERROR* connector HDMI-A-1 leaked!
8<--- cut here ---
Unable to handle kernel NULL pointer dereference at virtual address 00000000
pgd = e76beb26
[00000000] *pgd=00000000
Internal error: Oops - BUG: 5 [#1] PREEMPT SMP ARM
Modules linked in: uio_pdrv_genirq
CPU: 0 PID: 21 Comm: kworker/0:1 Not tainted 5.15.19-xilinx-v2022.1 #1
Hardware name: Xilinx Zynq Platform
Workqueue: events drm_connector_free_work_fn
PC is at ida_free+0xd0/0x124
LR is at xas_load+0x18/0x68
pc : [<c03a6a68>]    lr : [<c03b5a90>]    psr: 600f0093
sp : c18e5ee0  ip : 02000000  fp : 00000000
r10: c2119d8c  r9 : 00000122  r8 : 00000100
r7 : 600f0013  r6 : 00000000  r5 : 00000000  r4 : 00000000
r3 : 00000000  r2 : 00000000  r1 : 00000000  r0 : 00000000
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment none
Control: 18c5387d  Table: 018b404a  DAC: 00000051
Register r0 information: NULL pointer
Register r1 information: NULL pointer
Register r2 information: NULL pointer
Register r3 information: NULL pointer
Register r4 information: NULL pointer
Register r5 information: NULL pointer
Register r6 information: NULL pointer
Register r7 information: non-paged memory
Register r8 information: non-paged memory
Register r9 information: non-paged memory
Register r10 information: slab kmalloc-1k start c2119c00 pointer offset 396 size 1024
Register r11 information: NULL pointer
Register r12 information: non-paged memory
Process kworker/0:1 (pid: 21, stack limit = 0xddc21d77)
Stack: (0xc18e5ee0 to 0xc18e6000)
5ee0: c1800080 c2119d70 00000000 00000000 00000000 00000000 00000000 5fbf5306
5f00: c2112088 c2112088 c2119c00 c2119d68 c21120dc c0461a70 fffffc74 fffffc74
5f20: c2119c00 ef6cd700 00000000 ef6cd705 c2119d8c c0461c2c c183d580 c2119d88
5f40: ef6ca1c0 c01310f8 c183d580 c2119d88 c183d580 ef6ca1c0 ef6ca1c0 c18e4000
5f60: ef6ca1d8 c0c02d00 c183d598 c01315d4 c18e4000 c185ec00 c185ebc0 c0131440
5f80: c183d580 c1877edc c185ebe0 c01365fc c185ec00 c01364c0 00000000 00000000
5fa0: 00000000 00000000 00000000 c0100130 00000000 00000000 00000000 00000000
5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
5fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[<c03a6a68>] (ida_free) from [<c0461a70>] (drm_connector_cleanup+0xbc/0x1a0)
[<c0461a70>] (drm_connector_cleanup) from [<c0461c2c>] (drm_connector_free_work_fn+0x7c/0x80)
[<c0461c2c>] (drm_connector_free_work_fn) from [<c01310f8>] (process_one_work+0x154/0x210)
[<c01310f8>] (process_one_work) from [<c01315d4>] (worker_thread+0x194/0x280)
[<c01315d4>] (worker_thread) from [<c01365fc>] (kthread+0x13c/0x144)
[<c01365fc>] (kthread) from [<c0100130>] (ret_from_fork+0x14/0x24)
Exception stack(0xc18e5fb0 to 0xc18e5ff8)
5fa0:                                     00000000 00000000 00000000 00000000
5fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
5fe0: 00000000 00000000 00000000 00000000 00000013 00000000
Code: 0a000014 eb0f8c85 e1a052a5 e206601f (e7903105)
---[ end trace bf981c5fd14a38c0 ]---
note: kworker/0:1[21] exited with preempt_count 1

関連 issue の調査

nerves_system_zybo_z7_10/.nerves/artifacts/nerves_system_zybo_z7_10-portable-0.0.2/build/linux-custom/drivers/gpu/drm/drm_connector.cdrm_connector_cleanup の操作のどこかで落ちてそうだが、根が深そうなので調査はここまで。

Digilent の HDMI ドライバの問題だろう。