1.    问题描述

设备用系统自带播放器播放某个MP4文件(15s左右的视频文件),有时候可以播放通过,有时候播放过程提示“无法播放此视频”,播放2~3天左右,系统提示存储空间不足。

经确认在/data分区下发现有个新创建的ramdump文件夹,里面有很多ramdump_venu_xx.elf的文件(比如ramdump_venus_2017-09-18_08-40-06.elf),其中提示存储空间不足的,整个ramdump文件夹大小为9.57GB。

2.    问题分析

-------------------------20170922----------------------------------------

高通根据我们提供的内核信息,主要分析结果

from the kernel log, I didn't find mucherror log.
do you find any other elf besides venuself?venus is used for video decoder and videoencoder.
from the log, h264 decoder is running.if you didn't do anything, that might becaused by mediascan, mediascan try to generate thumbnail, then invoke decoder.
from the kernel log, when handle 176x144media file, venus will report a error.

-------------------20170929高通给新的venus固件验证-----------------

Please try the test venus firmware.

You can find origianl venus firmware under/system/etc/firmware/ or /firmware/image/

这些文件是放在NON-HLOS.bin中的。

You can find origianl venus firmware name.

If you are using venus-v1.xxx, pleaserename the test venus firmware to venus-v1.xxx if the name is not matched.

If you are using venus.xxx, please renamethe test venus firmware to venus.xxx if the name is not matched.

这是方案商提供的相关文件:

If there are both venus.xxx andvenus-v1.xxx,
You can get the real venus name from"firmware-name"
in
LINUX/android/kernel/arch/arm/boot/dts/qcom/sign means images are signed with qualcommsignature.
unsign means images are not signed.If your company has own signature, you needto use unsigned images and sign them with your own signature.
If not, you can use sign images.Please push the venus images to/system/etc/firmware/ or /firmware/image/
Before push the venus images, pleaseremount
adb root
adb remount
adb shell
mount -t vfat -o remount, rw /firmwarePlease try the new firmware.
and share the kernel log too.adb reboot
adb root
adb shell "echo 0x1f >/sys/kernel/debug/msm_vidc/debug_level"adb logcat -b kernel -v threadtime > kernel.log
logcat -b kernel -v threadtime > /data/kernel.log&

但根据这些操作无效,方案商重新提供合并venus*文件的NON-HLOS.bin,测试发现没有生成elf文件的问题,但播放视频的时候发现有丢帧问题

------------------------------2017.10.12----------------------------

高通重新给新的NON-HLOS.bin才解决了这两个难问题,但具体怎么解决的,没有给我们说明。

抓kernel的一些信息备忘:

if yes, please share the kernel log foranalysis.adb root
adb shell
cd /d/msm_vidc
echo 0x1015 > debug_level
echo 0x3F > fw_level
exitadb logcat -c
adb logcat -b kernel -v threadtime >logcat.logwait for issue reproduced, share the log.

3.    问题的解决

3.1  方法一:当出现这样异常时不抓dump和转储到data目录下

device\qcom\common\rootdir\etc\init.qcom.rc
定义ramdump服务的代码
service ss_ramdump /system/bin/subsystem_ramdumpclass mainuser systemgroup system
disabled如果enable_ramdumps值被使能那么启动ss_ramdump服务
onproperty:persist.sys.ssr.enable_ramdumps=1write /sys/module/subsystem_restart/parameters/enable_ramdumps 1mkdir /data/ramdump 770 system systemstart ss_ramdump
如果ss_ramdump被启动,则会调用到vendor/qcom/proprietary/ss-restart/subsystem_ramdump/subsystem_ramdump.c中的main函数。onproperty:persist.sys.ssr.enable_ramdumps=0
write /sys/module/subsystem_restart/parameters/enable_ramdumps0system\core\rootdir\init.rc
设置使能ramdump的值为1
# [ODM] set modem side SSR
setprop persist.sys.ssr.enable_ramdumps 1
echo 1 >/sys/module/subsystem_restart/parameters/enable_ramdumps
chmod 664 /dev/ramdump_*setprop persist.sys.ssr.restart_level modemecho related > /sys/bus/msm_subsys/devices/subsys2/restart_levelsubsystem_ramdump :发生SSR的时候会将内存中的东西存储到其他的位置。

注释掉红色部分内容可以解决此问题,但这不是根本的解决方法,只是出现问题的时候不抓dump信息,不转储到/data分区下而已。

3.2  彻底解决,高通通过更新NON-HLOS.bin来解决,但我们不知道具体的解决方法。

msm8937+android7.1系统播放某个MP4文件在data分区下创建ramdump并生成很多elf文件问题相关推荐

  1. R语言丨根据VCF文件自动填充对其变异位点并生成序列fa文件

    根据VCF文件自动填充对其变异位点并生成序列fa文件 首先提出一个问题: 假如有一个重测序结果VCF文件,里面包含了很多个样本在几百个突变位点(snp和iad)的基因型数据,现在想根据这份原始数据,得 ...

  2. java调用c 生成so,Java在linux下调用C/C++生成的so文件

    Java在linux下调用C/C++生成的so文件 1. CplusUtil.java是java web工程中的一个工具类 内容如下: CplusUtil.java package cn.undone ...

  3. linux系统指令学习(创建目录,在目录下创建一个*.txt,*.txt输入内容,把*.txt文件拷贝到*目录下,把*文件夹目录移动到*目录下)

    linux系统指令学习1 透过12道题熟练掌握20个指令 Linux有150个常用指令,透过12道题去学习以及练习指令 1.创建一个目录/dzqc 提示: windows下的路径样式为c: \dzqc ...

  4. linux编译ffmpeg成so,「ffmpeg」一 mac 环境下编译ffmpeg,生成so库文件

    1.下载ffmpeg源码,官网,我这里直接采用git 方式下载: 下载ffmpeg.png 终端输入git命令: 静静等待~ 最后下载的版本为3.4.6 . image.png 这里注意一下,刚开始我 ...

  5. 华为生成很多html文件,原来只要按下华为手机这个键,100页纸质文件就能立马扫描成PDF...

    今天才知道,华为手机自带扫描文件功能,纸质文件扫一扫就能变成PDF电子稿.唉,把我肠子都悔青了,以前花了那么多钱去打印店扫描文件,都白白浪费了,果然这世道赚的就是信息差啊! 接下来,就跟大家好好说说华 ...

  6. linux系统制作裸设备,在unix下和linux下创建裸设备总结

    (一)AIX下创建裸设备: 1.创建VG卷组: #mkvg -S -y'datavg' -s'128'hdisk1 hdisk2.... 其中:-S表示创建scalable-type的VG:-y表示创 ...

  7. linux下创建php文档,linux新建文件有哪些方法

    linux新建文件的方法有:1.使用重定向符号创建文件:2.使用touch命令创建文件:3.使用echo命令创建文件:4.使用printf命令创建文件:5.使用cat命令创建文件. linux下新建文 ...

  8. android 文件并发读写,Android下,rxJava+retrofit 并发上传文件和串行上传文件的效率为什么差不多?...

    有个功能需要同时上传N个文件.代码如下: ApiService as = ApiManager.getApiService(); final ExecutorService es = Executor ...

  9. linux替换文件内容cat,Linux下巧用cat与EOF实现文件的替换和追加

    本文地址http://comexchan.cnblogs.com/,作者Comex Chan,尊重知识产权,转载请注明出处,谢谢! ================================== ...

最新文章

  1. 使用静态URL片段 URL路由 精通ASP-NET-MVC-5-弗瑞曼
  2. 在Eclipse中导入Java程序
  3. 15、url反向解析和别名及命名空间
  4. NeHe教程Qt实现——lesson16
  5. Python进程学习笔记-进程创建fork
  6. QT 在定义新的类型时候,注意了(定义了ReadXml),在实现的时候加上Qlabel
  7. 一份【软件工程】的学习指南已到达,请注意查收!!
  8. flume avro java 发送数据_flume将数据发送到kafka、hdfs、hive、http、netcat等模式的使用总结...
  9. javascript 控制语句
  10. SAS® Model Studio功能调研
  11. mysql5.7 json特性_mysql5.7新增加的JSON数据类型特征介绍
  12. swiper vue 上一页_swiper在vue中正确的使用方法
  13. sitemap死链检测工具-免费sitemap死链检测抓取工具
  14. 【学习笔记】深度学习理论基础
  15. 获取属性配置config文件
  16. 2015互联网校招总结—一路走来
  17. Linux和windows下minio+springboot实现文件服务器上传下载和nginx反向代理
  18. 行内元素、块元素、行内块元素的区别
  19. 如何正确接触天使投资人?
  20. 计算机工程实践 课程大纲,《计算机专业》实习教学大纲.doc

热门文章

  1. ei加声调怎么加_空调怎么加氟 空调加氟方法【介绍】
  2. java中的for-each循环
  3. CAS存在的问题以及解决方案
  4. 帝国cms 多个php,帝国cms多值字段数据显示方法
  5. ant 改变表格数据_学不会这几个操作,面试时千万别说自己精通数据分析
  6. java 递归原理_Java中递归原理实例分析
  7. linux中python编译器的配置_linux下配置python3详解
  8. wpf创建xml随程序一起打包_Springboot,Java程序员必学
  9. 武汉工程大学计算机学院吴云韬,吴兴隆-武汉工程大学计算机科学与工程学院...
  10. python3模块socket怎么安装_Python中socket模块的使用方法(一)