6月11日下午專案上線乙個新的功能之後,12日上午發現,與外部服務通過hessian互動的功能失效。一邊與兄弟部門的同學一起查詢一邊進行**回滾(也是我到公司一年以來第一次**回滾)。
發現呼叫hessian時候會報錯 1
2
3
4
5
6
7
8
9
10
[
12
-jun-
2015
06
:
47
:
44
utc] php fatal error: uncaught exception
'hessianerror'
with message
'hessian parser, malformed reply: expected r'
in /home/users/ouerqiang/fbiz/baserock/hessian/protocol.php:
169
stack trace:
#
0
/home/users/ouerqiang/fbiz/baserock/hessian/client.php(
280
): hessianparser->parsereply()
#
1
/home/users/ouerqiang/fbiz/baserock/hessian/filter.php(
160
): hessianproxy->executecall(
'report'
, array,
1766142942
)
#
2
/home/users/ouerqiang/fbiz/baserock/hessian/filter.php(
73
): proxyfilter->execute(object(hessianproxy), object(filterchain))
#
3
/home/users/ouerqiang/fbiz/baserock/hessian/filter.php(
193
): filterchain->dofilter(object(hessianproxy))
#
4
/home/users/ouerqiang/fbiz/baserock/hessian/filter.php(
73
): phperrorreportingfilter->execute(object(hessianproxy), object(filterchain))
#
5
/home/users/ouerqiang/fbiz/baserock/hessian/client.php(
246
): filterchain->dofilter(object(hessianproxy))
#
6
/home/users/ouerqiang/fbiz/baserock/hessian/client.php(
395
): hessianproxy->call(
'report'
, array)
#
7
/home/users/ouerqiang/fbiz/modules/common/scripts/budget.p in /home/users/ouerqiang/fbiz/baserock/hessian/protocol.php on line
169
我就把開發環境的**也回滾到之前的分支,使用git的好處就在這裡了!強烈建議沒有使用的同學也要切換到git。
切換分支後發現沒有報錯的情況。此時基本可以確定是新功能的**出現問題!
所以我將只要修改的**就替換一下再執行,就這樣試了幾個檔案發現其中乙個檔案只要替換了就出現
hessian報錯。
終於找到罪魁禍首了,但是我認真的看了**,就是沒有發現錯誤的**。這就詭異了!
就在此時想起我寫這個**時候使用過文字編輯器處理過編碼,使用文字一開啟發現檔案頭中包含了bom魔術頭!
好傷心!就是因為這個問題導致的。之後續的處理中發現
還有乙個現象值得注意:如果php檔案頭<?php 不頂格也會報錯的。
memcpy引起的乙個bug
void memcpy void dest,const void src,size t n 由src指向位址為起始位址的連續n個位元組的資料複製到以dest指向位址為起始位址的空間內。memcpy dest,0,5 真正應該使用的是 memset dest,0,5 關於memset memset 函...
乙個引數引起的血案
問題產生實際情況 資料庫被強制乾掉,空間漲到100 分析 經觀察發現是由於pg log目錄增長過快導致磁碟空間被爆。pg log是如何產生的?記錄資料庫執行日誌,內容可讀,預設關閉,需要設定引數啟動。1.error資訊。2.定位慢查詢sql。3.資料庫的啟動關閉資訊。4.pg系統相關警告資訊等。根據...
乙個ID引起的血案
最近用asp寫程式時,剛開始支援的資料庫是access,程式裡有一段 是往資料庫裡新添一條記錄,方法為先建立乙個recordset,然後用addnew和update方法來實現資料新增。addnew之後便能取得新增記錄的id號。後來程式移植到伺服器上時,由於伺服器安裝的是sql server 2000...