2017-09-10 9 views
1

Dockerコンテナにコードを実行するビルド環境があります。コンポーネントの1つにOpenMPIがあります。私はこれが問題の原因だと思います。docker、openmpi、/ proc/mounts行の予期しない終了

私は

Unexpected end of /proc/mounts line `overlay/overlay rw,relatime,lowerdir=/var/lib/docker/overlay2/l/NHW6L2TB73FPMK4A52XDP6SO2V:/var/lib/docker/overlay2/l/MKAGUDHZZTJF4KNSUM73QGVRUD:/var/lib/docker/overlay2/l/4PFRG6M47TX5TYVHKQQO2KCG7Q:/var/lib/docker/overlay2/l/4UR3OEP3IW5ZTADZ6OKT77ZBEU:/var/lib/docker/overlay2/l/LGBMK7HFUCHRTM2MMITMD6ILMG:/var/lib/docker/overlay2/l/ODJ2DJIGYGWRXEJZ6ECSLG7VDJ:/var/lib/docker/overlay2/l/JYQIR5JVEUVQPHEF452BRDVC23:/var/lib/docker/overlay2/l/AUDTRIBKXDZX62ANXO75LD3DW5:/var/lib/docker/overlay2/l/RFFN2MQPDHS2Z' 
Unexpected end of /proc/mounts line `KNEJCAQH6YG5S:/var/lib/docker/overlay2/l/7LZSAIYKPQ56QB6GEIB2KZTDQA:/var/lib/docker/overlay2/l/CP2WSFS5347GXQZMXFTPWU4F3J:/var/lib/docker/overlay2/l/SJHIWRVQO5IENQFYDG6R5VF7EB:/var/lib/docker/overlay2/l/ICNNZZ4KB64VEFSKEQZUF7XI63:/var/lib/docker/overlay2/l/SOHRMEBEIIP4MRKRRUWMFTXMU2:/var/lib/docker/overlay2/l/DL4GM7DYQUV4RQE4Z6H5XWU2AB:/var/lib/docker/overlay2/l/JNEAR5ISUKIBKQKKZ6GEH6T6NP:/var/lib/docker/overlay2/l/LIAK7F7Q4SSOJBKBFY4R66J2C3:/var/lib/docker/overlay2/l/MYL6XNGBKKZO5CR3PG3HIB475X:/var/lib/do' 

メッセージ、そのメッセージを理解し、問題をより複雑にするために、コード行の

MPI_Init(&argc,&argv); 

を印刷され、警告メッセージがのみ印刷されますを取得MPIを使用してコードを実行しますホストマシンがmac os xの場合、linuxホストの場合はすべてokです。

警告メッセージ以外はすべて正常に動作します。私は、OpenMPIとドッカーがどのようにこの問題を解決できるかについては分かりません。

答えて

3

これはおそらく/ proc/mountsファイルに512文字を超える行があり、OpenMPIのhwlocモジュールが正しく解析できないためです。 Dockerは非常に長い行を/ proc/mountsに入れる傾向があります。 openmpi-1.10.7/opal/mca/hwloc/hwloc191/hwloc/src/topology-linux.cのバグを見ることができます:1677

これは、それは一時的な回避策と考えるべきです。

+0

それは素晴らしい答えです。質問に続いて、何とかそれを修正できますか? mpichまたはOpenMPIの新しいバージョンを使用すると助けになるでしょうか? – likask

+2

@likask最近問題に遭遇したとき、私はOpenMPIにパッチを当てて再構築する時間がなかったので、Dockerコンテナ(https://tuhrig.de/flatten-a-docker-コンテナまたはイメージ/)。歴史の中で多くの中間イメージを持つイメージからコンテナを開始し、私のドッカーイメージをフラットにしてその行を512文字以下にしたので、/ proc/mounts行は長いです。 –

1

この問題は、hwloc 1.11.3(2年前にリリース)以降に修正されるはずです。 hwloc 1.11.7> = 1.11.3を含むOpenMPI 3.0にアップグレードすることができます。または、OpenMPIを再コンパイルして、古い埋め込み型の代わりに外部のhwlocを使用します。

+0

ソースからOpenMPI 3.0をインストールしましたが、まだこの問題が発生しています。ソースはhttps://www.open-mpi.org/software/ompi/v3.0/downloads/openmpi-3.0.0.tar.gzです – ChiaraHsieh

関連する問題