2021年4月1日木曜日

headless firefoxがFreeBSD jail環境でcoreを吐く件

いくつかのWebページをチェックするために、firefoxをheadlessモードかつmarionetteで制御してクローラーとして使っています。
FreeBSDをインストールしたシステム上にjail環境を作り、その上でfirefoxを導入して動かしている感じです。

先日、firefoxを86.01あたりにpkg upgradeしたところ、firefoxが起動する度にcoreを吐くようになりました。
クローリング自体は無事に終わっているのですが、気持ち悪いのでいろいろ試行錯誤してみました。
結果、jail環境から/devへのアクセスを許可したことにより、問題が解消されました。

昔書いたまとめがありますので、ご参考まで。

ご参考までに、coreを吐いているのは、以下のメッセージが出ているあたりです。

Crash Annotation GraphicsCriticalError: |[0][GFX1-]: No GPUs detected via PCI (t=1.23038) [GFX1-]: No GPUs detected via PCI
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: No GPUs detected via PCI (t=1.23038) |[1][GFX1-]: glxtest: process failed (received signal 11) (t=1.23147) [GFX1-]: glxtest: process failed (received signal 11)

比較のために、別の環境にFreeBSDを導入し、jailを介さずにfirefoxを起動したところ、メッセージは以下の通りでした。

Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libpci missing (t=7.06715) [GFX1-]: glxtest: libpci missing
Crash Annotation GraphicsCriticalError: |[0][GFX1-]: glxtest: libpci missing (t=7.06715) |[1][GFX1-]: No GPUs detected via PCI  (t=7.09677) [GFX1-]: No GPUs detected via PCI

初めは、firefoxのabout:configで、ハードウェアアクセラレーションを無効化したり色々試行錯誤したのですが、どうやってもPCIにGPUを探しにいく振る舞いを止めることはできませんでした。

仮想環境で動かすこともあるんだから、ハードウェアアクセラレーションを切ったら、PCI見に行くのは止めて欲しいです、ほんとに。

0 件のコメント:

コメントを投稿