android 相机启动失败怎么回事,Android相机启动crash错误排查
一个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错误排查相关推荐
- centos中mysql启动失败,解决CentOS下mysql启动失败
解决CentOS下mysql启动失败 今天用service mysqld start 命令启动mysql失败 查看mysql日志 tail -n 10 /var/log/mysql.log160702 ...
- mysql innodb启动失败_关于mysql innodb启动失败无法重启的处理方法讲解
电脑在使用过程中死机,重启后发现mysql没有启动成功,查看错误日志发现是innodb出现问题导致mysql启动失败. 错误日志$ mysql.server start Starting MySQL ...
- mysql启动失败:mysql服务无法启动 服务没有报告任何错误 解决方法
My SQL server8.0 安装后,启动失败,提示信息如下: 尝试以下步骤,最终解决问题: 1 查看host文件(C:WindowsSystem32driversetchosts),是否修改过本 ...
- Android获取SharedPreferences失败,且App无法启动
说明: 一个app访问另外一个app的SharedPreferences,程序启动之后没有显示界面就卡死了,无任何提示信息. 错误原因: 应用调用createPackageContext失败,但是也不 ...
- android 请求权限失败怎么办,java – Android HTTP POST请求错误 – 套接字失败EACCES(权限被拒绝)...
我正在尝试从 Eclipse下的Android应用程序向我的localhost发送POST请求,但是我收到此错误: socket failed EACCES (Permission denied). ...
- android 铃声设置失败,无法通过Android代码设置铃声
我正在开发一个应用程序,它将随机设置用户已选择的铃声列表中的铃声.无法通过Android代码设置铃声 虽然我的代码适用于Android N及以上版本,但我遇到了Android M及以下版本的问题.我为 ...
- android百度定位失败的原因,android百度地图定位集成失败,求助
权限也有申请 然后build.gradle 中指定so文件路径 sourceSets { main { jniLibs.srcDirs = ['libs'] java { } } androidTes ...
- Docker 容器启动失败日志分析方法,启动sonic容器实例simple时未报错运行一会又停止的问题排查实例演示
从这个过程可以看到启动容器没几秒自己就关闭了. 首先通过 docker ps -a 查出所有的容器实例. 查到出现问题的实例 ID. 然后通过 docker logs 2b9ca660fc69 命令查 ...
- mamp mysql启动失败_MAMP PRO mysql无法启动
mac上可能勾选了软件自动更新,然后MAMP PRO 升级了. 升级了之后,mysql启动就出问题了,看报错日志: InnoDB: The error means the system cannot ...
最新文章
- 2 0 1 8 全球人工智能技术大会--邀请函
- 【Python-ML】SKlearn库特征抽取-KPCA
- 零基础,最完整的WordPress建站教程
- Linux下打印调试管理
- sqlite 查询 支持多用户同时_SQLite支持多进程同时操作数据库文件吗?
- GIL、进/线程池、同/异步、阻/非阻塞
- 加油吧 少年(励志)
- 回到顶部的几种实现方法
- json格式数据集转yolo txt格式
- GoldWave几种转换格式方法
- js在ie下打开对话窗口的方式
- Android之图片压缩
- 【论文】联邦学习区块链 论文集(三)
- 深度学习【道路提取】:马萨诸塞州道路数据集分享
- 2022年1~6中国市场汽车销量可视化
- HTML+CSS+JS实操京东购物车
- 优酷路由宝增加php,优酷路由宝旗舰版YK-L2刷改华硕[N14U N54U]5G 2G的7620老毛子Padavan固件方法...
- Idea搜索的时候匹配不到,半角空格和全角空格的问题
- 《穷查理宝典》芒格思维笔记(二)
- 从受损的Word文档挽救文字(转)
热门文章
- Google Sheet 学习笔记
- MPU和MMU、MPU和MCU的区别
- 如何撰写品牌故事?品牌故事软文撰写技巧分享
- 程序员进阶!阿里P7级别面试经验总结,深度好文
- unity塔防游戏怪物转向_玩一玩这款塔防游戏?
- STC89C51单片机
- golang: 密码中允许出现数字、大写字母、小写字母、特殊字符,但至少包含其中2种且长度在8-16之间(四种符号任意满足三种即可)
- c语言查询学号(字符串),c语言短学期
- opencv图像处理学习(六十八)——肤色检测
- java为word、excel、pdf、ppt、图片添加图片水印(文字水印同理)