機器名導致的乙個奇怪問題跟蹤

2021-08-21 00:12:38 字數 657 閱讀 3035

實驗室一套測試環境最緊一周老是出現乙個奇怪的問題:程式從資料庫裡取不到資料,但是根據日誌裡列印出來的sql語句手動去資料庫查詢,又是能查詢到記錄,且這個問題不定期的出現,有時莫名其妙又好了,實在令人頭大。

開始以為連錯資料庫,但是在把整個資料庫連線字串打出來後,訪問的機器就是name1. 在cmd視窗檢視到機器名就是name1, 所以確定連線的沒有錯。但是用sqlprofile跟蹤本地的sqlserver語句,發現sqlserver沒有程式發出的語句,似乎程式根本沒有連到本機的sqlserver,真是奇怪。如果連錯了資料庫,我們的程式不報錯,也極是奇怪。

今天下午,毫無方向,不知如何處理。然後,無聊的在出錯的機器上,隨便嘗試了ping了下name1,突然然後,輸出視窗裡居然告知name1的ip位址是ip2,不是本機的ip1 !@_@

然後順著ip2去查詢,發現了原因。原來上週的時候,另乙個同事,複製本虛擬機器,機器名沒有改,但是ip位址自動獲得,變為了ip2。這樣在實驗室區域網中有兩台機器名一樣、ip位址不一樣的機器。可是兩台機器都沒有ip位址重複那樣報報名字重複,然後程式的連線串是基於機器名的。不知道怎麼的,公司的網路一會把name1解釋為ip1,一會兒解釋為ip2。ip2的機器拷貝後,我們本週在ip1機器上加的資訊,在ip2機器上沒有,所以程式報錯。

我們對這個結果大為詫異,想不到tcp裡有這個bug,看來要好好學習啊。

linux sock 乙個奇怪問題

今天查乙個問題,反饋的日誌中,看到服務端乙個網路套接字sock 被設定成o nonblock了,但是在read的時候,報錯了。用strerror errno 列印錯誤資訊,看到是connection timed out 這就詭異了,按理說,設定成o nonblock了,就不會有time out的,加...

乙個很奇怪的問題

if equipmentlist.size 0 string equipidarray new string 3 for int i 0 i equipmentlist.size i element equipment element equipmentlist.get i string equip...

innerHTML的乙個奇怪問題

背景 使用ajax翻頁 起初 是這樣的 頁面 include cn videoplay comment listcomment.ftl ajax comment innerhtml originalrequest.responsetext 在firefox下是好的,在ie下頁面會掛在那不動,經檢測a...