AR# 72363

2019.x Zynq UltraScale+ MPSoC: PetaLinux または Yocto イメージで libmali および X11 が有効になっていると Linux ブートで致命的なエラーが発生する

説明

2019.1 リリースでは、libmali および X11 ウィンドウ システムを含む Zynq UltraScale+ デバイス用の Yocto または PetaLinux ビルド イメージを使用すると、致命的なエラーが発生します。

Starting Xserver
Starting Dropbear SSH server:
Generating 2048 bit rsa key, this may take a while...

X.Org X Server 1.20.1
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.10.0-327.el7.x86_64 x86_64
Current Operating System: Linux xilinx-zcu102-2019_1 4.19.0-xilinx-v2019.1 #1 SMP Wed May 15 15:45:18 UTC 2019 aarch64
Kernel command line: earlycon console=ttyPS0,115200 clk_ignore_unused
Build Date: 14 May 2019  12:59:38AM

Current version of pixman: 0.34.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Wed May 15 17:38:56 2019
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Unsupported high keycode 372 for name <I372> ignored
>                   X11 cannot support keycodes above 255.
>                   This warning only shows for the first high keycode.
Errors from xkbcomp are not fatal to the X server
D-BUS per-session daemon address is: unix:abstract=/tmp/dbus-9zk2SMLkze,guid=38cff74960d17433c3bef7ad5cdc4eb0
/etc/X11/Xsession.d/90XWindowManager.sh: line 6: /usr/bin/x-window-manager: No such file or directory
xinit: connection to X server lost

waiting for X server to shut down Xorg: ../../xorg-server-1.20.1/include/privates.h:121: dixGetPrivateAddr: Assertion `key->initialized' failed.
(EE)
(EE) Backtrace:
(EE) 0: /usr/bin/Xorg (xorg_backtrace+0x5c) [0x555cbcfe3c]
(EE) 1: /usr/bin/Xorg (0x555ca44000+0x18fc18) [0x555cbd3c18]
(EE) 2: linux-vdso.so.1 (__kernel_rt_sigreturn+0x0) [0x7f8f6c666c]
(EE) 3: /lib/libc.so.6 (gsignal+0x98) [0x7f8f072090]
(EE) 4: /lib/libc.so.6 (abort+0xfc) [0x7f8f060894]
(EE) 5: /lib/libc.so.6 (0x7f8f040000+0x2baa4) [0x7f8f06baa4]
(EE) 6: /lib/libc.so.6 (__assert_perror_fail+0x0) [0x7f8f06bb10]
(EE) 7: /usr/lib/xorg/modules/libexa.so (0x7f8ee97000+0x6710) [0x7f8ee9d710]
(EE) 8: /usr/lib/xorg/modules/libexa.so (0x7f8ee97000+0x6c74) [0x7f8ee9dc74]
(EE) 9: /usr/bin/Xorg (0x555ca44000+0x11bfb8) [0x555cb5ffb8]
(EE) 10: /usr/lib/xorg/modules/drivers/armsoc_drv.so (0x7f8eebe000+0xb284) [0x7f8eec9284]
(EE) 11: /usr/bin/Xorg (0x555ca44000+0xe12b0) [0x555cb252b0]
(EE) 12: /usr/bin/Xorg (0x555ca44000+0x115c7c) [0x555cb59c7c]
(EE) 13: /usr/bin/Xorg (0x555ca44000+0x61d64) [0x555caa5d64]
(EE) 14: /lib/libc.so.6 (__libc_start_main+0xe4) [0x7f8f060ce4]
(EE) 15: /usr/bin/Xorg (0x555ca44000+0x4b890) [0x555ca8f890]
(EE)
(EE)
Fatal server error:
(EE) Caught signal 6 (Aborted).Server aborting
(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1).Closing log file.

ソリューション

バックエンドとして X11 を使用する必要がある場合は、ウィンドウ マネージャー (Matchbox など) を使用することを推奨します。

希望する場合は、ウィンドウ マネージャーなしで Xserver を使用し続けることが可能です。

Yocto Thud リリースでは glibc がアップグレードされており、これによってクリーンアップ プロセス中に停止信号が Xserver に送信され、終端に関するバックトレース ログが出力されます。

これらが出力されないようにする場合は、回避策としてパッチを xserver-xorg に適用できます。

PetaLinux:

1) <plnx-proj-root>/project-spec/meta-user/recipes-graphics に xorg-xserver ディレクトリを作成します。

$ mkdir -p /project-spec/meta-user/recipes-graphics/xorg-xserver/xserver-xorg

2) 添付のパッチを上記で作成したディレクトリにコピーします。

$ cp 0001-include-privates.h-Exit-if-key-is-not-initialized.patch /project-spec/meta-user/recipes-graphics/xorg-xserver/xserver-xorg

3) xserver-xorg_%.bbappend ファイルを作成し、次の内容を追加します。

$ vim /project-spec/meta-user/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
# xserver-xorg_%.bbappend content
SRC_URI += "file://0001-include-privates.h-Exit-if-key-is-not-initialized.patch"

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"


4) xorg-xserver レシピの sstate キャッシュをクリーンにします。

$ petalinux-build -c xorg-xserver -x cleansstate

5) rootfs を再構築します。

$ petalinux-build

Yocto:


1) meta-petalinux/recipes-graphics に xorg-xserver ディレクトリを作成します。

このディレクトリが存在する場合は、この手順をスキップします。

$ mkdir -p meta-petalinux/recipes-graphics/xorg-xserver/xserver-xorg

2) 添付のパッチを上記で作成したディレクトリにコピーします。

$ cp 0001-include-privates.h-Exit-if-key-is-not-initialized.patch meta-petalinux/recipes-graphics/xorg-xserver/xserver-xorg

3) xserver-xorg_%.bbappend ファイルを作成し、次の内容を追加します。

$ vim meta-petalinux/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
# xserver-xorg_%.bbappend content
SRC_URI += "file://0001-include-privates.h-Exit-if-key-is-not-initialized.patch"

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"


4) xorg-xserver レシピの sstate キャッシュをクリーンにします。

$ bitbake xorg-xserver -c cleansstate

5) rootfs を再構築します。

$ bitbake petalinux-image-minimal

注記:  X11 に関して次の警告メッセージが表示されます。

これは単なる警告で、機能上の変更はないため、無視しても問題ありません。


The XKEYBOARD keymap compiler (xkbcomp) reports:

> Warning:          Unsupported high keycode 372 for name <I372> ignored
>                   X11 cannot support keycodes above 255.
>                   This warning only shows for the first high keycode.
Errors from xkbcomp are not fatal to the X server

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
xorg-xserver.zip 1 KB ZIP
AR# 72363
日付 05/29/2019
ステータス アクティブ
種類 一般
デバイス
ツール
Boards & Kits