日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Linux上定位后臺服務偶發崩潰的解決方法

瀏覽:40日期:2024-04-10 13:00:12

問題描述

在最近的后臺服務中,新增將某個指令的請求數據落盤保存的功能。在具體實現時,采用成員變量來保存請求消息代理頭,在接收響應以及消息管理類釋放時進行銷毀。測試反饋,該服務偶發崩潰。

問題分析

測試環境上運行的是rel版程序,由于在編譯時去掉了調試信息(-g)以及開啟O3級別優化,從崩潰dump的堆棧上,只看到程序崩潰的調用棧,函數入參等被優化掉,由于此處沒有打日志,只能想其他辦法來復現。猜測是重復釋放指針導致的崩潰,接下來繼續分析。

從rel版本的調用棧上看,只看見最后銷毀的函數調用,而在實際代碼中,有兩處銷毀的函數調用入口,為什么在dump中看到的調用棧順序與實際代碼不一致呢?猜測是開啟O3優化,將函數內聯。

做了以下實驗來分析,

void test_dump(){int* p = NULL;*p = 2;// occur dump}void test_f2(int b){b += 1;test_dump();}void test_f1(int a){a+=1;test_f2(a);}int main(){ test_f1(1);return 0;}

在Debug以及Rel模式下,觸發崩潰,使用gdb來輸出堆棧信息分別如下:

Linux上定位后臺服務偶發崩潰的解決方法

Linux上定位后臺服務偶發崩潰的解決方法

結論:在Rel模式下,O3級別的優化內聯了調用函數,如果從崩潰點往上回溯有多個可能入口點,那僅憑dump信息不能確認是哪個入口觸發的崩潰。

構造測試環境

通過分析代碼,得知要觸發可能的多重釋放,需要構造一邊創建,一邊銷毀的場景。

創建:可通過測試工具,定時高頻發送特定指令,觸發創建流程銷毀:可在定時任務中,進行無效狀態上報,觸發銷毀流程為了加快崩潰復現速度,創建以及銷毀的速度需要合理匹配,如果太快銷毀,會導致無法進入創建流程。經過分析嘗試,最終設定測試工具每50毫秒發送一次,后臺服務每50ms上報無效狀態。

為進一步驗證崩潰的想法,在銷毀操作等關鍵路徑添加日志,啟動Rel版來重現。經過長時間的測試,獲得了2次寶貴的崩潰dump以及對應的日志。每次dump要花費2個半小時甚至更多才能復現,說明這個問題是偶發問題,很可能與多線程競態有關。復現該問題的時間成本有點高,不過,從獲得的dump以及日志已足以定位問題。

日志分析

同一后臺服務,不同業務模塊的日志分布在不同日志文件中,在分析時,需要將各部分日志聚合起來,方便復現全流程。在聚合時,可以按需截取各模塊的最后若干行日志,每種日志中包含正常以及異常的日志,將其匯總到單一文件,然后結合代碼進行逐行關聯分析。

在分析過程中,遇到一些框架方面的疑問,通過詢問相關同事得到解答。目前的消息收發框架在接收消息時,先將消息放入線程池的消息隊列,通過信號量來喚醒線程,線程從消息隊列中獲取消息,從消息中取出處理函數進行處理。在應用層處理不同消息時,可能處理同一個變量時,會有發生競態。通過對釋放指針的分析,正常釋放指針指都有一定的規律,當觸發崩潰時,釋放的指針值與正常的值有明顯區別。

經驗小結 發現有dump文件時,查看dump文件生成時間,將當時的日志以及可執行文件,連同dump文件一并放在獨立的文件夾中,便于后續分析。因為當前的日志文件以及可執行文件可能被刪除以及更新。每一次問題的解決,都是一次對已有系統的再深入認識,理解。構造復現環境時,要使用Rel版本,且只能通過日志來確認程序流程,而不是斷點。在linux上,不能使用嵌套屬性的互斥鎖,它會破壞設計意圖,讓潛在的死鎖更加難以發現。讓錯誤盡早暴露好過后續找錯。大膽假設,小心求證,勝利的曙光終會出現。

到此這篇關于Linux上定位后臺服務偶發崩潰的解決方法的文章就介紹到這了,更多相關Linux上定位后臺服務崩潰問題內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Linux系統
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91成人在线网站| 91精品精品| 悠悠资源网久久精品| 久久国产欧美| 欧美亚洲精品在线| 久久久一二三| 国产99久久久国产精品成人免费| 视频福利一区| 亚洲国产日韩欧美在线| 欧美美女一区| 麻豆成人在线| 日韩精品高清不卡| 国产伦精品一区二区三区视频| 国产精品一区免费在线| 国产精品xxxav免费视频| 国产aa精品| 国产中文在线播放| 99精品在线| 久久亚洲图片| 97精品久久| 久久精品国产久精国产| 国产精品毛片久久| 天堂资源在线亚洲| 久久成人国产| 欧美天堂一区| 久久久男人天堂| 欧美.日韩.国产.一区.二区 | 丝袜a∨在线一区二区三区不卡 | 亚洲综合电影一区二区三区| 亚洲欧美网站在线观看| 久久精品999| 成人亚洲欧美| 亚洲免费在线| 欧美久久香蕉| 欧美freesex黑人又粗又大| 91久久亚洲| 欧美精品影院| 欧美三级精品| 午夜亚洲福利| 中文字幕在线免费观看视频| 香蕉久久久久久久av网站| 亚洲人www| 国产精品草草| 九九久久电影| 日本午夜精品一区二区三区电影| 97精品在线| 视频一区中文字幕| 精品不卡一区| 石原莉奈在线亚洲三区| 美女视频黄久久| 激情五月综合| 国产精品多人| 亚洲爱爱视频| 91成人小视频| 91超碰国产精品| 美日韩一区二区三区| 久久国产中文字幕| 国产色噜噜噜91在线精品| 亚洲成av人片一区二区密柚 | 蜜臀av亚洲一区中文字幕| 精品一区二区三区中文字幕在线| 亚洲一区欧美激情| 久久精品伊人| 亚洲午夜国产成人| 蜜臀久久精品| 久久激情五月激情| 欧美在线网站| 国产成人久久精品麻豆二区 | 日韩精品麻豆| 国产精品免费大片| 一区免费视频| 国产一区二区三区四区五区传媒| 亚洲在线免费| 蜜桃av.网站在线观看| 国产亚洲欧美日韩精品一区二区三区| 亚洲欧美一区在线| 精品国产不卡| 丝袜国产日韩另类美女| 色爱综合av| 久久gogo国模啪啪裸体| 亚洲日产国产精品| 黄色aa久久| 国产精成人品2018| 男女男精品网站| 久久精品国产www456c0m| 久久久精品国产**网站| 婷婷亚洲精品| 国产精品毛片一区二区三区| 激情亚洲影院在线观看| 日韩1区在线| 麻豆精品久久久| 日韩欧美高清一区二区三区| 欧美成人国产| 日韩免费看片| 精品久久免费| 国产精品一区二区三区av| 三级欧美在线一区| 午夜国产精品视频| 久久精品1区| 日韩久久精品| 日韩欧美一区二区三区免费看| 国产精品jk白丝蜜臀av小说| 日韩国产在线不卡视频| 亚洲精品综合| 在线观看一区| 日韩视频久久| 亚洲欧洲一区| 91久久在线| 午夜亚洲精品| 国产精品试看| 国产精品日韩欧美一区| 亚洲高清成人| 国产在线成人| 亚洲精品91| av亚洲在线观看| 亚洲欧美伊人| 欧美+亚洲+精品+三区| 国产99精品一区| 91九色精品| 日韩午夜免费| 日韩在线播放一区二区| 视频在线在亚洲| 中文字幕日韩亚洲| 亚洲精品自拍| 欧美亚洲tv| 麻豆国产精品| 黄色欧美在线| 97精品国产| 色老板在线视频一区二区| 亚洲性视频h| 国产免费成人| 中文字幕一区二区三区日韩精品| 亚洲精品视频一二三区| 日韩国产一二三区| 国产精品久一| 国产aⅴ精品一区二区四区| 欧美www视频在线观看| 精品丝袜在线| 伊人久久亚洲美女图片| 亚洲精品免费观看| 国产精品久一| 91亚洲自偷观看高清| 91精品亚洲| 麻豆精品网站| 国产日韩欧美一区在线| 久久精品国产亚洲一区二区三区| 国产成人精品一区二区三区视频| 中文字幕在线视频久| 黄色免费成人| 91av一区| 岛国av在线播放| 五月婷婷六月综合| 五月国产精品| 国产aⅴ精品一区二区四区| 免费观看不卡av| 日韩手机在线| 欧美精品91| 91精品韩国| 香蕉久久夜色精品国产| 国产美女精品视频免费播放软件| xxxxx性欧美特大| 香蕉成人久久| 免费亚洲婷婷| 蜜臀av免费一区二区三区| 日韩欧美四区| 国产美女高潮在线| 久久国产精品99国产| 国产图片一区| 久久婷婷av| 日韩中出av| 都市激情国产精品| 在线视频精品| 国产精品最新| 激情丁香综合| 欧美亚洲综合视频| 日韩国产一二三区| 色吊丝一区二区| 久久黄色影视| 欧美69视频| 国产精品成人国产| aa国产精品| 国内一区二区三区| 亚洲1区在线观看| 91亚洲国产| 一区二区高清| 色一区二区三区| 日韩中文字幕在线一区| 色在线视频观看| 日韩av一二三| 久久理论电影| 欧美激情福利| 香蕉成人久久| 吉吉日韩欧美| 日本成人精品| 99久久99视频只有精品| 欧美日韩亚洲一区在线观看| 五月精品视频| 成人亚洲欧美| 国产精品乱战久久久| 亚洲一区黄色|