原文:深入分析glibc內存釋放時的死鎖bug

通常我們認為一旦內存寫溢出,程序就很容易崩潰。所以服務器上通常會對一些重要進程做腳本保護,一旦崩潰立即重新拉起。 最近發現我們一個公共服務內存寫溢出時程序沒有崩潰,而是卡死了。 為了深入分析原因,我們仔細review了glibc的代碼,並發現一個較為隱蔽的bug。 先來看這個卡死的程序堆棧 位環境,下同 : x b ac in lll mutex lock wait from lib libc. ...

2012-09-14 19:16 4 9618 推薦指數:

查看詳情

JVM——深入分析對象的內存布局

概述 一個對象本身的內在結構需要一種描述方式,這個描述信息是以字節碼的方法存儲在方法區中的。Class 本身就是一個對象,都以 KB 為單位,如果 new Integer() 為了表示一個數據就占用KB級別的內存就有點不值了,下面講解 JVM 是如何做的。為了表示對象的屬性、方法等信息,不得不 ...

Thu Mar 02 23:44:00 CST 2017 8 6652
Memcached深入分析內存調優

上大家都已經知道了,是基於libevent,支持異步的事件處理。 最主要的是要知道它的內存管理機制,使用如 ...

Sat Jun 30 08:55:00 CST 2018 0 928
Linux堆內存管理深入分析(上)

Linux堆內存管理深入分析(上半部) 作者:走位@阿里聚安全 0 前言 近年來,漏洞挖掘越來越火,各種漏洞挖掘、利用的分析文章層出不窮。從大方向來看,主要有基於棧溢出的漏洞利用和基於堆溢出的漏洞利用兩種。國內關於棧溢出的資料相對較多,這里就不累述了,但是關於堆溢出的漏洞利用資料就很 ...

Fri May 13 01:12:00 CST 2016 7 14996
ThreadLocal 內存泄漏問題深入分析

寫在前面 ThreadLocal 基本用法本文就不介紹了,如果有不知道的小伙伴可以先了解一下,本文只研究 ThreadLocal 內存泄漏這一問題。 ThreadLocal 會發生內存泄漏嗎? 先給出結論:如果你使用不當是有可能發生內存泄露的 ThreadLocal 和 當前 ...

Thu May 21 20:30:00 CST 2020 0 1246
Linux堆內存管理深入分析(下)

Linux堆內存管理深入分析 (下半部) 作者@走位,阿里聚安全 0 前言回顧 在上一篇文章中(鏈接見文章底部),詳細介紹了堆內存管理中涉及到的基本概念以及相互關系,同時也着重介紹了堆中chunk分配和釋放策略中使用到的隱式鏈表技術。通過前面的介紹,我們知道使用隱式鏈表來管理內存 ...

Tue May 24 01:42:00 CST 2016 1 5308
深入分析ContentProvider

  ContentProvider是Android四大組件之一,承擔着跨進程數據訪問的重要職責。本文就從一次ContentProvider訪問入手,分析下它是怎么完成跨進程數據訪問的。   既然是跨進程,那就必須有一個客戶端進程和一個ContentProvider進程,我們先從客戶端進程分析 ...

Fri Aug 23 04:29:00 CST 2013 1 10150
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM