VPU Encoding fails intermittently

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

VPU Encoding fails intermittently

3,134 Views
saurabh206
Senior Contributor III

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

Tags (2)
0 Kudos
14 Replies

1,558 Views
iditlevycarmel
Contributor III

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):

0 Kudos

1,558 Views
saurabh206
Senior Contributor III

Hi,

What is a FBMem in your bootargs?

Increase the FBMem size in bootargs.

Regards

Saurabh

0 Kudos

1,558 Views
iditlevycarmel
Contributor III

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

0 Kudos

1,558 Views
saurabh206
Senior Contributor III

Hi,

Idit

Try to set 32M for both.

Regards,

Saurabh

0 Kudos

1,558 Views
dangluskin
Contributor III

  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?

0 Kudos

1,558 Views
saurabh206
Senior Contributor III

Hi,

Your calculation is correct please increase the buffer to 4 and check,

0 Kudos

1,558 Views
yaakovsimony
Contributor IV

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

0 Kudos

1,558 Views
saurabh206
Senior Contributor III

Hi,

Yaakov

What is your display resolution?

fbmem should be <x-resolution>*<y-resolution>*<bytes per pixel>*<number-of-buffers>.

Regards

Saurabh

0 Kudos

1,558 Views
yaakovsimony
Contributor IV

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

0 Kudos

1,558 Views
yaakovsimony
Contributor IV

Hi Saurabh,

Did you have a chance to look at my last question?

Any hint?

Thanks

Yaakov

0 Kudos

1,558 Views
saurabh206
Senior Contributor III

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

0 Kudos

1,558 Views
yaakovsimony
Contributor IV

Hi Saurabh,

Did you have a chance to look at my last comment?

Any answer to my last questions?

Thanks

Yaakov

0 Kudos

1,558 Views
saurabh206
Senior Contributor III

Hi,

Yaakov

I could not able to check.

0 Kudos

1,558 Views
yaakovsimony
Contributor IV

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

0 Kudos