一次 nginx502問題排查


現象:通過nginx訪問,偶現502

排查步驟:

1、查看日志,無異常日志打印

2、抓包分析,發現發送http請求后,被源站直接發fin。

 

 

 

 3、注釋代碼關鍵邏輯,測試。定位到是access.lua階段處理的問題。但因為沒有日志,代碼段太多,只能逐步排查。

4、過程中發現這個現象。

 

 

 

5、gdb dump,

崩潰位置在libmaxminddb.so中

 

6、github中閱讀libmaxminddb相關源碼,

 

 

 

7、繼續排查調用相關api的方法

 

 8、繼續看源碼,會釋放一個pool,和gdb dump的位置能對應上

 

 9、查看相關操作代碼。有個遍歷賦值操作。懷疑是遍歷操作引起的。

 

 10、修改代碼,存放頭指針位置,釋放頭指針,問題解決。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM