原文:深入分析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