(1)出现原因 / Log分析

测试在进行压力测试的过程中,快速的对Mtk Camera进行多次拍照,Camera App偶现无法连接到相机的问题。

从Main Log中可以看到最后一次拍照时间是03-14 14:27:56.130678:

main_log_2__2022_0314_142837:23726: 03-14 14:27:54.167785  4016  5385 I CamAp_PhotoDevice2Controller: [takePicture] mSession= com.mediatek.camera.common.device.v2.Camera2CaptureSessionProxy@6c60e09
main_log_2__2022_0314_142837:27298: 03-14 14:27:54.424088  4016  5385 I CamAp_PhotoDevice2Controller: [takePicture] mSession= com.mediatek.camera.common.device.v2.Camera2CaptureSessionProxy@6c60e09
main_log_2__2022_0314_142837:31916: 03-14 14:27:54.716107  4016  5385 I CamAp_PhotoDevice2Controller: [takePicture] mSession= com.mediatek.camera.common.device.v2.Camera2CaptureSessionProxy@6c60e09
main_log_2__2022_0314_142837:35143: 03-14 14:27:54.939082  4016  5385 I CamAp_PhotoDevice2Controller: [takePicture] mSession= com.mediatek.camera.common.device.v2.Camera2CaptureSessionProxy@6c60e09
main_log_2__2022_0314_142837:38871: 03-14 14:27:55.149465  4016  5385 I CamAp_PhotoDevice2Controller: [takePicture] mSession= com.mediatek.camera.common.device.v2.Camera2CaptureSessionProxy@6c60e09
main_log_2__2022_0314_142837:42546: 03-14 14:27:55.356804  4016  5385 I CamAp_PhotoDevice2Controller: [takePicture] mSession= com.mediatek.camera.common.device.v2.Camera2CaptureSessionProxy@6c60e09
main_log_2__2022_0314_142837:46250: 03-14 14:27:55.554694  4016  5385 I CamAp_PhotoDevice2Controller: [takePicture] mSession= com.mediatek.camera.common.device.v2.Camera2CaptureSessionProxy@6c60e09
main_log_2__2022_0314_142837:49748: 03-14 14:27:55.736368  4016  5385 I CamAp_PhotoDevice2Controller: [takePicture] mSession= com.mediatek.camera.common.device.v2.Camera2CaptureSessionProxy@6c60e09main_log_2__2022_0314_142837:55293: 03-14 14:27:56.130678  4016  5385 I CamAp_PhotoDevice2Controller: [takePicture] mSession= com.mediatek.camera.common.device.v2.Camera2CaptureSessionProxy@6c60e09

而发生NE的时间点为03-14 14:27:56.582261:

03-14 14:27:56.582261   500   500 D AEE_AED : $===AEE===AEE===AEE===$
03-14 14:27:56.582392   500   500 D AEE_AED : p 2 poll events 1 revents 1
03-14 14:27:56.583053   500   500 D AEE_AED : PPM cpu cores:8, online:8
03-14 14:27:56.583542   500   500 D AEE_AED : aed_main_fork_worker: generator 0xb400007d062096a0, worker 0x7fe61fb1d0, recv_fd 12
03-14 14:27:56.584626  8905  8905 I AEE_AED : handle_request(12)
03-14 14:27:56.585047  8905  8905 D AEE_AED : check_socket, check socket successful!
03-14 14:27:56.585940  8905  8905 I AEE_AED : pid: 948, tid: 948, >>> /vendor/bin/hw/camerahalserver <<<
03-14 14:27:56.585988  8905  8905 I AEE_AED : read_request: receive requirement from aee_core_forwar
03-14 14:27:56.586180  8905  8905 D AEE_AED : u:r:mtk_hal_camera:s0
03-14 14:27:56.586228  8905  8905 V AEE_AED : dashboard_record_update() : rec->module = /vendor/bin/hw/camerahalserver
03-14 14:27:56.586248  8905  8905 V AEE_AED : Update record[1]
03-14 14:27:56.586264  8905  8905 D AEE_AED :  i, Cls,   count,  last_time,  module
03-14 14:27:56.586278  8905  8905 D AEE_AED : ====================================================================
03-14 14:27:56.586295  8905  8905 D AEE_AED :  0,  3,       1,   1647239060,     /vendor/bin/hw/mtkfusionrild
03-14 14:27:56.586309  8905  8905 D AEE_AED :  1,  3,       1,   1647239276,     /vendor/bin/hw/camerahalserver
03-14 14:27:56.586323  8905  8905 D AEE_AED :  2, -1,       0,   0,
03-14 14:27:56.586337  8905  8905 D AEE_AED :  3, -1,       0,   0,
03-14 14:27:56.586351  8905  8905 D AEE_AED :  4, -1,       0,   0,
03-14 14:27:56.586365  8905  8905 D AEE_AED :  5, -1,       0,   0,
03-14 14:27:56.586380  8905  8905 D AEE_AED :  6, -1,       0,   0,
03-14 14:27:56.586409  8905  8905 D AEE_AED :  7, -1,       0,   0,
03-14 14:27:56.586501  8905  8905 W AEE_AED : DAL feature is off, just return
03-14 14:27:56.586604  8905  8905 E AEE_AED : aed_ne_core_session: Failed to notify aed driver dump status for /vendor/bin/hw/camerahalserver, error: Invalid argument
03-14 14:27:56.586644  8905  8905 I AEE_AED : Dumping EXP/Native (NE)
03-14 14:27:56.586697  8905  8905 I AEE_AED : aed_wait_decrypt done! file base encryption
03-14 14:27:56.586762  8905  8905 I AEE_AED : db base:/data/aee_exp

通过解析db文件和addr2line工具可以查看出错的文件和行数,如果不清楚可以查看如下文章利用addr2line命令定位backtrace的Error行数,但是这种方式对于本题并没有什么用处。

我们接着从Kernel Log来看:

//223.010310
<6>[  223.010310] -(0)[790:Dispatcher_0][thread:790] 2022-03-14 06:27:50.542626 UTC;android time 2022-03-14 14:27:50.542626//228.642311
<6>[  228.642311]  (6)[5537:IspDeqThd_TG1][ISP][ISP_WaitIrq] interrupted by system signal,return value(-512),irq Type/User/Sts(0x0/0/0x4000)
<5>[  228.642322]  (6)[5537:IspDeqThd_TG1][ISP][ISP_ioctl] Fail, Cmd(1077439235), Pid(5523), (process, pid, tgid)=(IspDeqThd_TG1, 5537, 948)
//228.642346
<6>[  228.642346]  (6)[5536:IspEnqThd_TG1][ISP][ISP_WaitIrq] interrupted by system signal,return value(-512),irq Type/User/Sts(0x0/4/0x40)
<5>[  228.642350]  (6)[5536:IspEnqThd_TG1][ISP][ISP_ioctl] Fail, Cmd(1077439235), Pid(5523), (process, pid, tgid)=(IspEnqThd_TG1, 5536, 948)
//228.642466
<6>[  228.642466]  (3)[5568:AAOBufThread_2][ISP][ISP_WaitIrq] interrupted by system signal,return value(-512),irq Type/User/Sts(0x0/0/0x40)
<5>[  228.642476]  (3)[5568:AAOBufThread_2][ISP][ISP_ioctl] Fail, Cmd(1077439235), Pid(5523), (process, pid, tgid)=(AAOBufThread_2, 5568, 948)

从Log可以看到,223s的时间对应的是14:27:50.542626,而发生NE的时间是14:27:56.582261,也就是6s后出现的NE,而再此时间的5s多后,可以从Kernel Log看到发生了ISP_WaitIrq。

本文主要是为了串通logcat Log和kernel Log发生问题的时间线。

Mtk平台出现NE的分析简记相关推荐

  1. MTK平台手机重启问题分析

    阅读五分钟,每日十点,和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 一.AEE 系统机制简介 二.AEE 重 ...

  2. 基于MTK平台kpd驱动初步分析

    一.kpd_pdrv_probe函数的分析:   /*1. 输入设备实例  kpd_input_dev */ 全局变量:static struct input_dev *kpd_input_dev; ...

  3. MTK平台LCM打静电分析

    说明:ESD就是静电.打ESD就是打静电.静电这东西是瞬间电压,特点就是瞬间电压很高,达到10K左右,或更高.而电流是非常小的. 因我们的现在芯片都是半导体,半导体对外界电压很敏感的.如果碰到高电压, ...

  4. mtk平台使用GAT工具分析aee db文件

    AEE是一个异常的捕获和生成调试信息的机制,通过gat工具定位了两个问题,分享下. 先到官网下载GAT工具(包含window和linux版本).默认user/debug版本没有开启aee,参考FAQ2 ...

  5. MTK 平台lcm驱动框架分析1

    源码路径: kernel-3.18/arch/arm/boot/dts/mt6580.dtsi kernel-3.18/drivers/misc/mediatek/video/common/mtkfb ...

  6. GPS之MTK平台代码小结以及gps协议注释

            分类:             通信硬件与通讯协议              2014-10-20 09:55     337人阅读     评论(0)     收藏     举报   ...

  7. MTK 平台充电开机

    MTK平台修改Bootloader源代码,让Android设备一通电就自动开机 为什么要一通电就自动开机 总所周知,一台Android设备,默认情况下,插上USB供电,都是显示正在充电的电池图标,按住 ...

  8. MTK 驱动(67)---深入MTK平台bootloader启动之【 lk -amp;gt; kernel】分析笔记

    Pre-loader 运行在ISRAM,待完成 DRAM 的初始化后,再将lk载入DRAM中,最后通过特殊sys call手段实现跳转到lk的执行入口,正式进入lk初始化阶段. 一.lk执行入口: 位 ...

  9. Android 功耗(4)---MTK平台待机功耗分析流程

    MTK平台待机功耗分析流程 MTK平台待机功耗分析流程 1.目的 2.MTK平台各个场景功耗数据测试方法 很多功耗问题都是因为测试手法不对,列出一些常用场景功耗测试手法.  测试功耗数据之前,请先确认 ...

最新文章

  1. 【Win 10 应用开发】将墨迹保存到图像的两种方法
  2. linux 下的 多线程http 下载器
  3. Windows 命令行大全
  4. 【解题报告+思路拓展】蓝桥杯 拉马车 2017年C组真题
  5. qq空间网页设计_网页设计中负空间的有效利用
  6. div中的table内容过多时不超出div的范围解决方法
  7. Oracle PL/SQL编程之变量
  8. SQL实战之查找最晚入职员工的所有信息
  9. windows下MySQL 5.7+ 解压缩版安装配置方法
  10. html的版本适配,2.1.3 HTML 5确保了与之前HTML版本的兼容性
  11. Spring Boot整合Druid的使用以及步骤
  12. MYSQL入门(一)
  13. 中国科学院计算机研究生面试,19年中科院信工所考研经验分享【初试+复试】
  14. centos安装宝塔跳过绑定手机号
  15. Win7怎么开启或关闭dep数据执行保护
  16. 哪一款iPhone拍照效果最好?拍照最好用的苹果手机是哪款
  17. 高铁车次号为什么会改变?
  18. Db2 purescale环境db2start因为缺少TSAMP license报错:SQL1677N
  19. Date 类 getTime() 方法
  20. 因式分解结合最近邻:多层面的协同过滤模型

热门文章

  1. 微信小程序如何获取微信昵称和头像
  2. html表格填充空白单元格,快速填充空白单元格【应对步骤】
  3. 什么是android刷机包,刷机包是什么?ROM刷机包是什么意思?
  4. idea 亮度 调整_如何设置显示屏幕的亮度
  5. 教程:如何把公众号变成淘宝查券返利机器人
  6. cPanel WHM 安装教程
  7. java ajax 导入excel_通过ajax上传excel
  8. mybatis-plus使用注意事项
  9. java 输入出生年月_java代码实现输入你出生年月日,计算到今天已经度过了多少天...
  10. 怎么提高android播放器的网络带宽,使用GSYVideoPlayer增加显示实时网速