MIB职涯
文章平均质量分 73
zirconsdu
这个作者很懒,什么都没留下…
展开
-
Watchdog kills system service in system_server
本文描述由Watchdog杀掉系统服务而引起sysytem_server退出的issue, 并简要介绍Watchdog机理和简短记录ServerThread的looper线程.This watchdog issue is a very very common issue.The root cause is that service is blocked on something and i原创 2012-10-12 22:05:10 · 7668 阅读 · 0 评论 -
CursorWindow can not be created due to cursor [memory] leak
记录了Android系统上由于cursor泄露导致内存耗尽(error -12)导致的CursorWindow不能再创建的Issue。[Symptom]08-30 20:27:36.751 E/CursorWindow( 760): Could not allocate CursorWindow '/data/data/com.android.providers.media/databa原创 2013-04-03 15:04:53 · 7881 阅读 · 0 评论 -
The Android BUG (V)- WebView plug surfaceView caused disorder
The screen Android BUG (V)- WebView plug the use surfaceView caused MansianBefore in debug flash 11 effect of ICS use (this version surfaceView, up and down the market, basically with nativeWindow)f转载 2013-06-18 19:01:20 · 2115 阅读 · 0 评论 -
使用Memory Analyzer tool(MAT)分析内存泄漏
使用Memory Analyzer tool(MAT)分析内存泄漏(一)前言的前言:本文是自2005年8月以来,首次在一个月之内发布三篇文章。谨以此文献给这么多年始终不济的我。所谓少不入川,而今已非年少。北漂快两年了,何时能回到故乡,回去后又会怎样,也许永远是个未知…… 前言 在平时工作过程中,有时会遇到OutOfMemoryError,我们知道遇到Error一般表明程序存在着转载 2013-06-19 13:38:48 · 1802 阅读 · 0 评论 -
java.lang.IllegalArgumentException: View not attached to window manager when dismissing dialog
Exception One,java.lang.IllegalArgumentException: View not attached to window managerat android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:664)at android.view.WindowManagerImpl原创 2013-04-03 13:50:58 · 6436 阅读 · 0 评论 -
Issues caused by virtual function call or function pointer call
几个对象释放后虚方法调用产生的错误;同时简记虚方法表的GCC实现和结构。注意默认虚析构函数,和虚方法表的负偏移结构。原创 2013-07-16 16:53:06 · 2486 阅读 · 0 评论 -
Issues maybe not well backtraced for memcpy
由于memcpy的实现使用了lr寄存器,所以当SIGSEGV发生在memcpy中时,Call Stack未必能很好地追踪出来。这时可以根据Stack中地址上的符号寻找可能的函数,然后确定发生在memcpy中的是什么问题。原创 2013-06-19 19:48:42 · 3451 阅读 · 1 评论 -
Android traceview and linux oprofile
Android Java Application TraceProfiling with Traceview and dmtracedumphttp://developer.android.com/tools/debugging/debugging-tracing.html Linux C/C++ OProfileLinux Tools Project/OProfile转载 2013-11-20 14:59:52 · 2607 阅读 · 0 评论 -
android performance trace使能cpufreq_gov
记录了使用android sdk systrace分析工具的一些准备工作。原创 2013-06-18 12:02:42 · 2723 阅读 · 0 评论 -
Analyzing Display and Performance with Systrace
Analyzing Display and Performance with Systracehttp://developer.android.com/tools/debugging/systrace.html一点小原理:Systrace是对Linux Kernel中ftrace的封装。应用进程需要利用Android提供的Trace类来使用Systrace。ATRACE_INT:用转载 2013-11-20 11:36:36 · 4021 阅读 · 0 评论 -
Some issues caused by memory parameter not well configed
本文记录了一些因为内存参数配置引起的一些issue. 在分析这些issue的时候, 因为不能肯定root cause是硬件引起且涉及分工, 所以有些语句表达的比较委婉, 仅从技术角度分析问题所在. 在得到内存参数配置反馈后, 增加了root cause分析部分内容.可以做为分析native crash方法的一些总结.原创 2012-11-19 19:04:35 · 9413 阅读 · 0 评论 -
SIGBUS:BUS_ADRERR for stack access violation in memcpy
记录一个发生在copy constructor中的SIGBUS:BUS_ADRERR的trouble shooting,涉及三个点1. In memcpy again2. SIGBUS:BUS_ADRERR for stack access3. copy constructor原创 2013-12-30 11:34:22 · 11426 阅读 · 1 评论 -
android.os.OperationCanceledException - What it means
01-29 01:33:12.969 434 470 I ActivityManager: Displayed com.google.android.talk/.SigningInActivity: +997ms01-29 01:33:13.039 6159 6160 D dalvikvm: GC_CONCURRENT freed 506K, 10% free 6609K/7303原创 2013-04-03 10:48:17 · 3332 阅读 · 1 评论 -
Code snippets about android locks screen
记录了系统锁屏控制的代码片段, 可以从比较高的层次进行锁屏控制。各种上层接口会调用到KeyguardViewMediator::doKeyguardLocked()进行锁屏。Mediator设计模式?In doKeyguardLocked()@KeyguardViewMediator.javaIt can be seen that if system reboots abnormall原创 2013-04-03 11:14:33 · 1489 阅读 · 0 评论 -
Some ashmem based objects can not be created due to file descriptor leak
记录了Android系统上基于ashmem或Fd的一些对象由于进程内文件描述符耗尽不能被创建的Issues。Example One.06-22 22:38:05.949 27928 31688 E CursorWindow: Could not allocate CursorWindow '/data/data/com.android.providers.downloads/databas原创 2013-04-03 15:32:03 · 8867 阅读 · 3 评论 -
sqlite database lock problem in android content providers
本文描述了Android Content Provider实现时,sqlite数据库出现lock问题的大致原因和解决思路;虽然最终可以归结为线程同步和资源竞争问题, 但是对于trouble shooting却并非如此简单.[Symptom]From the logcat:08-22 22:32:30.499 475 1692 W SQLiteDatabase: databas原创 2012-10-17 19:23:18 · 6359 阅读 · 0 评论 -
A common thread sync issue analysis of android application
Android应用中, 很多问题都是因为线程同步而引起, 本例涉及应用的其它方面很少, 是一个典型的线程同步问题.A common thread sync issue.[Symptom]07-01 02:14:58.549 14861 2415 W dalvikvm: threadid=20: thread exiting with uncaught exception (group原创 2012-11-07 19:51:33 · 1427 阅读 · 0 评论 -
ANR of app caused by native mediaserver
本文记述了由mediaserver引起的其它应用ANR的分析方法. 因为android的pthread_mutex使用BITS_NORMAL类型futex实现, 不能从futex本身和内核对象知道当前哪个进程拥有锁, 所以针对mediaserver这种native应用, 只能从线程组内各线程的调用栈来分析锁拥有线程链.For android JellyBean release.From原创 2012-11-27 20:40:37 · 4581 阅读 · 4 评论 -
dvm aborts for acceesing stale reference
本文主要描述Android下由于线程同步问题引起的dvm访问已经销毁的对象的Issue.文末, 会给出bug定位和参考解决方案.可以做为MIB 系统BUG定位和分析参考资料. Log标志E dalvikvm: JNI ERROR (app bug): accessed stale global reference 0x%p (index %d in a table of siz原创 2012-09-24 20:11:25 · 7895 阅读 · 0 评论 -
A more complicated thread sync issue about audioFlinger::EffectModule
AudioFlinger中的一个线程同步引起的issue, 涉及到了audio方面更复杂点的Framework.[Symptom]11-09 21:47:37.879 161 6305 W AudioFlinger: removeEffect_l() 0x41cc53f0 cannot promote chain for effect 0x42445ac811-09 21:47:原创 2012-11-16 19:55:45 · 3334 阅读 · 0 评论 -
java.util.ConcurrentModificationException--What it means
[Symptom from logcat]11-26 22:02:37.859 421 487 D ConnectivityService: ConnectivityChange for mobile: DISCONNECTED/DISCONNECTED11-26 22:02:37.859 421 682 D NetdConnector: RMV 11-26 22:02原创 2012-12-09 19:33:05 · 2057 阅读 · 0 评论 -
sqlite3 engine claims no such function when compiling sql statement
本文介绍了sqlite3解析和编译SQL语句时, 宿主语言设置的定制函数找不到的issue; 主要引用相关代码, 描述了sqlite编译SQL语句的大致流程.[GENERAL DESCRIPTION:]Process: com.sonyericsson.albumFlags: 0x8be45Package: com.xxxxxxxxx.albumBuild: xxxxxxxxx原创 2012-12-11 20:51:05 · 6047 阅读 · 0 评论 -
A simple dead-lock issue of android app
描述了Android app中一个简单的死锁及其解决, 此处仅涉及两个线程; 更复杂点的死锁可能涉及多个线程, 形成一个环.[SYMPTOM]----- pid 850 at yyyy-mm-dd hh:mm:ss -----Cmd line: com.android.phoneDALVIK THREADS:(mutexes: tll=0 tsl=0 tscl=0 ghl=0)原创 2012-12-13 19:37:36 · 2326 阅读 · 0 评论 -
Two more complicated dead-lock issues of android app
因为涉及到一些QC代码, 所以不粘贴代码了, 仅记录思路.[第一个内存dump分析]From Android system log WARN [ 11903.510399] (598:616) BroadcastQueue Timeout of broadcast BroadcastRecord{41d635a0 android.intent.action.SCREEN_ON}原创 2012-12-27 22:27:08 · 3379 阅读 · 0 评论 -
SIGPIPE received in android system native app on Jellybean
GENERAL DESCRIPTION12-16 06:21:18.779 436 459 I ActivityManager: Start proc com.xxxxxx.crashmonitor for service com.xxxxxx.crashmonitor/.service.CrashMonitorService: pid=19174 uid=10118 gids={10原创 2012-12-20 20:42:02 · 6698 阅读 · 0 评论 -
java.util.concurrent.RejectedExecutionException for multi AsyncTask
java.util.concurrent.RejectedExecutionException: Task android.os.AsyncTask$3@41670928 rejected from java.util.concurrent.ThreadPoolExecutor@41523b60[Terminated, pool size = 0, active threads = 0, queu原创 2013-03-04 16:25:46 · 11417 阅读 · 1 评论 -
What SurfaceFlinger is doing when Buffer of Layers can not be dequeued
记录了Android SurfaceFlinger layer在不能dequeueBuffer的时候,通常是所有该Layer的3个Graphic Buffer都被使用的时候,该检测SurfaceFlinger的SurfaceFlinger线程为什么没有及时合成消费掉Buffer的思路;另外的,记录了linux workqueue中寻找某个正在被执行的work所使用的worker thread的思路。原创 2014-01-24 11:12:35 · 4058 阅读 · 2 评论