Hi,
I am using custom hardware based in IMX6q and jb4.3_1.1.0 is ported on it.
I am getting media server crash and restarted my system while 1280x720 H264 encoding.
Please find the attached log.
03-23 11:19:58.168 E/v_gralloc( 2313): Failed to register buffer handle=0x4004ac00
03-23 11:19:58.168 W/GraphicBufferMapper( 2313): registerBuffer(0x4004abc8) failed -22 (Invalid argument)
03-23 11:19:58.168 E/GraphicBuffer( 2313): unflatten: registerBuffer failed: Invalid argument (-22)
03-23 11:19:58.168 E/v_gralloc( 2313): Failed to register buffer handle=0x4004ae58
03-23 11:19:58.168 W/GraphicBufferMapper( 2313): registerBuffer(0x4004ae20) failed -22 (Invalid argument)
03-23 11:19:58.168 E/GraphicBuffer( 2313): unflatten: registerBuffer failed: Invalid argument (-22)
03-23 11:19:58.178 E/v_gralloc( 2313): Failed to register buffer handle=0x4217c4c8
03-23 11:19:58.178 W/GraphicBufferMapper( 2313): registerBuffer(0x4217c490) failed -22 (Invalid argument)
03-23 11:19:58.178 E/GraphicBuffer( 2313): unflatten: registerBuffer failed: Invalid argument (-22)
03-23 11:19:58.188 E/v_gralloc( 2313): Failed to register buffer handle=0x4217c748
03-23 11:19:58.188 W/GraphicBufferMapper( 2313): registerBuffer(0x4217c710) failed -22 (Invalid argument)
03-23 11:19:58.188 E/GraphicBuffer( 2313): unflatten: registerBuffer failed: Invalid argument (-22)
03-23 11:19:58.198 E/v_gralloc( 2313): Failed to register buffer handle=0x4217c9b8
03-23 11:19:58.198 W/GraphicBufferMapper( 2313): registerBuffer(0x4217c980) failed -22 (Invalid argument)
03-23 11:19:58.198 E/GraphicBuffer( 2313): unflatten: registerBuffer failed: Invalid argument (-22)
03-23 11:19:58.198 I/OMXPlayer( 2313): GM_STATE_LOADED DONE
03-23 11:19:58.198 V/MX.Player.Joint( 6890): Video size: 1280 x 720
03-23 11:19:58.198 V/MX.Player.Joint( 6890): 1st prepared. duration=447424ms
03-23 11:19:58.208 I/vpu-lib ( 2313): <gpu> alloc handle: 0x4004afa8, paddr: 0x716ac000, vaddr: 0x4471d000
03-23 11:19:58.218 V/MX.Player.Joint( 6890): start
03-23 11:19:58.218 I/OMXPlayer( 2313): start player.
03-23 11:19:58.218 I/OMXPlayer( 2313): Clock State: 1
03-23 11:19:58.218 I/OMXPlayer( 2313): Clock State: 1
03-23 11:19:58.218 F/libc ( 2313): Fatal signal 11 (SIGSEGV) at 0x585cfb4c (code=1), thread 6939 (mediaserver)
03-23 11:19:58.278 I/DEBUG ( 2306): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-23 11:19:58.278 I/DEBUG ( 2306): Build fingerprint: 'Freescale/sabresd_6dq/sabresd_6dq:4.3/1.1.0-rc4/20131206:eng/dev-keys'
03-23 11:19:58.278 I/DEBUG ( 2306): Revision: '405522'
03-23 11:19:58.278 I/DEBUG ( 2306): pid: 2313, tid: 6939, name: mediaserver >>> /system/bin/mediaserver <<<
03-23 11:19:58.278 I/DEBUG ( 2306): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 585cfb4c
03-23 11:19:58.288 W/NativeCrashListener( 2655): Couldn't find ProcessRecord for pid 2313
03-23 11:19:58.298 D/dalvikvm( 4284): GC_CONCURRENT freed 486K, 18% free 2720K/3312K, paused 3ms+2ms, total 28ms
03-23 11:19:58.298 D/dalvikvm( 4284): WAIT_FOR_CONCURRENT_GC blocked 13ms
03-23 11:19:58.428 I/DEBUG ( 2306): r0 585cfb38 r1 00000000 r2 ffffffdc r3 40cace68
03-23 11:19:58.428 I/DEBUG ( 2306): r4 585cfad0 r5 534a2de8 r6 585cfad0 r7 00000001
03-23 11:19:58.428 I/DEBUG ( 2306): r8 00159000 r9 0000001c sl 00000000 fp 4198f428
03-23 11:19:58.428 I/DEBUG ( 2306): ip 40cacef0 sp 534a2c70 lr 40c458ab pc 40c25efa cpsr 400f0030
03-23 11:19:58.428 I/DEBUG ( 2306): d0 40fe666666666666 d1 0000000000000000
03-23 11:19:58.428 I/DEBUG ( 2306): d2 0000000000000000 d3 0000000000000000
03-23 11:19:58.428 I/DEBUG ( 2306): d4 3fb562a9750d03a2 d5 bebbae4c1fc4fae5
03-23 11:19:58.428 I/DEBUG ( 2306): d6 3e66376972bea4d0 d7 0001000000000000
03-23 11:19:58.428 I/DEBUG ( 2306): d8 0000000022637f0c d9 0000000000000000
03-23 11:19:58.428 I/DEBUG ( 2306): d10 0000000000000000 d11 0000000000000000
03-23 11:19:58.428 I/DEBUG ( 2306): d12 0000000000000000 d13 0000000000000000
03-23 11:19:58.428 I/DEBUG ( 2306): d14 0000000000000000 d15 0000000000000000
03-23 11:19:58.428 I/DEBUG ( 2306): d16 40f0000000000000 d17 40b999999999999a
03-23 11:19:58.428 I/DEBUG ( 2306): d18 000000000049b848 d19 3f80000000000000
03-23 11:19:58.428 I/DEBUG ( 2306): d20 3fc54daff75d0b41 d21 bf66b5c5bba6444b
03-23 11:19:58.428 I/DEBUG ( 2306): d22 3fd1abcdaa00af36 d23 3fb0000000000000
03-23 11:19:58.428 I/DEBUG ( 2306): d24 3fa7ca9ee311f87c d25 bfa7ca9ee9a07449
03-23 11:19:58.428 I/DEBUG ( 2306): d26 3f6328e1cb8c85e0 d27 4000000000000000
03-23 11:19:58.428 I/DEBUG ( 2306): d28 3ffb950c957fd432 d29 bfd58aa5d4340e89
03-23 11:19:58.428 I/DEBUG ( 2306): d30 3ff0000000000000 d31 3fb562a9750d03a2
03-23 11:19:58.428 I/DEBUG ( 2306): scr 88000010
03-23 11:19:58.428 I/DEBUG ( 2306):
03-23 11:19:58.428 I/DEBUG ( 2306): backtrace:
03-23 11:19:58.428 I/DEBUG ( 2306): #00 pc 0000fefa /system/lib/libGAL.so
03-23 11:19:58.428 I/DEBUG ( 2306): #01 pc 0002f8a7 /system/lib/libGAL.so
03-23 11:19:58.428 I/DEBUG ( 2306): #02 pc 0002fa17 /system/lib/libGAL.so
03-23 11:19:58.428 I/DEBUG ( 2306): #03 pc 000325eb /system/lib/libGAL.so (gcoSURF_CPUCacheOperation+18)
03-23 11:19:58.428 I/DEBUG ( 2306): #04 pc 000021b5 /system/lib/hw/gralloc_viv.imx6.so (gc_gralloc_unlock(gralloc_module_t const*, native_handle const*)+76)
03-23 11:19:58.428 I/DEBUG ( 2306): #05 pc 00001693 /system/lib/hw/gralloc.imx6.so (gralloc_unlock(gralloc_module_t const*, native_handle const*)+16)
03-23 11:19:58.428 I/DEBUG ( 2306): #06 pc 000070c9 /system/lib/libui.so (android::GraphicBufferMapper::unlock(native_handle const*)+32)
03-23 11:19:58.428 I/DEBUG ( 2306): #07 pc 00003289 /system/lib/lib_omx_surface_render_arm11_elinux.so (SurfaceRender::WriteDevice(OMX_BUFFERHEADERTYPE*)+252)
03-23 11:19:58.428 I/DEBUG ( 2306): #08 pc 0001c97b /system/lib/lib_omx_common_v2_arm11_elinux.so (VideoRender::RenderFrame(OMX_BUFFERHEADERTYPE*)+18)
03-23 11:19:58.428 I/DEBUG ( 2306): #09 pc 0001cac5 /system/lib/lib_omx_common_v2_arm11_elinux.so (VideoRender::ProcessClkBuffer()+324)
03-23 11:19:58.428 I/DEBUG ( 2306): #10 pc 0000cd53 /system/lib/lib_omx_common_v2_arm11_elinux.so (ExecutingState::ProcessBuffer()+10)
03-23 11:19:58.428 I/DEBUG ( 2306): #11 pc 0000ca4b /system/lib/lib_omx_common_v2_arm11_elinux.so (DoThread(void*)+150)
03-23 11:19:58.428 I/DEBUG ( 2306): #12 pc 0000ca78 /system/lib/libc.so (__thread_entry+72)
03-23 11:19:58.428 I/DEBUG ( 2306): #13 pc 0000cbf4 /system/lib/libc.so (pthread_create+208)
03-23 11:19:58.428 I/DEBUG ( 2306): #14 pc 00007f9c <unknown>
03-23 11:19:58.428 I/DEBUG ( 2306):
Original Attachment has been moved to: vpu_gralloc_crash.log.zip
Any resolution on this one?
I'm having the same crash on SurfaceFlinger.
Jun 27 07:43:43 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | E/v_gralloc( 1979): Failed to register buffer hnd=0x40db5d60
Jun 27 07:43:43 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | W/GraphicBufferMapper( 1979): registerBuffer(0x40db5d60) failed -22 (Invalid argument)
Jun 27 07:43:43 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | E/GraphicBuffer( 1979): unflatten: registerBuffer failed: Invalid argument (-22)
Jun 27 07:43:43 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | E/BufferQueue( 1979): [ScreenshotClient] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
Jun 27 07:43:43 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | F/libc ( 1979): Fatal signal 11 (SIGSEGV) at 0x50da1408 (code=1), thread 1979 (screencap)
Jun 27 07:43:43 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Jun 27 07:43:43 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): Build fingerprint: 'Freescale/summit/summit:4.3/1.0.0-rc3/eng.bambooagent.20140619.122819:user/dev-keys'
Jun 27 07:43:43 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): Revision: '405522'
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): pid: 1979, tid: 1979, name: screencap >>> screencap <<<
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 50da1408
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | W/NativeCrashListener(23670): Couldn't find ProcessRecord for pid 1979
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): r0 50da1460 r1 00000001 r2 00000006 r3 40dc5e20
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): r4 50da1400 r5 00000000 r6 40db50d0 r7 40593c88
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): r8 000007bb r9 00007205 sl 00007206 fp 00007211
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): ip 409c6f18 sp bebae3f0 lr 409647ef pc 409635e8 cpsr 800f0030
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d0 000000000000000f d1 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d2 0000000000000000 d3 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d4 0000000000000000 d5 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d6 0000000000000000 d7 e8395fc000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d8 0000000000000000 d9 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d10 0000000000000000 d11 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d12 0000000000000000 d13 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d14 0000000000000000 d15 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d16 000000010000000c d17 3f80000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d18 41cd01f4b3800000 d19 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d20 0000000000000000 d21 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d22 0000000000000000 d23 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d24 0000000000000000 d25 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d26 0000000000000000 d27 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d28 0000000000000000 d29 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): d30 0000000000000000 d31 0000000000000000
Jun 27 07:43:44 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): scr 00000010
Jun 27 07:43:47 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351):
Jun 27 07:43:47 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): backtrace:
Jun 27 07:43:47 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #00 pc 000265e8 /system/lib/libGAL.so
Jun 27 07:43:47 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #01 pc 000277eb /system/lib/libGAL.so (gcoSURF_Unlock+18)
Jun 27 07:43:47 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #02 pc 00002437 /system/lib/hw/gralloc_viv.imx6.so (gc_gralloc_unregister_buffer(gralloc_module_t const*, native_handle const*)+126)
Jun 27 07:43:47 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #03 pc 00001643 /system/lib/hw/gralloc.imx6.so (gralloc_unregister_buffer(gralloc_module_t const*, native_handle const*)+16)
Jun 27 07:43:47 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #04 pc 00006f81 /system/lib/libui.so (android::GraphicBufferMapper::unregisterBuffer(native_handle const*)+32)
Jun 27 07:43:47 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #05 pc 00006509 /system/lib/libui.so (android::GraphicBuffer::free_handle()+16)
Jun 27 07:43:47 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #06 pc 00006627 /system/lib/libui.so (android::GraphicBuffer::~GraphicBuffer()+22)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #07 pc 00006655 /system/lib/libui.so (android::GraphicBuffer::~GraphicBuffer()+4)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #08 pc 0000f823 /system/lib/libutils.so (android::RefBase::decStrong(void const*) const+40)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #09 pc 0001d8f9 /system/lib/libgui.so (android::BufferQueue::freeBufferLocked(int)+24)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #10 pc 0001d989 /system/lib/libgui.so (android::BufferQueue::freeAllBuffersLocked()+44)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #10 pc 0001d989 /system/lib/libgui.so (android::BufferQueue::freeAllBuffersLocked()+44)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #11 pc 0001e067 /system/lib/libgui.so (android::BufferQueue::setBufferCount(int)+182)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #12 pc 00022b15 /system/lib/libgui.so (android::BnGraphicBufferProducer::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+568)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #13 pc 00017f1d /system/lib/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+60)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #14 pc 0001b8e5 /system/lib/libbinder.so (android::IPCThreadState::executeCommand(int)+508)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #15 pc 0001baf3 /system/lib/libbinder.so (android::IPCThreadState::waitForResponse(android::Parcel*, int*)+250)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #16 pc 0001bc2b /system/lib/libbinder.so (android::IPCThreadState::transact(int, unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+118)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #17 pc 00018489 /system/lib/libbinder.so (android::BpBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+30)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #18 pc 000243d3 /system/lib/libgui.so
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #19 pc 0002839b /system/lib/libgui.so (android::ScreenshotClient::update(android::sp<android::IBinder> const&, unsigned int, unsigned int, unsigned int, unsigned int)+132)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #20 pc 00028451 /system/lib/libgui.so (android::ScreenshotClient::update(android::sp<android::IBinder> const&)+14)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #21 pc 00000f4b /system/bin/screencap
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #22 pc 0000dbe7 /system/lib/libc.so (__libc_init+50)
Jun 27 07:43:49 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351): #23 pc 00000dd8 /system/bin/screencap
Jun 27 07:43:51 localhost Jun 27 07:43:43127.0.0.1 ANDROID: +00:00 2014 000 0 | I/DEBUG ( 2351):
Hi,
What is a FBMem in your bootargs?
Increase the FBMem size in bootargs.
Regards
Saurabh
Hi,
We're using 'fbmem=14M,28M' for two FBs
What the values should be? Are you familiar with the calculation?
Thanks for your quick response!
Idit
Hi,
Idit
Try to set 32M for both.
Regards,
Saurabh
As far as I recall, fbmem should be <x-resolution>*<y-resolution>*<bytes per pixel>*<number-of-buffers>
where:
<bytes-per-pixel> is 4 for us (32bpp) and <number-of-buffers> is 3.
Hence, we should use:
for the main display: 1280x800x4x3=12.28M => 13
and for the external display: 1920x1200x4x3 = 27.6 => 28
what am I missing?
Hi,
Your calculation is correct please increase the buffer to 4 and check,
Hello Saurabh,
We have seen this crash once again in screencap:
Aug 26 20:33:18 localhost 148.147.152.124 ANDROID: +05:30 2014 000 0 | E/v_gralloc(19979): Failed to register buffer hnd=0x40826da8
Aug 26 20:33:19 localhost 148.147.152.124 ANDROID: +05:30 2014 000 0 | W/GraphicBufferMapper(19979): registerBuffer(0x40826da8) failed -22 (Invalid argument)
Aug 26 20:33:19 localhost 148.147.152.124 ANDROID: +05:30 2014 000 0 | E/GraphicBuffer(19979): unflatten: registerBuffer failed: Invalid argument (-22)
Aug 26 20:33:19 localhost 148.147.152.124 ANDROID: +05:30 2014 000 0 | E/BufferQueue(19979): [ScreenshotClient] dequeueBuffer: can't dequeue multiple buffers without setting the buffer count
Aug 26 20:33:19 localhost 148.147.152.124 ANDROID: +05:30 2014 000 0 | F/libc (19979): Fatal signal 11 (SIGSEGV) at 0x53fd82d8 (code=1), thread 19979 (screencap)
Aug 26 20:33:19 localhost 148.147.152.124 ANDROID: +05:30 2014 000 0 | I/DEBUG ( 2393): pid: 19979, tid: 19979, name: screencap >>> screencap <<<
Checking with Idit, it appears that we didn't increase the fbmem size.
The values that we currently use are: fbmem=14M,28M
Shall it be: fbmem=32M,32M ? Or only increase one of them?
Could you please explain how did you get to this number?
Thank you
Yaakov
Hi,
Yaakov
What is your display resolution?
fbmem should be <x-resolution>*<y-resolution>*<bytes per pixel>*<number-of-buffers>.
Regards
Saurabh
Hi Saurabh,
We are using resolution 1920x1080, 32bits per pixel and allocating 3 buffers.
So, according to the formula above, we need 1920x1080x4x3 = 24300KB.
We currently allocate 28MB, which should be sufficient.
Regarding LVDS, its resolution is 1280x800, i.e. 12000KB.
We allocated 14MB. This also should be sufficient.
So, why should we increase fbmem values?
Thanks
Yaakov
Hi Saurabh,
Did you have a chance to look at my last question?
Any hint?
Thanks
Yaakov
Hi
Yaakov
I could not able to debug very deeply but after increasing the frame buffer I haven't seen any more crash in VPU encoding.
Share your result after increasing the frame buffer to 4.
Any Valuable comment from Freescale Team on this issue.
Regards
Saurabh
Hi Saurabh,
Did you have a chance to look at my last comment?
Any answer to my last questions?
Thanks
Yaakov
Hi,
Yaakov
I could not able to check.
Hi Saurabh,
In our code, fbmem value is set to: fbmem=14M,28M.
I looked in the code who is parsing this string and I find that it is routine fixup_mxc_board(), in file arch/arm/mach-mx6/board-mx6q_sabresd.c.
I found this comment there:
/* SUMMIT-1640
* The first allocation pool (pdata_fb[i].res_size[0]) is used by the SurfaceRenderer for allocating buffers.
* The SurfaceRenderer is using RGBA pixel format. In summit we use 32bit per pixel (4 Bytes).
* The SurfaceFlinger use the pool to allocate 3 buffers.
* And hence, the pool size should be <width> x <height> x <bits-per-pixel> x 3, where
* <width> ::= monitor width in pixels (e.g. 1920)
* <height> ::= Monitor height in pixels (e.g. 1080)
* The second allocation pool (pdata_fb[i].res_siize[1]) is used by the ipuRenderer for allocating buffers for the IPU-IC sc
* The ipuRenderer configures the IPU-IC to scale the NV12 video from the decoder to a 16 bits-per
* pixel YUYV buffer.Hence, the second allocation size *** can be half of *** the first allocation
* (the first is the number specified in boot-args */
According to it, our calculation may be right, but the fbmem value is set in the wrong order.
It should be: fbmem=28M,14M, so the second allocation size is half of the first one.
Could it be the reason why we see these VPU Encoding failures?
Because we need 28M in the first pool and we give only 14M?
Thanks
Yaakov