一个Android的用到相机的service程序,在比较少的情况下会出现在系统启动时crash。log显示是在调用ACameraDevice_createCaptureSession时返回错误ACAMERA_ERROR_STREAM_CONFIGURE_FAIL(这个程序是用jni操作相机的),configure的宽高都是0。再看前面mct线程开启camera的模块的地方,正常应该有6个模块,sensor,iface,isp,stats,pproc,imglib,出错的log只开启了5个,少了最重要的sensor模块。

出错的时候mct没有正常开启sensor模块,没看到任何输出,怀疑sensor这个module根本就没有传给mct。camera的daemon入口在/vendor/qcom/proprietary/mm-camera/mm-camera2/server-imaging/server.c的main函数,会调用server_process_module_sensor_init()初始化sensor,调用server_process_module_init()初始化其他module。然后主循环处理HAL事件,如果是camera new session,会一路调用server_process_hal_event()->mct_controller_new()->mct_pipeline_start_session()去开启所有的模块,为每个模块单独启动线程。

server_process_module_sensor_init()会调用sensor自己的初始化函数module_sensor_init()去初始化sensor。server_process_module_sensor_init()只有在把sensor加入module list的时候出错了才会返回FALSE。即使module_sensor_init()失败了,也只是没有把sensor加入到module list,还是会返回TRUE。所以基本上可以确认是sensor初始化失败了。

这应该属于系统出错了,而不是出在我们的程序。再查kernel log,终于发现csid初始化失败了。

09-30 08:06:56.936     0     0 E msm_csid_init: 587 msm_csid_reset failed

默认的csid reset的timeout是100 ms。怀疑硬件上的改动导致reset时间可能不够,偶尔就会初始化失败,增加到500。

内容来源于网络如有侵权请私信删除

android 相机启动失败怎么回事,Android相机启动crash错误排查相关推荐

  1. centos中mysql启动失败,解决CentOS下mysql启动失败

    解决CentOS下mysql启动失败 今天用service mysqld start 命令启动mysql失败 查看mysql日志 tail -n 10 /var/log/mysql.log160702 ...

  2. mysql innodb启动失败_关于mysql innodb启动失败无法重启的处理方法讲解

    电脑在使用过程中死机,重启后发现mysql没有启动成功,查看错误日志发现是innodb出现问题导致mysql启动失败. 错误日志$ mysql.server start Starting MySQL ...

  3. mysql启动失败:mysql服务无法启动 服务没有报告任何错误 解决方法

    My SQL server8.0 安装后,启动失败,提示信息如下: 尝试以下步骤,最终解决问题: 1 查看host文件(C:WindowsSystem32driversetchosts),是否修改过本 ...

  4. Android获取SharedPreferences失败,且App无法启动

    说明: 一个app访问另外一个app的SharedPreferences,程序启动之后没有显示界面就卡死了,无任何提示信息. 错误原因: 应用调用createPackageContext失败,但是也不 ...

  5. android 请求权限失败怎么办,java – Android HTTP POST请求错误 – 套接字失败EACCES(权限被拒绝)...

    我正在尝试从 Eclipse下的Android应用程序向我的localhost发送POST请求,但是我收到此错误: socket failed EACCES (Permission denied). ...

  6. android 铃声设置失败,无法通过Android代码设置铃声

    我正在开发一个应用程序,它将随机设置用户已选择的铃声列表中的铃声.无法通过Android代码设置铃声 虽然我的代码适用于Android N及以上版本,但我遇到了Android M及以下版本的问题.我为 ...

  7. android百度定位失败的原因,android百度地图定位集成失败,求助

    权限也有申请 然后build.gradle 中指定so文件路径 sourceSets { main { jniLibs.srcDirs = ['libs'] java { } } androidTes ...

  8. Docker 容器启动失败日志分析方法,启动sonic容器实例simple时未报错运行一会又停止的问题排查实例演示

    从这个过程可以看到启动容器没几秒自己就关闭了. 首先通过 docker ps -a 查出所有的容器实例. 查到出现问题的实例 ID. 然后通过 docker logs 2b9ca660fc69 命令查 ...

  9. mamp mysql启动失败_MAMP PRO mysql无法启动

    mac上可能勾选了软件自动更新,然后MAMP PRO 升级了. 升级了之后,mysql启动就出问题了,看报错日志: InnoDB: The error means the system cannot ...

最新文章

  1. 2 0 1 8 全球人工智能技术大会--邀请函
  2. 【Python-ML】SKlearn库特征抽取-KPCA
  3. 零基础,最完整的WordPress建站教程
  4. Linux下打印调试管理
  5. sqlite 查询 支持多用户同时_SQLite支持多进程同时操作数据库文件吗?
  6. GIL、进/线程池、同/异步、阻/非阻塞
  7. 加油吧 少年(励志)
  8. 回到顶部的几种实现方法
  9. json格式数据集转yolo txt格式
  10. GoldWave几种转换格式方法
  11. js在ie下打开对话窗口的方式
  12. Android之图片压缩
  13. 【论文】联邦学习区块链 论文集(三)
  14. 深度学习【道路提取】:马萨诸塞州道路数据集分享
  15. 2022年1~6中国市场汽车销量可视化
  16. HTML+CSS+JS实操京东购物车
  17. 优酷路由宝增加php,优酷路由宝旗舰版YK-L2刷改华硕[N14U N54U]5G 2G的7620老毛子Padavan固件方法...
  18. Idea搜索的时候匹配不到,半角空格和全角空格的问题
  19. 《穷查理宝典》芒格思维笔记(二)
  20. 从受损的Word文档挽救文字(转)

热门文章

  1. Google Sheet 学习笔记
  2. MPU和MMU、MPU和MCU的区别
  3. 如何撰写品牌故事?品牌故事软文撰写技巧分享
  4. 程序员进阶!阿里P7级别面试经验总结,深度好文
  5. unity塔防游戏怪物转向_玩一玩这款塔防游戏?
  6. STC89C51单片机
  7. golang: 密码中允许出现数字、大写字母、小写字母、特殊字符,但至少包含其中2种且长度在8-16之间(四种符号任意满足三种即可)
  8. c语言查询学号(字符串),c语言短学期
  9. opencv图像处理学习(六十八)——肤色检测
  10. java为word、excel、pdf、ppt、图片添加图片水印(文字水印同理)