'Crash when run RENDERTHREAD_SKIA_PIPELINE_TEST(SkiaPipeline, renderFrame) testcase
accord to base\libs\hwui\tests\macrobench\how_to_run.txt I compile hwui_unit_test app, and push to our android device, after reboot we run this testcase, and crash every time,
the result of testcase run process:
XXX:/data # ./hwui_unit_tests
Running main() from external/googletest/googletest/src/gtest_main.cc
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from SkiaPipeline
[ RUN ] SkiaPipeline.renderFrame_SkiaGL
Segmentation fault
the crash information:
2022-02-18 01:18:01.911 25505-25505/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2022-02-18 01:18:01.911 25505-25505/? A/DEBUG: Build fingerprint: XXX cust format error.:user/release-keys'
022-02-18 01:18:01.911 25505-25505/? A/DEBUG: Revision: '0'
2022-02-18 01:18:01.911 25505-25505/? A/DEBUG: ABI: 'arm64'
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: Timestamp: 2022-02-18 01:18:01+0800
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: pid: 25461, tid: 25498, name: RenderThread >>> ./hwui_unit_tests <<<
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: uid: 0
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xdd0
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: Cause: null pointer dereference
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: x0 0000000000001f02 x1 0000007d8937f190 x2 0000000000000004 x3 0000000000000005
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: x4 0000000000000000 x5 4008000000000000 x6 0000000000000000 x7 7f7f7f7f7f7f7f7f
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: x8 0000000000000000 x9 0000000000001f03 x10 0000007e0c0a305c x11 000000000000003b
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: x12 0000000000000018 x13 ffffffffffffffff x14 ffffffffff000000 x15 ffffffffffffffff
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: x16 0000007e0bd20268 x17 0000007e095e2280 x18 0000007d88c26000 x19 0000000000001f02
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: x20 0000005b6f26d73c x21 0000000000000000 x22 0000007e0bd1e9b8 x23 0000007e094e6328
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: x24 0000007d89380020 x25 0000007d8937fd50 x26 0000007d89380020 x27 0000007e0c6ae020
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: x28 20c49ba5e353f7cf x29 0000007d8937fa50
2022-02-18 01:18:01.912 25505-25505/? A/DEBUG: sp 0000007d8937fa00 lr 0000005b6f3e1494 pc 0000007e0bd1e9ec
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: backtrace:
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: #00 pc 00000000000079ec /system/lib64/libGLESv1_CM.so (glGetString+52) (BuildId: 2f2949fde778c51cf7d20df6fd749253)
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: #01 pc 00000000003133ec /data/hwui_unit_tests (GrGLCreateNativeInterface()+68) (BuildId: 614b58f18958c093710e2b40bd8c6044)
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: #02 pc 00000000004a58f8 /data/hwui_unit_tests (android::uirenderer::debug::GlesDriver::getSkiaInterface()+16) (BuildId: 614b58f18958c093710e2b40bd8c6044)
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: #03 pc 00000000002de90c /data/hwui_unit_tests (android::uirenderer::renderthread::RenderThread::requireGlContext()+108) (BuildId: 614b58f18958c093710e2b40bd8c6044)
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: #04 pc 00000000002fd3f8 /data/hwui_unit_tests (android::uirenderer::TestUtils::TestTask::run()+40) (BuildId: 614b58f18958c093710e2b40bd8c6044)
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: #05 pc 00000000003051e8 /data/hwui_unit_tests (std::__1::packaged_task<void ()>::operator()()+88) (BuildId: 614b58f18958c093710e2b40bd8c6044)
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: #06 pc 00000000002a9b48 /data/hwui_unit_tests (android::uirenderer::WorkQueue::process()+228) (BuildId: 614b58f18958c093710e2b40bd8c6044)
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: #07 pc 00000000002a988c /data/hwui_unit_tests (android::uirenderer::renderthread::RenderThread::threadLoop()+68) (BuildId: 614b58f18958c093710e2b40bd8c6044)
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: #08 pc 00000000000136d4 /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+288) (BuildId: 5719b1e0d0dc5d254cb5883c52d4135f)
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: #09 pc 00000000000cf7c0 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36) (BuildId: e8a9123d826d0dbc18dd7e6056df7051)
2022-02-18 01:18:01.981 25505-25505/? A/DEBUG: #10 pc 00000000000721a8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: e8a9123d826d0dbc18dd7e6056df7051)
I add some logcat information into sk_sp GrGLMakeAssembledInterface(void *ctx, GrGLGetProc get) function,when it run the normal system application, it look run fine, and no problem,so I do not know why the test case get crash, and they run the same GrGLMakeAssembledInterface functions, and input the same params.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
