android黑屏问题记录

news/2024/10/24 21:26:53/

近期出现了一个黑屏问题:
仪表显示,主副屏黑的 :原因背光开启太晚,导致拍照时候是黑的,太晚的原因是绘制进程出现异常导致重启延后了时间,绘制进程crash原因是hwc调用底层库卡住,需更新hwc对应的so文件。

一 先来看下 qnx和bsp的分析

2024-08-02 08:20:09.967     0     0 W         : set ivi0_backlight_en 1  //中控开启背光

2024-08-02 08:20:09.967     0     0 W         : set ivi1_backlight_en 1 //副驾开启背光   

分析:最后一次拍照时间: ON_点火_15s_20240802082006.jpg  拍照的时候 背光还没有拉起来 

qnx  log 开启背光 Aug 02 08:20:09.906   

Aug 02 08:20:09.906                  qvm.745541..0                 slog      0  qvm[backlight_ops.c:796]: zsm backlight_switch: displayid:0x1; on = 0x1

Aug 02 08:20:09.906                  qvm.745541..0                 slog      0  qvm[backlight_ops.c:691]: zsm ivi0_skyworth_backlight_en:/dev/gpio54 on = 0x1

Aug 02 08:20:09.909                  qvm.745541..0                 slog      0  qvm[backlight_ops.c:709]: zsm ivi0_skyworth_backlight_en: open ivi0 backlight

Aug 02 08:20:09.909                  qvm.745541..0                 slog      0  qvm[backlight_ops.c:721]: zsm ivi0_skyworth_backlight_en:set /dev/gpio54 value = 0x1 is OK

二 来看fwk层分析

android.hardware.graphics.composer服务crash导致后续的surfaceflinger, zygote, system_server进程重启

行 119694: 2024-08-02 08:18:35.175   482   482 D SurfaceFlinger: Setting power mode 0 on display 132
    行 122846: 2024-08-02 08:19:47.697   482   482 D SurfaceFlinger: Setting power mode 2 on display 129
    行 124020: 2024-08-02 08:19:48.818   482   482 E HwcComposer: executeCommands failed because of Status(EX_TRANSACTION_FAILED): 'DEAD_OBJECT: '
    行 124021: 2024-08-02 08:19:48.818   482   482 E HWComposer: getDeviceCompositionChanges: validate failed for display 129: NoResources (6)
    行 124022: 2024-08-02 08:19:48.818   482   482 E CompositionEngine: chooseCompositionStrategy failed for Internal display: -75 (Value too large for defined data type)

执行hal层的compose指令失败了,发现这里出现了tombstone了

ABI: 'arm64'
Timestamp: 2024-08-02 08:19:47+0800
pid: 451, tid: 5434, name: HwBinder:451_3  >>> /vendor/bin/hw/android.hardware.graphics.composer@2.4-service <<<
uid: 1000
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x78018100010

... ...

      #00 pc 000000000003c1b4  /vendor/lib64/libsdmextension.so (sdm::Layer::~Layer()+28) (BuildId: 7fdead60b2ecc105e54a7ce7b02763b0)
      #01 pc 000000000006a2ec  /vendor/lib64/libsdmextension.so (sdm::CacheManager::FreeLayerStack(int)+308) (BuildId:

三 问题确认,转给高通分析,更新相应的so库 问题解决


http://www.ppmy.cn/news/1541667.html

相关文章

Java处理大数据小技巧:深入探讨与实践

引言 一、选择合适的数据结构 1. 使用高效的集合 2. 并发安全的数据结构 二、内存管理 1. JVM参数调优 2. 避免内存泄漏 三、并行计算与分布式处理 1. 利用Java并发API 2. 分布式框架 四、数据压缩与序列化 1. 数据压缩 2. 高效序列化 五、外部存储与缓存 1. NoS…

基于Java微信小程序的高校教务管理系统的详细设计和实现(源码+lw+部署文档+讲解等)

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不…

JavaScript初级课程 variables

下载node。 1. 申明变量 variables.js let message "Hello!"; message "World"; console.log(message);node variables.js2. 申明不会变的变量 const COLOR_GREEN "green"; console.log(COLOR_GREEN)3. 数据类型 Data Types [number, B…

[MySQL]第一章:环境安装

本专栏内容为&#xff1a;java学习专栏 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;MySql &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &#x1f339;&#x1f339;&#x1f339;关注我带你学习编程知识 目录 卸载…

采样率从44100 Hz转化为采样率是 16000 Hz的音频的方法

您好&#xff0c;您遇到的错误信息是&#xff1a; Audio file format does not match expected format. Expected: 1 channels, 2-byte samples, 16000 Hz Got: 1 channels, 2-byte samples, 44100 Hz解释&#xff1a; 预期格式&#xff1a; 声道数&#xff1a;1&#xff08;单…

线性可分支持向量机的原理推导 线性分隔超平面关于任意样本点 (x_i,y_i)的函数间隔 公式解析

本文是将文章《线性可分支持向量机的原理推导》中的公式单独拿出来做一个详细的解析&#xff0c;便于初学者更好的理解。 公式 9-1 用来表达训练集样本点 ( x i , y i ) (\mathbf{x}_i, y_i) (xi​,yi​) 到线性可分支持向量机分离超平面的距离。 d ^ i y i ( w ⋅ x i b )…

6.Three.js贴图与uv映射(uv坐标)理解和实践

6.Three.js贴图与uv映射(uv坐标)理解和实践 贴图是构建计算机三维物体的重要组成部分&#xff0c;通过加入贴图&#xff0c;才能使Three.js构造的三维物体更具真实性。 下面我们将建立一个简单的面&#xff0c;并尝试在面上贴上贴图&#xff0c;实现如下效果&#xff1a; 1.u…

基于Linux来讲解Kconfig的基础知识

主要参考&#xff1a;Linux下menuconfig与Kconfig基础知识概要-CSDN博客 简介 menuconfig是Linux平台用于管理代码工程、模块及功能的实用工具。上至决定某一程序模块是否编译&#xff0c;下到某一行具体的代码是否需要编译以及某个项的值在本次编译时该是什么都可由menuconfig…