web-dev-qa-db-ja.com

ヘッドレスで実行chrome Dockerで突然クラッシュする

ヘッドレスクロムでいくつかのテストを実行します。他のすべてと同様に、Docker内ですべてを実行します。さて、数日間、私のマシンでchromiumが突然クラッシュします(Ubuntu 19.04):

ここに示すのは最小限のDockerfileです。

FROM debian

RUN apt-get update && apt-get install -y --no-install-recommends chromium
CMD chromium --headless --verbose --no-sandbox --screenshot https://www.chromestatus.com

Sudo docker build . -t headless-chrome-crash; Sudo docker run headless-chrome-crashを実行します

これは私の同僚のMacとCircle CIにも当てはまるので、選択肢はDocker、OS、マシンのパフォーマンスだけでした。 AWSを使用すると、Ubuntu 19.04に絞り込むことができました18.04に渡されるためです!自分のマシンで直接実行したときにも渡されますDockerなしで、それは長い間Dockerで私のマシンに渡っていました。

完全なエラーはかなり長くなりますが( ここを参照 )、ここが最初の部分です:

[0918/134957.717636:ERROR:viz_main_impl.cc(170)] Exiting GPU process due to errors during initialization
[0918/134957.723472:WARNING:gpu_process_Host.cc(1188)] The GPU process has crashed 1 time(s)
[0918/134957.824829:FATAL:sandbox_linux.cc(382)] Check failed: !HasOpenDirectories(). InitializeSandbox() called after unexpected directories have been opened. This breaks the security of the setuid sandbox.
#0 0x55d058895449 <unknown>
#1 0x55d0587e3d36 <unknown>
#2 0x55d0587fbd14 <unknown>
#3 0x55d059a053d4 <unknown>
....

他のマシンでは、screenshot.pngを作成し、次のようになります。

[0918/120635.809655:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[0918/120635.809580:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[0918/120635.809768:ERROR:command_buffer_proxy_impl.cc(126)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
[0918/120636.611712:INFO:headless_Shell.cc(572)] Written to file screenshot.png.
[0918/120636.621106:ERROR:browser_process_sub_thread.cc(203)] Waited 5 ms for network service

Dockerバージョン:

Docker version 19.03.2, build 6a30dfc
2
iGEL

カーネルを4.18.0-25-genericにダウングレードすると問題が解決します。 DockerとKernel 5.0.0の間の非互換性のようです。

1
Andreas Löw