TK1 crash while running ScreenRecord

Dear All,

I am currently using Tegra TK1 custom board running Android Lollipop 5.0 with BSP given by Nvidia. We are currently trying to record screen contents using “screenrecord” command. When screen record binary is executed, surface flinger crashes and system restarts. Any ideas or fix to solve this bug.

Log:-
/OMXClient( 1476): Using client-side OMX mux.
E/OMXNodeInstance( 207): getParameter(2143289370) ERROR: 0x80001006
E/OMXNodeInstance( 207): getParameter(2143289370) ERROR: 0x80001006
E/OMXNodeInstance( 207): getParameter(2143289370) ERROR: 0x80001006
W/ACodec ( 1476): do not know color format 0x7f000789 = 2130708361
D/NvOsDebugPrintf( 207): Framerate set to : 60 at NvxVideoEncoderSetParameter
D/NvOsDebugPrintf( 207): NvMMLiteOpen : Block : BlockType = 4
D/NvOsDebugPrintf( 207): ===== MSENC =====
D/NvOsDebugPrintf( 207): NvMMLiteBlockCreate : Block : BlockType = 4
W/ACodec ( 1476): Use baseline profile instead of 8 for AVC recording
I/ACodec ( 1476): setupVideoEncoder succeeded
E/OMXNodeInstance( 207): getParameter(2143289370) ERROR: 0x80001006
W/ACodec ( 1476): do not know color format 0x7f000789 = 2130708361
E/OMXNodeInstance( 207): OMX_EnableAndroidNativeBuffers failed with error -2147479547 (0x80001005)
W/SurfaceFlinger( 158): [ScreenRecorder] Unexpected dequeueBuffer() in IDLE state
W/SurfaceFlinger( 158): [ScreenRecorder] EGL called dequeueBuffer with !async despite eglSwapInterval(0)
E/SurfaceFlinger( 158): [ScreenRecorder] dequeueBuffer: no buffer, bailing out
W/nvwsi ( 158): dequeueBuffer failed, error -12
E/libEGL ( 158): eglQuerySurface:592 error 300d (EGL_BAD_SURFACE)
E/libEGL ( 158): eglQuerySurface:592 error 300d (EGL_BAD_SURFACE)
W/SurfaceFlinger( 158): [ScreenRecorder] Unexpected beginFrame() in GLES state
I/gralloc ( 158): NvGrAllocInternal 579
W/GraphicBufferAllocator( 158): alloc(1920, 1080, 34, 00010800, …) failed -22 (Invalid argument)
E/ ( 158): GraphicBufferAlloc::createGraphicBuffer(w=1920, h=1080) failed (Invalid argument), handle=0x0
E/BufferQueueProducer( 207): [GraphicBufferSource] dequeueBuffer: createGraphicBuffer failed
--------- beginning of crash
F/libc ( 158): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x2c in tid 158 (surfaceflinger)
I/DEBUG ( 205): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 205): Build fingerprint: ‘‘Android/AOSP:5.0.1/android_5_0_1/android-build02081952:userdebug/test-keys’’
I/DEBUG ( 205): Revision: ‘0’
I/DEBUG ( 205): ABI: ‘arm’
I/DEBUG ( 205): pid: 158, tid: 158, name: surfaceflinger >>> /system/bin/surfaceflinger <<<
I/DEBUG ( 205): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x2c
W/NativeCrashListener( 658): Couldn’t find ProcessRecord for pid 158
I/DEBUG ( 205): r0 00000000 r1 00000000 r2 00000028 r3 be915ec8
E/DEBUG ( 205): AM write failure (32 / Broken pipe)
I/DEBUG ( 205): r4 b4ddc5fc r5 be9157a0 r6 b4dda000 r7 00000001
I/DEBUG ( 205): r8 b6528080 r9 00000002 sl 00000001 fp b4ddc580
I/DEBUG ( 205): ip 00000000 sp be915778 lr b4cbdba7 pc b4cbdbae cpsr 400e0030
I/DEBUG ( 205):
I/DEBUG ( 205): backtrace:
I/DEBUG ( 205): #00 pc 00009bae /system/vendor/lib/hw/hwcomposer.tegra.so
I/DEBUG ( 205): #01 pc 00009d2d /system/vendor/lib/hw/hwcomposer.tegra.so
I/DEBUG ( 205): #02 pc 0000a05f /system/vendor/lib/hw/hwcomposer.tegra.so
I/DEBUG ( 205): #03 pc 00021ce3 /system/lib/libsurfaceflinger.so
I/DEBUG ( 205): #04 pc 00018c93 /system/lib/libsurfaceflinger.so
I/DEBUG ( 205): #05 pc 000182bf /system/lib/libsurfaceflinger.so
I/DEBUG ( 205): #06 pc 00018051 /system/lib/libsurfaceflinger.so
I/DEBUG ( 205): #07 pc 000124fb /system/lib/libutils.so (android::Looper::pollInner(int)+410)
I/DEBUG ( 205): #08 pc 000125ed /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
I/DEBUG ( 205): #09 pc 00015885 /system/lib/libsurfaceflinger.so
I/DEBUG ( 205): #10 pc 00017c45 /system/lib/libsurfaceflinger.so (android::SurfaceFlinger::run()+8)
I/DEBUG ( 205): #11 pc 0000083d /system/bin/surfaceflinger
I/DEBUG ( 205): #12 pc 000128ed /system/lib/libc.so (__libc_init+44)
I/DEBUG ( 205): #13 pc 000008d8 /system/bin/surfaceflinger
I/DEBUG ( 205):
I/DEBUG ( 205): Tombstone written to: /data/tombstones/tombstone_02
I/BootReceiver( 658): Copying /data/tombstones/tombstone_02 to DropBox (SYSTEM_TOMBSTONE)
E/SharedPreferencesImpl( 658): Couldn’t create directory for SharedPreferences file shared_prefs/log_files.xml
I/ServiceManager( 156): service ‘SurfaceFlinger’ died
I/ServiceManager( 156): service ‘android.display.hwcomposer’ died
W/SurfaceComposerClient( 1050): ComposerService remote (surfaceflinger) died [0xb5093b40]
W/SurfaceComposerClient( 207): ComposerService remote (surfaceflinger) died [0xb2f19080]
W/SurfaceComposerClient( 750): ComposerService remote (surfaceflinger) died [0xb5093c00]
W/SurfaceComposerClient( 1476): ComposerService remote (surfaceflinger) died [0xb6354240]
W/SurfaceComposerClient( 658): ComposerService remote (surfaceflinger) died [0xafb3f040]
E/DisplayEventReceiver( 658): Display event receiver pipe was closed or an error occurred. events=0x9
E/DisplayEventReceiver( 658): Display event receiver pipe was closed or an error occurred. events=0x9
E/DisplayEventReceiver( 750): Display event receiver pipe was closed or an error occurred. events=0x9
E/DisplayEventReceiver( 658): Display event receiver pipe was closed or an error occurred. events=0x9
E/DisplayEventReceiver( 658): Display event receiver pipe was closed or an error occurred. events=0x9
E/OpenGLRenderer( 750): Display event receiver pipe was closed or an error occurred. events=0x9
E/OpenGLRenderer( 1050): Display event receiver pipe was closed or an error occurred. events=0x9
E/DisplayEventReceiver( 1050): Display event receiver pipe was closed or an error occurred. events=0x9
I/Netd ( 1491): Netd 1.0 starting
E/Netd ( 1491): Failed to open /proc/sys/net/ipv6/conf/default/accept_ra_rt_table: No such file or directory
E/Netd ( 1491): Failed to open /proc/sys/net/ipv6/conf/dummy0/accept_ra_rt_table: No such file or directory
E/Netd ( 1491): Failed to open /proc/sys/net/ipv6/conf/eth0/accept_ra_rt_table: No such file or directory
E/Netd ( 1491): Failed to open /proc/sys/net/ipv6/conf/ip6tnl0/accept_ra_rt_table: No such file or directory
E/Netd ( 1491): Failed to open /proc/sys/net/ipv6/conf/lo/accept_ra_rt_table: No such file or directory
E/Netd ( 1491): Failed to open /proc/sys/net/ipv6/conf/rmnetctl/accept_ra_rt_table: No such file or directory
E/Netd ( 1491): Failed to open /proc/sys/net/ipv6/conf/sit0/accept_ra_rt_table: No such file or directory
E/Netd ( 1491): Failed to open /proc/sys/net/ipv6/conf/wlan0/accept_ra_rt_table: No such file or directory
I/SurfaceFlinger( 1488): SurfaceFlinger is starting
I/SurfaceFlinger( 1488): SurfaceFlinger’s main thread ready to run. Initializing graphics H/W…
D/libEGL ( 1488): loaded /vendor/lib/egl/libEGL_tegra.so
I/CAI ( 1498): APPLICATION up-to-date !!!
I/ServiceManager( 156): service ‘media.audio_flinger’ died
I/ServiceManager( 156): service ‘media.player’ died
I/ServiceManager( 156): service ‘media.camera’ died
I/ServiceManager( 156): service ‘media.audio_policy’ died
I/ServiceManager( 156): service ‘media.sound_trigger_hw’ died
E/ACodec ( 1476): OMX/mediaserver died, signalling error!
E/ACodec ( 1476): signalError(omxError 0x8000100d, internalError -32)
I/ServiceManager( 156): service ‘uimode’ died
I/ServiceManager( 156): service ‘jobscheduler’ died
I/ServiceManager( 156): service ‘backup’ died
I/ServiceManager( 156): service ‘appwidget’ died
I/ServiceManager( 156): service ‘voiceinteraction’ died
I/ServiceManager( 156): service ‘diskstats’ died
I/ServiceManager( 156): service ‘samplingprofiler’ died
I/ServiceManager( 156): service ‘commontime_management’ died
I/ServiceManager( 156): service ‘dreams’ died
I/ServiceManager( 156): service ‘assetatlas’ died
I/ServiceManager( 156): service ‘print’ died
I/ServiceManager( 156): service ‘restrictions’ died
I/ServiceManager( 156): service ‘media_session’ died
I/ServiceManager( 156): service ‘media_router’ died
I/ServiceManager( 156): service ‘trust’ died
I/ServiceManager( 156): service ‘fingerprint’ died
I/ServiceManager( 156): service ‘launcherapps’ died
I/ServiceManager( 156): service ‘media_projection’ died
I/ServiceManager( 156): service ‘imms’ died
I/ServiceManager( 156): service ‘alarm’ died
I/ServiceManager( 156): service ‘window’ died
I/ServiceManager( 156): service ‘input’ died
I/ServiceManager( 156): service ‘input_method’ died
I/ServiceManager( 156): service ‘bluetooth_manager’ died
I/ServiceManager( 156): service ‘accessibility’ died
I/ServiceManager( 156): service ‘mount’ died
I/ServiceManager( 156): service ‘lock_settings’ died
E/MediaCodec( 1476): Codec reported err 0xffffffe0, actionCode 0, while in state 6
I/ServiceManager( 156): service ‘device_policy’ died
I/ServiceManager( 156): service ‘statusbar’ died
I/ServiceManager( 156): service ‘sensorservice’ died
W/ScreenRecord( 1476): dequeueOutputBuffer returned INVALID_OPERATION
I/ServiceManager( 156): service ‘webviewupdate’ died
I/ServiceManager( 156): service ‘scheduling_policy’ died
I/ServiceManager( 156): service ‘telephony.registry’ died
I/ServiceManager( 156): service ‘entropy’ died
I/ServiceManager( 156): service ‘account’ died
I/ServiceManager( 156): service ‘package’ died
I/ServiceManager( 156): service ‘user’ died
I/ServiceManager( 156): service ‘activity’ died
I/ServiceManager( 156): service ‘procstats’ died
I/ServiceManager( 156): service ‘batterystats’ died
I/ServiceManager( 156): service ‘appops’ died
I/ServiceManager( 156): service ‘power’ died
I/ServiceManager( 156): service ‘display’ died
I/ServiceManager( 156): service ‘content’ died
I/ServiceManager( 156): service ‘vibrator’ died
I/ServiceManager( 156): service ‘consumer_ir’ died
I/ServiceManager( 156): service ‘clipboard’ died
I/ServiceManager( 156): service ‘network_management’ died
I/ServiceManager( 156): service ‘textservices’ died
I/ServiceManager( 156): service ‘network_score’ died
I/ServiceManager( 156): service ‘netstats’ died
I/ServiceManager( 156): service ‘netpolicy’ died
I/ServiceManager( 156): service ‘meminfo’ died
I/ServiceManager( 156): service ‘gfxinfo’ died
I/ServiceManager( 156): service ‘dbinfo’ died
I/ServiceManager( 156): service ‘cpuinfo’ died
I/ServiceManager( 156): service ‘permission’ died
I/ServiceManager( 156): service ‘hardware’ died
I/ServiceManager( 156): service ‘usagestats’ died
I/ServiceManager( 156): service ‘battery’ died
I/ServiceManager( 156): service ‘notification’ died
I/ServiceManager( 156): service ‘devicestoragemonitor’ died
I/ServiceManager( 156): service ‘location’ died
I/ServiceManager( 156): service ‘country_detector’ died
I/ServiceManager( 156): service ‘search’ died
I/ServiceManager( 156): service ‘dropbox’ died
I/ServiceManager( 156): service ‘wallpaper’ died
I/ServiceManager( 156): service ‘audio’ died
I/ServiceManager( 156): service ‘DockObserver’ died
I/ServiceManager( 156): service ‘usb’ died
I/kernel ( 655): <6>[ 58.020991] binder: 1476:1478 transaction failed 29189, size 92-0
I/ServiceManager( 156): service ‘serial’ died
I/ServiceManager( 156): service ‘wifi’ died
I/ServiceManager( 156): service ‘wifiscanner’ died
I/ServiceManager( 156): service ‘rttmanager’ died
I/ServiceManager( 156): service ‘ethernet’ died
I/ServiceManager( 156): service ‘connectivity’ died
I/ServiceManager( 156): service ‘servicediscovery’ died
I/ServiceManager( 156): service ‘updatelock’ died
I/ServiceManager( 156): service ‘wifip2p’ died
I/ServiceManager( 1476): Waiting for service SurfaceFlinger…
D/libEGL ( 1488): loaded /vendor/lib/egl/libGLESv1_CM_tegra.so
E/installd( 208): eof
E/installd( 208): failed to read size
I/installd( 208): closing connection
I/lowmemorykiller( 155): ActivityManager disconnected
I/lowmemorykiller( 155): Closing Activity Manager data connection
I/kernel ( 655): <6>[ 58.053234] alarm_release: clear alarm, pending 0
I/ServiceManager( 156): service ‘telecom’ died
D/libEGL ( 1488): loaded /vendor/lib/egl/libGLESv2_tegra.so
I/ServiceManager( 156): service ‘heartbeat’ died
I/ServiceManager( 156): service ‘Housekeeper’ died
I/ServiceManager( 156): service ‘phone’ died
I/ServiceManager( 156): service ‘simphonebook’ died
I/ServiceManager( 156): service ‘iphonesubinfo’ died
I/ServiceManager( 156): service ‘isms’ died
I/ServiceManager( 156): service ‘isub’ died

Could you share me the solution for this issue?

All I can do is comment on how to work on this. The actual file which this lists as having a SIGSEGV is “hwcomposer.tegra.so”. There is a file related to this with information on the file, “hwcomposer.tegra.so.NOTICE”. The file is not from NVIDIA:

/*
 * Copyright (C) 2010-2012 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

It looks like the file was created for Tegra products, but wasn’t written for the official L4T. So far as I know Jedroid is not from NVIDIA, but was a third party adaptation of Android. So unless I am wrong about that, there isn’t any way for NVIDIA to know what is there. Even so there would be ways to solve this if the source code is available to “hwcomposer.tegra.so”. Even if no source code is available, then there might still be ways to debug it if the man page provides the function signature and valid input parameters.

I am assuming the actual error is in an end user application and not in the kernel, and that the application can be rebuilt with debug symbols (or debug symbols added). You’d then need to get a debugger backtrace and find out if the function was passed valid arguments or not. If the arguments are not valid, then the function caller is at fault; if the function is called with valid arguments, then you’d need the source code of the function to see what went wrong. Until that information is available all we know is that the kernel killed the application when some function in “hwcomposer.tegra.so” tried to perform an illegal memory operation.