AWS / PHP / Python ちょいメモ

amazon web service , PHP, Python を使ったときのメモ。日本語でググってもわからなかった事を中心に。

firefox on Ubuntu 14.04.6 が落ちる

ここ3年ぐらいVPSで借りてるサーバー上に、Slenium使いたくて firefox を導入してみたところ、四苦八苦。。3日やっても解決しない状態。

えいやっと、新規で同じOS立てて導入したら動くしぃ。いったい何が悪さしてるのやら。

環境

  • Ubuntu 14.04.6
  • Firefox 66.0.3 (by apt) & 68.0.2 (by 公式から手動)

Firefox起動時エラー

こちら長年使ってる側のVPS。どちらのバージョンのFirefoxも headless オプションで起動すると、一瞬で Exception。。。



$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.6 LTS"

$ firefox -v
Mozilla Firefox 66.0.3
$ firefox
Error: no DISPLAY environment variable specified
$ firefox -headless
*** You are running in headless mode.
ExceptionHandler::GenerateDump cloned child 18110
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
$

$ firefox/firefox -v
Mozilla Firefox 68.0.2
$ firefox/firefox
Error: no DISPLAY environment variable specified
$ firefox/firefox -headless
*** You are running in headless mode.
ExceptionHandler::GenerateDump cloned child 18277
ExceptionHandler::WaitForContinueSignal waiting for continue signal...
ExceptionHandler::SendContinueSignalToChild sent continue signal to child
$

Firefox 起動するOS

新しく準備したVPN側。Ctrl+C するまで、ちゃんと動いてくれる。

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.6 LTS"


$ firefox -v
Mozilla Firefox 66.0.3
$ firefox
Error: no DISPLAY environment variable specified
$ firefox -headless
*** You are running in headless mode.
^CExiting due to channel error.
Sandbox: Unexpected EOF, op 0 flags 00 path /usr/share/locale/en_US.utf-8/LC_MESSAGES/libc.mo
[Child 17250, Chrome_ChildThread] WARNING: pipe error (3): Connection reset by peer: file /build/firefox-sc3iFa/firefox-66.0.3+build1/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 357

$ Exiting due to channel error.

違いはなんなの?

とりあえず Firefox の Requirement を確認してみる。apt使ってインストールしてもダメなんだけど、念の為って思い、なるべくパッケージをあわせていく (案の定、以前から使ってるOS側は、各種はいってた)。が、それでも症状変わらず。


Dumpの内容を理解するには、ちとスキルレベル不足だし。。。困った。

ふと思い立って、home にある .mozilla フォルダを再生成させてみた。うーん、新たに作成される。

が、このフォルダを比較すると違いがあるぞ。配下に 「extensions」 フォルダが作成されてない。

# 動かない側
$ ls .mozilla
firefox  systemextensionsdev

# 動く側
$ ls .mozilla/
extensions  firefox  systemextensionsdev

と、違いは見つけたけど、それの対応のやりかたは。。。わからん

Dumpってどこ?

home ディレクトリ配下のこのあたりが該当しそう。 LastCrash フォルダにまとまってるみたい。 (動く側のOSでは、LastCrash作られてなかったので)

$ ls .mozilla/firefox/Crash\ Reports/
InstallTime20190410111345 LastCrash events

でも大した情報ストアされてない気がするなぁ。。。

その他

Headless ブラウザ使いたかったんですよぉ。

ChromeはWebDriverの制約厳しいから、Firefox + GeckoWebDriver でゆるく使おうと思ってたのにうまく行かない(泣)