we use SGX544-MP2 core in Android P ,but we get crash on our app,it seem like something wrong in GPU。Can we get some suggestions to solve this question?
this is our logcat when crash:
01-11 14:06:18.754 921 983 E IMGSRV : :0: PVRPMapKMem: mmap(2) failed: Mapping handle=0x2e6: Operation not permitted
01-11 14:06:18.754 921 983 E IMGSRV : :0: PVRSRVMapDeviceMem: PVRPMapKMem failed for buffer
01-11 14:06:18.754 921 983 E IMGSRV : :0: Failed to acquire CPU mapping for texture device memory
01-11 14:06:18.754 921 983 E IMGSRV : :0: PVRPMapKMem: mmap(2) failed: Mapping handle=0x2e6: Operation not permitted
01-11 14:06:18.754 921 983 E IMGSRV : :0: PVRSRVMapDeviceMem: PVRPMapKMem failed for buffer
01-11 14:06:18.754 921 983 E IMGSRV : :0: Failed to acquire CPU mapping for texture device memory
--------- beginning of crash
01-11 14:06:18.755 921 983 F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 983 (RenderThread), pid 921 (testdemo)
01-11 14:06:18.924 921 1773 W testdemo: Large object allocation failed: Failed anonymous mmap(0x0, 188416, 0x3, 0x2, 166, 0): Operation not permitted. See process maps in the log.
01-11 14:06:18.924 921 1773 I testdemo: Starting a blocking GC Alloc
01-11 14:06:18.924 921 1773 I testdemo: Starting a blocking GC Alloc
01-11 14:06:18.902 4271 4271 I crash_dump32: type=1400 audit(0.0:666): avc: denied { read write } for path=“/dev/null” dev=“tmpfs” ino=11745 scontext=u:r:crash_dump:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
01-11 14:06:19.089 4272 4272 I crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
01-11 14:06:19.089 274 274 I /system/bin/tombstoned: received crash request for pid 983
01-11 14:06:19.090 4272 4272 I crash_dump32: performing dump of process 921 (target tid = 983)
01-11 14:06:19.118 4272 4272 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-11 14:06:19.118 4272 4272 F DEBUG : Build fingerprint: ‘Android/am57_ax3/am57_ax3:9/PPR1.181005.003/root09021425:userdebug/test-keys’
01-11 14:06:19.118 4272 4272 F DEBUG : Revision: ‘0’
01-11 14:06:19.118 4272 4272 F DEBUG : ABI: ‘arm’
01-11 14:06:19.118 4272 4272 F DEBUG : pid: 921, tid: 983, name: RenderThread >>> testdemo <<<
01-11 14:06:19.118 4272 4272 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
01-11 14:06:19.118 4272 4272 F DEBUG : Cause: null pointer dereference
01-11 14:06:19.118 4272 4272 F DEBUG : r0 fffffffc r1 ac1cbbc0 r2 000000fa r3 000000bb
01-11 14:06:19.118 4272 4272 F DEBUG : r4 000000f9 r5 ac1cbbc4 r6 fffffffc r7 ff231512
01-11 14:06:19.118 4272 4272 F DEBUG : r8 00000000 r9 7bb24000 r10 02514720 r11 000003e8
01-11 14:06:19.118 4272 4272 F DEBUG : ip 00000400 sp 7b484908 lr 000003e8 pc 97226c94
01-11 14:06:19.086 4272 4272 I crash_dump32: type=1400 audit(0.0:667): avc: denied { open } for path=“/dev/pmsg0” dev=“tmpfs” ino=11755 scontext=u:r:crash_dump:s0 tcontext=u:object_r:device:s0 tclass=chr_file permissive=1
01-11 14:06:19.217 921 1775 W testdemo: Large object allocation failed: Failed anonymous mmap(0x0, 188416, 0x3, 0x2, 166, 0): Operation not permitted. See process maps in the log.
01-11 14:06:19.217 921 1775 I testdemo: Waiting for a blocking GC Alloc
01-11 14:06:19.286 4272 4272 F DEBUG :
01-11 14:06:19.286 4272 4272 F DEBUG : backtrace:
01-11 14:06:19.286 4272 4272 F DEBUG : #00 pc 00021c94 /vendor/lib/egl/libGLESv2_POWERVR_SGX544_116.so
01-11 14:06:19.286 4272 4272 F DEBUG : #01 pc 00022c9d /vendor/lib/egl/libGLESv2_POWERVR_SGX544_116.so
01-11 14:06:19.286 4272 4272 F DEBUG : #02 pc 00023b0d /vendor/lib/egl/libGLESv2_POWERVR_SGX544_116.so (glTexImage2D+64)
01-11 14:06:19.286 4272 4272 F DEBUG : #03 pc 0007d5a1 /system/lib/libhwui.so (android::uirenderer::debug::DefaultGlesDriver::glTexImage2D_(unsigned int, int, int, int, int, int, unsigned int, unsigned int, void const*)+34)
01-11 14:06:19.286 4272 4272 F DEBUG : #04 pc 00080187 /system/lib/libhwui.so (android::uirenderer::debug::GlesErrorCheckWrapper::glTexImage2D_(unsigned int, int, int, int, int, int, unsigned int, unsigned int, void const*)+38)
01-11 14:06:19.286 4272 4272 F DEBUG : #05 pc 00375df5 /system/lib/libhwui.so (wrap_glTexImage2D(unsigned int, int, int, int, int, int, unsigned int, unsigned int, void const*)+52)
01-11 14:06:19.286 4272 4272 F DEBUG : #06 pc 000d5323 /system/lib/libhwui.so (android::uirenderer::uploadToTexture(bool, int, unsigned int, unsigned int, int, int, int, int, void const*)+54)
01-11 14:06:19.286 4272 4272 F DEBUG : #07 pc 000d4ea1 /system/lib/libhwui.so (android::uirenderer::Texture::upload(android::Bitmap&)+380)
01-11 14:06:19.286 4272 4272 F DEBUG : #08 pc 000d568b /system/lib/libhwui.so (android::uirenderer::TextureCache::createTexture(android::Bitmap*)+122)
01-11 14:06:19.286 4272 4272 F DEBUG : #09 pc 00386317 /system/lib/libhwui.so (android::uirenderer::TextureCache::getCachedTexture(android::Bitmap*)+210)
01-11 14:06:19.286 4272 4272 F DEBUG : #10 pc 0009c5a1 /system/lib/libhwui.so (android::uirenderer::renderthread::OpenGLPipeline::pinImages(android::uirenderer::LsaVector<sk_spandroid::Bitmap>&)+36)
01-11 14:06:19.286 4272 4272 F DEBUG : #11 pc 000b01e7 /system/lib/libhwui.so (android::uirenderer::DisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function<void (android::uirenderer::RenderNode*, android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)>)+46)
01-11 14:06:19.286 4272 4272 F DEBUG : #12 pc 003531e1 /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)+3932)
01-11 14:06:19.286 4272 4272 F DEBUG : #13 pc 000b02c9 /system/lib/libhwui.so (android::uirenderer::DisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function<void (android::uirenderer::RenderNode*, android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)>)+272)
01-11 14:06:19.286 4272 4272 F DEBUG : #14 pc 003531e1 /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)+3932)
01-11 14:06:19.286 4272 4272 F DEBUG : #15 pc 000b02c9 /system/lib/libhwui.so (android::uirenderer::DisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function<void (android::uirenderer::RenderNode*, android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)>)+272)
01-11 14:06:19.286 4272 4272 F DEBUG : #16 pc 003531e1 /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)+3932)
01-11 14:06:19.287 4272 4272 F DEBUG : #17 pc 000b02c9 /system/lib/libhwui.so (android::uirenderer::DisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function<void (android::uirenderer::RenderNode*, android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)>)+272)
01-11 14:06:19.287 4272 4272 F DEBUG : #18 pc 003531e1 /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)+3932)
01-11 14:06:19.287 4272 4272 F DEBUG : #19 pc 000b02c9 /system/lib/libhwui.so (android::uirenderer::DisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function<void (android::uirenderer::RenderNode*, android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)>)+272)
01-11 14:06:19.287 4272 4272 F DEBUG : #20 pc 003531e1 /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)+3932)
01-11 14:06:19.287 4272 4272 F DEBUG : #21 pc 000b02c9 /system/lib/libhwui.so (android::uirenderer::DisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function<void (android::uirenderer::RenderNode*, android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)>)+272)
01-11 14:06:19.287 4272 4272 F DEBUG : #22 pc 003531e1 /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)+3932)
01-11 14:06:19.287 4272 4272 F DEBUG : #23 pc 000b02c9 /system/lib/libhwui.so (android::uirenderer::DisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function<void (android::uirenderer::RenderNode*, android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)>)+272)
01-11 14:06:19.287 4272 4272 F DEBUG : #24 pc 003531e1 /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)+3932)
01-11 14:06:19.287 4272 4272 F DEBUG : #25 pc 000b02c9 /system/lib/libhwui.so (android::uirenderer::DisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function<void (android::uirenderer::RenderNode*, android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)>)+272)
01-11 14:06:19.287 4272 4272 F DEBUG : #26 pc 003531e1 /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)+3932)
01-11 14:06:19.287 4272 4272 F DEBUG : #27 pc 000b02c9 /system/lib/libhwui.so (android::uirenderer::DisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function<void (android::uirenderer::RenderNode*, android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)>)+272)
01-11 14:06:19.287 4272 4272 F DEBUG : #28 pc 003531e1 /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)+3932)
01-11 14:06:19.287 4272 4272 F DEBUG : #29 pc 000b02c9 /system/lib/libhwui.so (android::uirenderer::DisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function<void (android::uirenderer::RenderNode*, android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)>)+272)
01-11 14:06:19.287 4272 4272 F DEBUG : #30 pc 003531e1 /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)+3932)
01-11 14:06:19.287 4272 4272 F DEBUG : #31 pc 000b02c9 /system/lib/libhwui.so (android::uirenderer::DisplayList::prepareListAndChildren(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool, std::__1::function<void (android::uirenderer::RenderNode*, android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)>)+272)
01-11 14:06:19.287 4272 4272 F DEBUG : #32 pc 003531e1 /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTreeImpl(android::uirenderer::TreeObserver&, android::uirenderer::TreeInfo&, bool)+3932)
01-11 14:06:19.287 4272 4272 F DEBUG : #33 pc 00383bbf /system/lib/libhwui.so (android::uirenderer::RenderNode::prepareTree(android::uirenderer::TreeInfo&)+110)
01-11 14:06:19.287 4272 4272 F DEBUG : #34 pc 000a7acf /system/lib/libandroid_runtime.so (android::RootRenderNode::prepareTree(android::uirenderer::TreeInfo&)+192)
01-11 14:06:19.287 4272 4272 F DEBUG : #35 pc 0009a6c5 /system/lib/libhwui.so (android::uirenderer::renderthread::CanvasContext::prepareTree(android::uirenderer::TreeInfo&, long long*, long long, android::uirenderer::RenderNode*)+228)
01-11 14:06:19.288 4272 4272 F DEBUG : #36 pc 0037be8d /system/lib/libhwui.so (_ZNSt3__110__function6__funcIZN7android10uirenderer12renderthread13DrawFrameTask11postAndWaitEvE3$_0NS_9allocatorIS6_EEFvvEEclEv$c303f2d2360db58ed70a2d0ac7ed911b+320)
01-11 14:06:19.288 4272 4272 F DEBUG : #37 pc 00342e1f /system/lib/libhwui.so (android::uirenderer::WorkQueue::process()+122)
01-11 14:06:19.288 4272 4272 F DEBUG : #38 pc 000a3677 /system/lib/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+182)
01-11 14:06:19.288 4272 4272 F DEBUG : #39 pc 0000c0bf /system/lib/libutils.so (android::_threadLoop(void*)+170)
01-11 14:06:19.288 4272 4272 F DEBUG : #40 pc 00064343 /system/lib/libc.so (__pthread_start(void*)+22)
01-11 14:06:19.288 4272 4272 F DEBUG : #41 pc 0001dfad /system/lib/libc.so (__start_thread+32)