2015-06-25 41 views
8

我經常(但並非總是)在切換wifi主機後運行MPI作業時出現以下錯誤。gethostbyname在切換互聯網連接後失敗

Fatal error in MPI_Init: Other MPI error, error stack: 
MPIR_Init_thread(498)..............: 
MPID_Init(187).....................: channel initialization failed 
MPIDI_CH3_Init(89).................: 
MPID_nem_init(320).................: 
MPID_nem_tcp_init(171).............: 
MPID_nem_tcp_get_business_card(418): 
MPID_nem_tcp_init(377).............: gethostbyname failed, MacBook-Pro.local  (errno 1) 

一切正常在咖啡店工作,然後當我回家,我得到上述錯誤。沒有其他變化。

我檢查了/ etc/hosts和/私營/ etc/hosts文件,他們看行不行 -

## 
# Host Database 
# 
# localhost is used to configure the loopback interface 
# when the system is booting. Do not change this entry. 
## 
127.0.0.1  localhost 
255.255.255.255 broadcasthost 

我可以ping本地主機,所以問題不完全是本地主機ISN」解決。

重新啓動總是修復問題,但有沒有簡單的我可以做「重置」我的系統,以便它可以識別本地主機?

我沒有權限訪問我正在運行的代碼中的MPI初始化例程的詳細信息,並且沒有對gethostname進行任何顯式調用。

我使用MPICH 3.1.4(內置月,2015年)和正在運行OSX 10.10.3

+0

你找了本地主機,或者是你查找macbook-pro.local? MPICH是否運行本地守護進程?如果是這樣你嘗試重新啓動守護進程(也許它有舊的DNS服務器IP緩存,或類似) – Doon

+0

謝謝!我如何重新啓動本地守護程序?至於localhost,我做了:'ping localhost',並得到了一個響應。 – Donna

回答

8

答案很簡單 - 這裏是什麼似乎工作。

我編輯的文件/etc/hosts(或/private/etc/hosts,在OSX),並增加了行

127.0.0.1 macbook-pro.local 

所以現在我的主機文件看起來像:

## 
# Host Database 
# 
# localhost is used to configure the loopback interface 
# when the system is booting. Do not change this entry. 
## 
127.0.0.1 localhost 
255.255.255.255 broadcasthost 
127.0.0.1 macbook-pro.local 
+0

我剛剛在新的筆記本電腦上遇到了這個問題,因此使用了我上面最初發布的修復程序。它的工作,所以會認爲這是解決這個問題的正確方法。 – Donna