近期出现了一个黑屏问题:
仪表显示,主副屏黑的 :原因背光开启太晚,导致拍照时候是黑的,太晚的原因是绘制进程出现异常导致重启延后了时间,绘制进程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库 问题解决