Analysed Frames on Android(Vulkan) Aways Failed

Hi,

Analysed Frames on Android(Vulkan) Aways Failed

Output: Error: Analysis failed: Failed to read message header (‘Not connected’)

Key Logs:

Created VkDevice 0xb4000077703ea090 using VkPhysicalDevice 0xb4000076803e9c30:

Recorded apiVersion ‘1.1.131’, Playback apiVersion ‘1.1.131’

Recorded driverVersion ‘109051904’, Playback driverVersion ‘109051904’

Recorded vendorID ‘5045’, Playback vendorID ‘5045’

Recorded deviceID ‘2424307729’, Playback deviceID ‘2424307729’

Recorded deviceType ‘VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU’, Playback deviceType ‘VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU’

Recorded deviceName ‘Mali-G77 MC9’, Playback deviceName ‘Mali-G77 MC9’

Playing back frame 5

Error: Analysis failed: Failed to read message header (‘Not connected’)

Elapsed time 0h 0m 2s 74ms

How to Resolve??

Hello,

Welcome to the PVR Developer Forum! and thank you for reporting the issue with PVRCarbon.
For us to better diagnose the issue that you are facing, could you please share the PVRCarbon version that produces this issue.

Best Regards,
Nagnath

PVRCarbon(v0.9)

entire log(can’t upload attachment)
Opening File ‘C:/Users/togchen/Documents/com.tog.demo_2023_02_15_13_58_18.pvrcbn’
Started playback…
File loading has finished (0 errors, 0 warnings)
Playing back frame 0
Host EGL Library ‘libEGL.so’ loaded successfully
Playback EGL_VENDOR: ‘Android’
Playback EGL_VERSION: ‘1.4 Android META-EGL’
Host OpenGL ES v2 Library ‘libGLESv2.so’ loaded successfully
Playback Context: ‘0xb4000076103e7050’
Playback GL_VENDOR: ‘ARM’
Playback GL_VERSION: ‘OpenGL ES 3.2 v1.r26p0-01eac0.bed3b8f44871361148086fa6397ba747’
Playback GL_RENDERER: ‘Mali-G77 MC9’
Playback GL_SHADING_LANGUAGE_VERSION: ‘OpenGL ES GLSL ES 3.20’
Playback EGL_VENDOR: ‘Android’
Playback EGL_VERSION: ‘1.4 Android META-EGL’
Playback Context: ‘0xb4000076103bd800’
Playback GL_VENDOR: ‘ARM’
Playback GL_VERSION: ‘OpenGL ES 3.2 v1.r26p0-01eac0.bed3b8f44871361148086fa6397ba747’
Playback GL_RENDERER: ‘Mali-G77 MC9’
Playback GL_SHADING_LANGUAGE_VERSION: ‘OpenGL ES GLSL ES 3.20’
Playing back frame 1
Playing back frame 2
Playing back frame 3
Playback Context: ‘0xb4000076103f7940’
Playback GL_VENDOR: ‘ARM’
Playback GL_VERSION: ‘OpenGL ES 3.2 v1.r26p0-01eac0.bed3b8f44871361148086fa6397ba747’
Playback GL_RENDERER: ‘Mali-G77 MC9’
Playback GL_SHADING_LANGUAGE_VERSION: ‘OpenGL ES GLSL ES 3.20’
Supported Instance Extensions on playback device (10 in total):
VK_KHR_surface
VK_KHR_android_surface
VK_EXT_swapchain_colorspace
VK_KHR_get_surface_capabilities2
VK_EXT_debug_report
VK_KHR_device_group_creation
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_get_physical_device_properties2
Supported Instance Layers on playback device (1 in total):
VK_LAYER_POWERVR_format_emulation
Enabling the use of ‘VK_EXT_debug_report’ callbacks
Instance Extensions to be enabled for playback (1 in total):
VK_EXT_debug_report
Enabling ‘VK_LAYER_POWERVR_format_emulation’ which provides emulation for various formats supported by PowerVR devices which may not be supported on this platform
Instance Layers to be enabled for playback (1 in total):
VK_LAYER_POWERVR_format_emulation
Created Vulkan (1.0.1) playback instance for (1.0.1) recorded instance
Application Info: ‘UE4’ (0)
Engine Info: ‘UE4’ (0)
Playing back frame 4
Supported Instance Extensions on playback device (10 in total):
VK_KHR_surface
VK_KHR_android_surface
VK_EXT_swapchain_colorspace
VK_KHR_get_surface_capabilities2
VK_EXT_debug_report
VK_KHR_device_group_creation
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_get_physical_device_properties2
Supported Instance Layers on playback device (1 in total):
VK_LAYER_POWERVR_format_emulation
Removing extension ‘VK_KHR_android_surface’ from VkInstanceCreateInfo::ppEnabledExtensionNames as PVRCarbon is rendering offscreen
Enabling the use of ‘VK_EXT_debug_report’ callbacks
Instance Extensions to be enabled for playback (4 in total):
VK_KHR_surface
VK_KHR_external_memory_capabilities
VK_KHR_get_physical_device_properties2
VK_EXT_debug_report
Enabling ‘VK_LAYER_POWERVR_format_emulation’ which provides emulation for various formats supported by PowerVR devices which may not be supported on this platform
Instance Layers to be enabled for playback (1 in total):
VK_LAYER_POWERVR_format_emulation
Created Vulkan (1.0.0) playback instance for (1.0.0) recorded instance
Supported Device Extensions on playback device (60 in total):
VK_ANDROID_external_memory_android_hardware_buffer
VK_EXT_astc_decode_mode
VK_EXT_descriptor_indexing
VK_EXT_external_memory_dma_buf
VK_EXT_fragment_density_map
VK_EXT_global_priority
VK_EXT_host_query_reset
VK_EXT_image_drm_format_modifier
VK_EXT_index_type_uint8
VK_EXT_inline_uniform_block
VK_EXT_line_rasterization
VK_EXT_queue_family_foreign
VK_EXT_scalar_block_layout
VK_EXT_separate_stencil_usage
VK_EXT_shader_subgroup_ballot
VK_EXT_shader_subgroup_vote
VK_EXT_texture_compression_astc_hdr
VK_EXT_transform_feedback
VK_GOOGLE_display_timing
VK_IMG_format_pvrtc
VK_KHR_16bit_storage
VK_KHR_8bit_storage
VK_KHR_bind_memory2
VK_KHR_buffer_device_address
VK_KHR_create_renderpass2
VK_KHR_dedicated_allocation
VK_KHR_depth_stencil_resolve
VK_KHR_descriptor_update_template
VK_KHR_device_group
VK_KHR_driver_properties
VK_KHR_external_fence
VK_KHR_external_fence_fd
VK_KHR_external_memory
VK_KHR_external_memory_fd
VK_KHR_external_semaphore
VK_KHR_external_semaphore_fd
VK_KHR_get_memory_requirements2
VK_KHR_image_format_list
VK_KHR_imageless_framebuffer
VK_KHR_incremental_present
VK_KHR_maintenance1
VK_KHR_maintenance2
VK_KHR_maintenance3
VK_KHR_multiview
VK_KHR_relaxed_block_layout
VK_KHR_sampler_mirror_clamp_to_edge
VK_KHR_sampler_ycbcr_conversion
VK_KHR_separate_depth_stencil_layouts
VK_KHR_shader_draw_parameters
VK_KHR_shader_float16_int8
VK_KHR_shader_float_controls
VK_KHR_shader_subgroup_extended_types
VK_KHR_shared_presentable_image
VK_KHR_spirv_1_4
VK_KHR_storage_buffer_storage_class
VK_KHR_swapchain
VK_KHR_timeline_semaphore
VK_KHR_uniform_buffer_standard_layout
VK_KHR_variable_pointers
VK_KHR_vulkan_memory_model
Device Extensions to be enabled for playback (13 in total):
VK_EXT_astc_decode_mode
VK_EXT_fragment_density_map
VK_KHR_multiview
VK_KHR_create_renderpass2
VK_EXT_host_query_reset
VK_KHR_swapchain
VK_KHR_maintenance1
VK_KHR_maintenance2
VK_EXT_scalar_block_layout
VK_KHR_image_format_list
VK_KHR_get_memory_requirements2
VK_KHR_dedicated_allocation
VK_KHR_bind_memory2
Created VkDevice 0xb4000077703ea090 using VkPhysicalDevice 0xb4000076803deec0:
Recorded apiVersion ‘1.1.131’, Playback apiVersion ‘1.1.131’
Recorded driverVersion ‘109051904’, Playback driverVersion ‘109051904’
Recorded vendorID ‘5045’, Playback vendorID ‘5045’
Recorded deviceID ‘2424307729’, Playback deviceID ‘2424307729’
Recorded deviceType ‘VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU’, Playback deviceType ‘VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU’
Recorded deviceName ‘Mali-G77 MC9’, Playback deviceName ‘Mali-G77 MC9’
Playing back frame 5
Playing back frame 6
Playing back frame 7
Playing back frame 8
Playing back frame 9
Playing back frame 10
Playing back frame 11
Playing back frame 12
Playing back frame 13
Playing back frame 14
Playing back frame 15
Playing back frame 16
Playing back frame 17
Playing back frame 18
Playing back frame 19
Playing back frame 20
Playing back frame 21
Playing back frame 22
Playing back frame 23
Playing back frame 24
Playing back frame 25
Playing back frame 26
Playing back frame 27
Playing back frame 28
Playing back frame 29
Playing back frame 30
Playback finished
Elapsed time 0h 0m 10s 762ms
Started analysis…
Playing back frame 0
Host EGL Library ‘libEGL.so’ loaded successfully
Playback EGL_VENDOR: ‘Android’
Playback EGL_VERSION: ‘1.4 Android META-EGL’
Host OpenGL ES v2 Library ‘libGLESv2.so’ loaded successfully
Playback Context: ‘0xb4000076103fa0a0’
Playback GL_VENDOR: ‘ARM’
Playback GL_VERSION: ‘OpenGL ES 3.2 v1.r26p0-01eac0.bed3b8f44871361148086fa6397ba747’
Playback GL_RENDERER: ‘Mali-G77 MC9’
Playback GL_SHADING_LANGUAGE_VERSION: ‘OpenGL ES GLSL ES 3.20’
Playback EGL_VENDOR: ‘Android’
Playback EGL_VERSION: ‘1.4 Android META-EGL’
Playback Context: ‘0xb4000076103f2de0’
Playback GL_VENDOR: ‘ARM’
Playback GL_VERSION: ‘OpenGL ES 3.2 v1.r26p0-01eac0.bed3b8f44871361148086fa6397ba747’
Playback GL_RENDERER: ‘Mali-G77 MC9’
Playback GL_SHADING_LANGUAGE_VERSION: ‘OpenGL ES GLSL ES 3.20’
Playing back frame 1
Playing back frame 2
Playing back frame 3
Playback Context: ‘0xb4000076103f9ef0’
Playback GL_VENDOR: ‘ARM’
Playback GL_VERSION: ‘OpenGL ES 3.2 v1.r26p0-01eac0.bed3b8f44871361148086fa6397ba747’
Playback GL_RENDERER: ‘Mali-G77 MC9’
Playback GL_SHADING_LANGUAGE_VERSION: ‘OpenGL ES GLSL ES 3.20’
Supported Instance Extensions on playback device (10 in total):
VK_KHR_surface
VK_KHR_android_surface
VK_EXT_swapchain_colorspace
VK_KHR_get_surface_capabilities2
VK_EXT_debug_report
VK_KHR_device_group_creation
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_get_physical_device_properties2
Supported Instance Layers on playback device (1 in total):
VK_LAYER_POWERVR_format_emulation
Enabling the use of ‘VK_EXT_debug_report’ callbacks
Instance Extensions to be enabled for playback (1 in total):
VK_EXT_debug_report
Enabling ‘VK_LAYER_POWERVR_format_emulation’ which provides emulation for various formats supported by PowerVR devices which may not be supported on this platform
Instance Layers to be enabled for playback (1 in total):
VK_LAYER_POWERVR_format_emulation
Created Vulkan (1.0.1) playback instance for (1.0.1) recorded instance
Application Info: ‘UE4’ (0)
Engine Info: ‘UE4’ (0)
Playing back frame 4
Supported Instance Extensions on playback device (10 in total):
VK_KHR_surface
VK_KHR_android_surface
VK_EXT_swapchain_colorspace
VK_KHR_get_surface_capabilities2
VK_EXT_debug_report
VK_KHR_device_group_creation
VK_KHR_external_fence_capabilities
VK_KHR_external_memory_capabilities
VK_KHR_external_semaphore_capabilities
VK_KHR_get_physical_device_properties2
Supported Instance Layers on playback device (1 in total):
VK_LAYER_POWERVR_format_emulation
Removing extension ‘VK_KHR_android_surface’ from VkInstanceCreateInfo::ppEnabledExtensionNames as PVRCarbon is rendering offscreen
Enabling the use of ‘VK_EXT_debug_report’ callbacks
Instance Extensions to be enabled for playback (4 in total):
VK_KHR_surface
VK_KHR_external_memory_capabilities
VK_KHR_get_physical_device_properties2
VK_EXT_debug_report
Enabling ‘VK_LAYER_POWERVR_format_emulation’ which provides emulation for various formats supported by PowerVR devices which may not be supported on this platform
Instance Layers to be enabled for playback (1 in total):
VK_LAYER_POWERVR_format_emulation
Created Vulkan (1.0.0) playback instance for (1.0.0) recorded instance
Supported Device Extensions on playback device (60 in total):
VK_ANDROID_external_memory_android_hardware_buffer
VK_EXT_astc_decode_mode
VK_EXT_descriptor_indexing
VK_EXT_external_memory_dma_buf
VK_EXT_fragment_density_map
VK_EXT_global_priority
VK_EXT_host_query_reset
VK_EXT_image_drm_format_modifier
VK_EXT_index_type_uint8
VK_EXT_inline_uniform_block
VK_EXT_line_rasterization
VK_EXT_queue_family_foreign
VK_EXT_scalar_block_layout
VK_EXT_separate_stencil_usage
VK_EXT_shader_subgroup_ballot
VK_EXT_shader_subgroup_vote
VK_EXT_texture_compression_astc_hdr
VK_EXT_transform_feedback
VK_GOOGLE_display_timing
VK_IMG_format_pvrtc
VK_KHR_16bit_storage
VK_KHR_8bit_storage
VK_KHR_bind_memory2
VK_KHR_buffer_device_address
VK_KHR_create_renderpass2
VK_KHR_dedicated_allocation
VK_KHR_depth_stencil_resolve
VK_KHR_descriptor_update_template
VK_KHR_device_group
VK_KHR_driver_properties
VK_KHR_external_fence
VK_KHR_external_fence_fd
VK_KHR_external_memory
VK_KHR_external_memory_fd
VK_KHR_external_semaphore
VK_KHR_external_semaphore_fd
VK_KHR_get_memory_requirements2
VK_KHR_image_format_list
VK_KHR_imageless_framebuffer
VK_KHR_incremental_present
VK_KHR_maintenance1
VK_KHR_maintenance2
VK_KHR_maintenance3
VK_KHR_multiview
VK_KHR_relaxed_block_layout
VK_KHR_sampler_mirror_clamp_to_edge
VK_KHR_sampler_ycbcr_conversion
VK_KHR_separate_depth_stencil_layouts
VK_KHR_shader_draw_parameters
VK_KHR_shader_float16_int8
VK_KHR_shader_float_controls
VK_KHR_shader_subgroup_extended_types
VK_KHR_shared_presentable_image
VK_KHR_spirv_1_4
VK_KHR_storage_buffer_storage_class
VK_KHR_swapchain
VK_KHR_timeline_semaphore
VK_KHR_uniform_buffer_standard_layout
VK_KHR_variable_pointers
VK_KHR_vulkan_memory_model
Device Extensions to be enabled for playback (13 in total):
VK_EXT_astc_decode_mode
VK_EXT_fragment_density_map
VK_KHR_multiview
VK_KHR_create_renderpass2
VK_EXT_host_query_reset
VK_KHR_swapchain
VK_KHR_maintenance1
VK_KHR_maintenance2
VK_EXT_scalar_block_layout
VK_KHR_image_format_list
VK_KHR_get_memory_requirements2
VK_KHR_dedicated_allocation
VK_KHR_bind_memory2
Created VkDevice 0xb40000777045a9d0 using VkPhysicalDevice 0xb4000076803eccc0:
Recorded apiVersion ‘1.1.131’, Playback apiVersion ‘1.1.131’
Recorded driverVersion ‘109051904’, Playback driverVersion ‘109051904’
Recorded vendorID ‘5045’, Playback vendorID ‘5045’
Recorded deviceID ‘2424307729’, Playback deviceID ‘2424307729’
Recorded deviceType ‘VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU’, Playback deviceType ‘VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU’
Recorded deviceName ‘Mali-G77 MC9’, Playback deviceName ‘Mali-G77 MC9’
Playing back frame 5
Playing back frame 6
Error: Analysis failed: Failed to read message header (‘Not connected’)
Elapsed time 0h 0m 4s 206ms

Oh

When I record app(Mali-G77 MC9),app aways is crash(Memory Crash about libc)

I note recording log:
Note: By default to support multi-platform playback we override api alignment values to our recommended values. To disable this set the align recommended option to false

How to disable the align ?
Do you have recommended config?

Hello,
Thank you for sharing the details.

How to disable the align ?

We don’t think the alignment changes would cause any issue here. It could mostly be only a problem at record time if the application is already close to the memory limits of the phone and the changes push it over or could be an application issue and it doesn’t correctly handle different alignments.
You could still give it a try while following the instructions as given in the documentation below,
https://docs.imgtec.com/tools-manuals/pvrcarbon-manual/topics/pvrcarbon-recorder/configuration/environment-variables.html

Also, for us to be better diagnose your issue it would be helpful if you could share the carbon recording with the problematic frame captured and a full logcat from the Mali-G77 MC9 device. Kindly register and raise a ticket in our support portal while adding these attachments, [PowerVR Insider Support] [https://pvrsupport.imgtec.com] (https://pvrsupport.imgtec.com/).

Do you have recommended config?

As for recommended config, In most cases what carbon sets up by default should be good enough.

Best Regards,
Nagnath

Hi,

Files (adblogcat_about_pvrcarbon & recorded_pvrcbn) can be download

Thank you for providing the files. We will review them and let you know if we require any additional information.

Hello,

From the logcat, we found that the recorder has encountered a SIGSEGV (Segmentation fault) right after the device creation is done and then it fails to capture further calls which looks like are related to vulkan initialisation and setup. It looks like the recording wasn’t so successful in the first place.

And for the carbon recording, when tried to replay it on our android device, as the initial set of calls were failed to be recorded as seen above, it throws “Missing call” error for first set of calls.

We would like to know,

  1. If the application runs fine when you launch it on your device otherwise?
  2. Did you try while disabling the API alignment and try recording again?
  3. Will it be possible for you to share the apk with us to see if the app runs fine and if we are able to record it fine on our device.

Best Regards,
Nagnath