docker crashes frequently on startup

オープン
#242 コメント 2 件 リアクション 1 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
c, docker

調査の方向性

Docker の起動ログと com.docker.hyperkit のエントリから調査を始め、IO-APIC タイマーの失敗と kernel panic に焦点を当てます。報告された起動時クラッシュが解決され、この panic が発生せずに Docker が正常に起動すれば完了です。

索引モデルが issue の本文から書いたものです。

説明

This is the crash stack from the docker logs:
.....
2019-01-13 13:05:13.434372-0800 localhost com.docker.hyperkit[2914]: [ 0.105693] Speculative Store Bypass: Vulnerable
2019-01-13 13:05:13.577543-0800 localhost com.docker.hyperkit[2914]: [ 0.249247] Freeing SMP alternatives memory: 20K
2019-01-13 13:05:13.707308-0800 localhost com.docker.hyperkit[2914]: [ 0.376386] ftrace: allocating 35645 entries in 140 pages
2019-01-13 13:05:15.855677-0800 localhost com.docker.hyperkit[2914]: [ 2.532161] smpboot: Max logical packages: 2
2019-01-13 13:05:15.882920-0800 localhost com.docker.hyperkit[2914]: [ 2.557769] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
2019-01-13 13:05:15.992164-0800 localhost com.docker.hyperkit[2914]: [ 2.666219] ..MP-BIOS bug: 8254 timer not connected to IO-APIC
2019-01-13 13:05:15.998739-0800 localhost com.docker.hyperkit[2914]: [ 2.673452] ...trying to set up timer (IRQ0) through the 8259A ...
2019-01-13 13:05:16.003099-0800 localhost com.docker.hyperkit[2914]: [ 2.680027] ..... (found apic 0 pin 2) ...
2019-01-13 13:05:16.108382-0800 localhost com.docker.hyperkit[2914]: [ 2.786819] ....... failed.
2019-01-13 13:05:16.114403-0800 localhost com.docker.hyperkit[2914]: [ 2.789899] ...trying to set up timer as Virtual Wire IRQ...
2019-01-13 13:05:16.218349-0800 localhost com.docker.hyperkit[2914]: [ 2.896338] ..... failed.
2019-01-13 13:05:16.224222-0800 localhost com.docker.hyperkit[2914]: [ 2.900103] ...trying to set up timer as ExtINT IRQ...
2019-01-13 13:05:16.442003-0800 localhost com.docker.hyperkit[2914]: [ 3.121066] ..... failed :(.
2019-01-13 13:05:16.456839-0800 localhost com.docker.hyperkit[2914]: [ 3.125149] Kernel panic - not syncing: IO-APIC + timer doesn't work! Boot with apic=debug and send a report. Then try booting with the 'noapic' option.
2019-01-13 13:05:16.458492-0800 localhost com.docker.hyperkit[2914]: [ 3.125149]
2019-01-13 13:05:16.465514-0800 localhost com.docker.hyperkit[2914]: [ 3.140709] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.9.125-linuxkit #1
2019-01-13 13:05:16.471039-0800 localhost com.docker.hyperkit[2914]: [ 3.147726] Hardware name: BHYVE, BIOS 1.00 03/14/2014
2019-01-13 13:05:16.480892-0800 localhost com.docker.hyperkit[2914]: [ 3.153287] 0000000000000000 ffffffffaf420789 0000000000000000 ffffbab400007e30
2019-01-13 13:05:16.490131-0800 localhost com.docker.hyperkit[2914]: [ 3.163238] ffffffffaf19fbf5 0000000000000008 ffffbab400007e40 ffffbab400007dd8
2019-01-13 13:05:16.501249-0800 localhost com.docker.hyperkit[2914]: [ 3.172450] ca7f16cd286c8b68 0000000000000008 ffffbab400007e58 0000000000000000
2019-01-13 13:05:16.504028-0800 localhost com.docker.hyperkit[2914]: [ 3.183596] Call Trace:
2019-01-13 13:05:16.509580-0800 localhost com.docker.hyperkit[2914]: [ 3.186327] [] ? dump_stack+0x5a/0x6f
2019-01-13 13:05:16.514995-0800 localhost com.docker.hyperkit[2914]: [ 3.191881] [] ? panic+0xe7/0x230
2019-01-13 13:05:16.521318-0800 localhost com.docker.hyperkit[2914]: [ 3.197336] [] ? setup_IO_APIC+0x633/0x6d1
2019-01-13 13:05:16.528372-0800 localhost com.docker.hyperkit[2914]: [ 3.203685] [] ? clear_IO_APIC_pin+0x108/0x135
2019-01-13 13:05:16.535932-0800 localhost com.docker.hyperkit[2914]: [ 3.210752] [] ? apic_bsp_setup+0x8a/0x99
2019-01-13 13:05:16.543870-0800 localhost com.docker.hyperkit[2914]: [ 3.218357] [] ? native_smp_prepare_cpus+0x24a/0x2ef
2019-01-13 13:05:16.550666-0800 localhost com.docker.hyperkit[2914]: [ 3.226272] [] ? kernel_init_freeable+0xa2/0x1ea
2019-01-13 13:05:16.557199-0800 localhost com.docker.hyperkit[2914]: [ 3.233084] [] ? kernel_init_freeable+0xa2/0x1ea
2019-01-13 13:05:16.562795-0800 localhost com.docker.hyperkit[2914]: [ 3.239635] [] ? rest_init+0x6e/0x6e
2019-01-13 13:05:16.568904-0800 localhost com.docker.hyperkit[2914]: [ 3.245243] [] ? kernel_init+0xa/0xe6
2019-01-13 13:05:16.575027-0800 localhost com.docker.hyperkit[2914]: [ 3.251341] [] ? ret_from_fork+0x57/0x70
2019-01-13 13:05:16.582010-0800 localhost com.docker.hyperkit[2914]: [ 3.258727] Rebooting in 1 seconds..

主要言語
C
スター
3.7k
フォーク
336
PR マージ指標
30日以内にマージされた PR はありません

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

moby/hyperkit のほかの issue

moby/hyperkit の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。