binder耗尽,几乎所有的binder都是处理定位相关;

"android.fg" prio=5 tid=10 Native

| group="main" sCount=1 dsCount=0 flags=1 obj=0x156c0630 self=0x7fb2ec9800

| sysTid=28050 nice=0 cgrp=default sched=0/0 handle=0x7ec1702d50

| state=S schedstat=( 75607657358 36450530927 252276 ) utm=4609 stm=2951 core=6 HZ=100

| stack=0x7ec1600000-0x7ec1602000 stackSize=1039KB

| held mutexes=

kernel: (couldn't read /proc/self/task/28050/stack)

native: #00 pc 00000000000803bc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)

native: #01 pc 0000000000083a24  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+140)

native: #02 pc 00000000000e44dc  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+60)

native: #03 pc 0000000000059948  /system/lib64/libbinder.so (android::IPCThreadState::blockUntilThreadAvailable()+96)

at android.os.Binder.blockUntilThreadAvailable(Native method)

at com.android.server.Watchdog$BinderT hreadMonitor.monitor(Watchdog.java:391)

at com.android.server.Watchdog$HandlerChecker.run(Watchdog.java:339)

at android.os.Handler.handleCallback(Handler.java:883)

at android.os.Handler.dispatchMessage(Handler.java:100)

at android.os.Looper.loop(Looper.java:227)

at android.os.HandlerThread.run(HandlerThread.java:67)

at com.android.server.ServiceThread.run(ServiceThread.java:44)

"Binder:28034_1C" prio=5 tid=229 Waiting

| group="main" sCount=1 dsCount=0 flags=1 obj=0x157bb320 self=0x7e00e73800

| sysTid=30359 nice=0 cgrp=default sched=0/0 handle=0x7db2884d50

| state=S schedstat=( 174968218212 88356912254 500845 ) utm=11702 stm=5794 core=1 HZ=100

| stack=0x7db278e000-0x7db2790000 stackSize=991KB

| held mutexes=

at sun.misc.Unsafe.park(Native method)

- waiting on an unknown object

at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)

at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:450)

at java.util.concurrent.FutureTask.get(Future Task.java:192)

at com.android.server.ServiceWatcher.runOnHandlerBlocking(ServiceWatcher.java:518)

at com.android.server.ServiceWatcher.runOnBinderBlocking(ServiceWatcher.java:435)

at com.android.server.location.GeocoderProxy.getFromLocation(GeocoderProxy.java:69)

at com.android.server.LocationManagerService.getFromLocation(LocationManagerService.java:4137)

at android.location.ILocationManager$Stub.onTransact(ILocationManager.java:666)

at android.os.Binder.execTransactInternal(Binder.java:1021)

at android.os.Binder.execTransact(Binder.java:994)

thread 29237: l 10 need_return 0 tr 0

outgoing transaction 82726487: 0000000000000000 from 29141:29237 to 28034:0 code 1 flags 10 pri 0:120 r1 start 119639.229873 android 2020-08-19 12:54:49.610

transaction complete

thread 29454: l 10 need_return 0 tr 0

outgoing transaction 82721080: 0000000000000000 from 29141:29454 to 28034:29884 code 9 flags 10 pri 0:120 r1 start 119629.097362 android 2020-08-19 12:54:39.478 transaction complete

thread 29455: l 10 need_return 0 tr 0

outgoing transaction 82721075: 0000000000000000 from 29141:29455 to 28034:30359 code 9 flags 10 pri 0:120 r1 start 119629.097212 android 2020-08-19 12:54:39.478

transaction complete

thread 29456: l 10 need_return 0 tr 0

outgoing transaction 82721093: 0000000000000000 from 29141:29456 to 28034:29830 code 9 flags 10 pri 0:120 r1 start 119629.097831 android 2020-08-19 12:54:39.478

transaction complete

thread 29457: l 10 need_return 0 tr 0

outgoing transaction 82721105: 0000000000000000 from 29141:29457 to 28034:29999 code 9 flags 10 pri 0:120 r1 start 119629.098107 android 2020-08-19 12:54:39.479

transaction complete

thread 29458: l 10 need_return 0 tr 0

outgoing transaction 82721082: 0000000000000000 from 29141:29458 to 28034:28179 code 9 flags 10 pri 0:120 r1 start 119629.097439 android 2020-08-19 12:54:39.478

transaction complete

thread 29459: l 10 need_return 0 tr 0

outgoing transa ction 82721131: 0000000000000000 from 29141:29459 to 28034:28722 code 9 flags 10 pri 0:120 r1 start 119629.098851 android 2020-08-19 12:54:39.479

transaction complete

thread 29460: l 10 need_return 0 tr 0

outgoing transaction 82721103: 0000000000000000 from 29141:29460 to 28034:29893 code 9 flags 10 pri 0:120 r1 start 119629.098085 android 2020-08-19 12:54:39.479

u:r:radio:s0                   radio        29141 29141 27931 6552356  54060 futex_wait_queue_me 0 efg  S  19   0      -   0  fg   7 com.mediatek.ims            om.mediatek.ims

如上binder主要来自om.mediatek.ims的申请。该进程为通信相关进程,而binder耗尽,几乎所有的binder都是处理定位相关.binder主要来自com.mediatek.ims的调用 问题原因是WfcLocationHandler.java 调用了太多重复的LocationManager.requestLocationUpdates()而location那边是bind call等网络回应response才会结束,很多request网络一直没回应,就把binder耗光了。解决方法是把duplicate request都ignore掉。

有ims为mtk network相关进程,与mtk沟通提供patch进行修复。

2805076 /system/WTD/android.fg_blocked_67fc4997-ims导致binder耗尽相关推荐

  1. Android系统中的Binder通信机制分析(7)- Java 层的 Binder 机制

    声明 其实对于Android系统Binder通信的机制早就有分析的想法,记得2019年6.7月份Mr.Deng离职期间约定一起对其进行研究的,但因为我个人问题没能实施这个计划,留下些许遗憾- 文中参考 ...

  2. android webview anr,Android WebView客户端导致ANR

    我正在实现一个客户端库到OAUTH API.在认证过程中,webview客户端会启动并加载认证页面的URL.但是,webview客户端有时可以正确启动,但最近开始导致ANR.Android WebVi ...

  3. Android跨进程通信Binder机制与AIDL实例

    文章目录 进程通信 1.1 进程空间划分 1.2 跨进程通信IPC 1.3 Linux跨进程通信 1.4 Android进程通信 Binder跨进程通信 2.1 Binder简介 2.2 Binder ...

  4. android上传图片崩溃,导致安卓手机死机的照片拍摄者表示这张照片是无意之举...

    原标题:导致安卓手机死机的照片拍摄者表示这张照片是无意之举 上周,我们报道了在一些安卓手机上将某张图片设置为壁纸会导致手机崩溃,并卡在一个开启和关闭显示屏的循环中,让用户无法进行锁屏.它影响了大多数A ...

  5. 写给 Android 应用工程师的 Binder 原理剖析

    2019独角兽企业重金招聘Python工程师标准>>> 一. 前言 这篇文章我酝酿了很久,参考了很多资料,读了很多源码,却依旧不敢下笔.生怕自己理解上还有偏差,对大家造成误解,贻笑大 ...

  6. 关于Android外设键盘导致系统输入法隐藏的解决方案

     关于Android外设键盘导致系统输入法隐藏的解决方案 Android系统发展到今天,如果你还认为它只是应用于手机的话,那你就out了.现在很多企业在通过Android系统来定制他们的相应的设备 ...

  7. android应用虚拟内存耗尽,GuardMalloc导致虚拟内存耗尽

    我们的应用程序偶尔会遇到崩溃(通过BugSense发现),因为看起来内存不足或内存损坏情况,所以为了帮助我跟踪它们,我启用了以下功能: Malloc Scribble Malloc Guard Edg ...

  8. [转]避免PHP-FPM内存泄漏导致内存耗尽

    对于PHP-FPM多进程的模式,想要避免内存泄漏问题很简单,就是要让PHP-CGI在处理一定数量进程后退出即可. 否则PHP程序或第三方模块(如Imagemagick扩展)导致的内存泄漏问题会导致内存 ...

  9. Android的IPC机制Binder

    第一部分 Binder的组成  1.1 驱动程序部分驱动程序的部分在以下的文件夹中: Java代码  kernel/include/linux/binder.h kernel/drivers/andr ...

最新文章

  1. 微信小程序自定义轮播图滚动样式 自定义组件轮播图的实现
  2. 编写高质量代码 Web前端开发修炼之道 读书笔记
  3. 基本ACL与高级ACL
  4. SAP 电商云 UI 服务器端渲染的建议架构
  5. 用Python告诉你,为什么宇宙的尽头是公务员!
  6. java se ee me都有什么区别?
  7. 用工具激活visio2013
  8. perl脚本进制转换
  9. [译]区块链技术全解析入门版
  10. Windows 7下可以使用的虚拟光驱软件
  11. SEO人员,如何搭建你的网站基础框架?
  12. JAVA中解析XML和书写XML
  13. 程序员必备的10个B站优质UP主!
  14. 【启动程序是无法加载 libnsl.so.1】
  15. 太阳神朱厚丞:揭秘2018年物联网发展趋势
  16. “_CRT_SECURE_NO_DEPRECATE”: 未定义宏或在预编译头使用后定义发生改变
  17. 华硕天选2 WLAN不可用解决办法
  18. pwd python 安装 模块_在windows上安装pwd模块时出错
  19. 中国文化产业基地(园区)前景预测和发展战略规划建议报告2021年版
  20. [2021.10.14][Android P]OpenCamera详细分析(Camera2+Hal3)

热门文章

  1. window中关于端口被占用的解决443 failed: port is already allocat
  2. rg1 蓝光危害rg0_十款常见护眼台灯测评:网易、小米不负众望,艾目入眼亮度超标25倍多?...
  3. C语言输出教学日历表
  4. 帝国模板本地安装测试时显示“不支持mysql数据”
  5. 2012暑期川西旅游之第八天(青城山-成都)_我是亲民_新浪博客
  6. Sql server如果存在就更新,不存在就插入
  7. 女神撤回的消息被我找回了..Python教你查看
  8. 一元二次不等式和一元三次不等式解法的思考
  9. js+css3的卡牌抽奖特效动画
  10. 计算机校本培训心得,校本研修学习心得体会范文3篇