android app was crashed when got VK_ERROR_SURFACE_LOST_KHR event.

Hi guys,

I tested vulkan api on Android devices.
It worked well for most times but I got crashes when sufacelost event is triggered.

I attached a log below.

LogPlayLevel:   12-19 14:52:26.819 26423 26451 D UE4     : [2019.12.19-05.52.26:819][771]LogAudioMixerAndroid: Display: Suspending android audio renderer
LogPlayLevel:   12-19 14:52:26.820 26423 26451 D UE4     : Execution has been paused...
LogPlayLevel:   12-19 14:52:26.821 26423 26452 D UE4     : [2019.12.19-05.52.26:821][771]LogAndroid: Case APP_CMD_LOST_FOCUS
LogPlayLevel:   12-19 14:52:26.821 26423 26452 D UE4     : LogAndroidEvents::EnqueueAppEvent : 10, 0, tid = 26452, APP_EVENT_STATE_WINDOW_LOST_FOCUS
LogPlayLevel:   12-19 14:52:26.821 26423 26452 D UE4     : [2019.12.19-05.52.26:821][771]LogAndroid: Case APP_CMD_SAVE_STATE
LogPlayLevel:   12-19 14:52:26.821 26423 26452 D UE4     : LogAndroidEvents::EnqueueAppEvent : 12, 0, tid = 26452, APP_EVENT_STATE_SAVE_STATE
LogPlayLevel:   12-19 14:52:26.825 26423 26452 D UE4     : Case APP_CMD_TERM_WINDOW, tid = 26452
LogPlayLevel:   12-19 14:52:26.826 26423 26452 D UE4     : [2019.12.19-05.52.26:825][771]LogAndroid: Case APP_CMD_TERM_WINDOW
LogPlayLevel:   12-19 14:52:26.826 26423 26452 D UE4     : LogAndroidEvents::EnqueueAppEvent : 3, 0, tid = 26452, APP_EVENT_STATE_WINDOW_DESTROYED
LogPlayLevel:   12-19 14:52:26.924 26423 26451 D UE4     : [2019.12.19-05.52.26:923][771]LogAndroidEvents: Display: LogAndroidEvents::DequeueAppEvent : 10, 0, APP_EVENT_STATE_WINDOW_LOST_FOCUS
LogPlayLevel:   12-19 14:52:26.924 26423 26451 D UE4     : [2019.12.19-05.52.26:924][771]LogAndroidEvents: Display: LogAndroidEvents::DequeueAppEvent : 12, 0, APP_EVENT_STATE_SAVE_STATE
LogPlayLevel:   12-19 14:52:26.924 26423 26451 D UE4     : [2019.12.19-05.52.26:924][771]LogAndroidEvents: Display: LogAndroidEvents::DequeueAppEvent : 3, 0, APP_EVENT_STATE_WINDOW_DESTROYED
LogPlayLevel:   12-19 14:52:26.924 26423 26451 D UE4     : APP_EVENT_STATE_WINDOW_DESTROYED, 0, 0, 0
LogPlayLevel:   12-19 14:52:26.924 26423 26451 D UE4     : AndroidEGL::DestroyWindow()
LogPlayLevel:   12-19 14:52:26.924 26423 26451 D UE4     : FAndroidAppEntry::DestroyWindow() called
LogPlayLevel:   12-19 14:52:26.929 26423 26452 D UE4     : [2019.12.19-05.52.26:929][771]LogAndroid: Case APP_CMD_STOP
LogPlayLevel:   12-19 14:52:26.929 26423 26423 D UE4     : ==============> GameActive.onStop complete!
LogPlayLevel:   12-19 14:52:26.929 26423 26452 D UE4     : LogAndroidEvents::EnqueueAppEvent : 8, 0, tid = 26452, APP_EVENT_STATE_ON_STOP
LogPlayLevel:   12-19 14:52:26.949 26423 26423 D UE4     : ==============> GameActive.onTrimMemory(TRIM_MEMORY_UI_HIDDEN) called!
LogPlayLevel:   12-19 14:52:27.044 26423 26451 D UE4     : [2019.12.19-05.52.27:044][771]LogAndroidEvents: Display: LogAndroidEvents::DequeueAppEvent : 8, 0, APP_EVENT_STATE_ON_STOP
LogPlayLevel:   12-19 14:52:27.764 26423 26452 D UE4     : [2019.12.19-05.52.27:764][771]LogAndroid: Case APP_CMD_START
LogPlayLevel:   12-19 14:52:27.764 26423 26452 D UE4     : LogAndroidEvents::EnqueueAppEvent : 9, 0, tid = 26452, APP_EVENT_STATE_ON_START
LogPlayLevel:   12-19 14:52:27.764 26423 26423 D UE4     : Creating console command broadcast listener
LogPlayLevel:   12-19 14:52:27.775 26423 26423 D UE4     : ==================================> Inside onStart function in GameActivity
LogPlayLevel:   12-19 14:52:27.777 26423 26452 D UE4     : Case APP_CMD_RESUME
LogPlayLevel:   12-19 14:52:27.777 26423 26452 D UE4     : [2019.12.19-05.52.27:777][771]LogAndroid: Case APP_CMD_RESUME
LogPlayLevel:   12-19 14:52:27.777 26423 26452 D UE4     : LogAndroidEvents::EnqueueAppEvent : 7, 0, tid = 26452, APP_EVENT_STATE_ON_RESUME
LogPlayLevel:   12-19 14:52:27.777 26423 26423 D UE4     : onResume: start memory reporter runnable
LogPlayLevel:   12-19 14:52:27.777 26423 26423 D UE4     : ==============> [JAVA] AndroidThunkJava_KeepScreenOn(false) - Enabled screen saver
LogPlayLevel:   12-19 14:52:27.778 26423 26423 D UE4     : App is running in Landscape
LogPlayLevel:   12-19 14:52:27.778 26423 26423 D UE4     : ==============> Resuming main init
LogPlayLevel:   12-19 14:52:27.778 26423 26423 D UE4     : ==============> GameActive.onResume complete!
LogPlayLevel:   12-19 14:52:27.790 26423 26452 D UE4     : Case APP_CMD_INIT_WINDOW
LogPlayLevel:   12-19 14:52:27.790 26423 26452 D UE4     : [2019.12.19-05.52.27:790][771]LogAndroid: Case APP_CMD_INIT_WINDOW
LogPlayLevel:   12-19 14:52:27.790 26423 26452 D UE4     : LogAndroidEvents::EnqueueAppEvent : 0, 2739023888, tid = 26452, APP_EVENT_STATE_WINDOW_CREATED
LogPlayLevel:   12-19 14:52:27.865 26423 26451 D UE4     : [2019.12.19-05.52.27:864][771]LogAndroidEvents: Display: LogAndroidEvents::DequeueAppEvent : 9, 0, APP_EVENT_STATE_ON_START
LogPlayLevel:   12-19 14:52:27.865 26423 26451 D UE4     : [2019.12.19-05.52.27:865][771]LogAndroidEvents: Display: LogAndroidEvents::DequeueAppEvent : 7, 0, APP_EVENT_STATE_ON_RESUME
LogPlayLevel:   12-19 14:52:27.865 26423 26451 D UE4     : [2019.12.19-05.52.27:865][771]LogAndroidEvents: Display: LogAndroidEvents::DequeueAppEvent : 0, 2739023888, APP_EVENT_STATE_WINDOW_CREATED
LogPlayLevel:   12-19 14:52:27.865 26423 26451 D UE4     : APP_EVENT_STATE_WINDOW_CREATED 0, 0, 0, 1
LogPlayLevel:   12-19 14:52:27.865 26423 26452 D UE4     : [2019.12.19-05.52.27:865][771]LogAndroid: Case APP_CMD_GAINED_FOCUS
LogPlayLevel:   12-19 14:52:27.865 26423 26452 D UE4     : LogAndroidEvents::EnqueueAppEvent : 11, 0, tid = 26452, APP_EVENT_STATE_WINDOW_GAINED_FOCUS
LogPlayLevel:   12-19 14:52:27.965 26423 26451 D UE4     : [2019.12.19-05.52.27:965][771]LogAndroidEvents: Display: LogAndroidEvents::DequeueAppEvent : 11, 0, APP_EVENT_STATE_WINDOW_GAINED_FOCUS
LogPlayLevel:   12-19 14:52:27.965 26423 26451 D UE4     : [2019.12.19-05.52.27:965][771]LogAndroidEvents: Display: ExecWindowCreated
LogPlayLevel:   12-19 14:52:27.965 26423 26451 D UE4     : [2019.12.19-05.52.27:965][771]LogAndroid: Mobile HDR: YES
LogPlayLevel:   12-19 14:52:27.965 26423 26451 D UE4     : [2019.12.19-05.52.27:965][771]LogAndroidWindowUtils: Setting Width=1344 and Height=720 (requested scale = 1.000000)
LogPlayLevel:   12-19 14:52:27.966 26423 26451 D UE4     : AndroidEGL::ReInitWindow()
LogPlayLevel: Error:   12-19 14:52:27.969 26423 26451 D UE4     : [2019.12.19-05.52.27:969][771]LogVulkanRHI: Error: VulkanRHI::vkGetPhysicalDeviceSurfaceCapabilitiesKHR(Device.GetPhysicalHandle(), Surface, &SurfProperties) failed, VkResult=-1000000000
LogPlayLevel:   12-19 14:52:27.969 26423 26451 D UE4     :  at F:/ue4_git/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanSwapChain.cpp:384
LogPlayLevel:   12-19 14:52:27.969 26423 26451 D UE4     :  with error VK_ERROR_SURFACE_LOST_KHR
LogPlayLevel: Warning:   12-19 14:52:27.969 26423 26451 D UE4     : [2019.12.19-05.52.27:969][771]LogOutputDevice: Warning:
LogPlayLevel:   12-19 14:52:27.969 26423 26451 D UE4     :
LogPlayLevel:   12-19 14:52:27.969 26423 26451 D UE4     : Script Stack (0 frames):
LogPlayLevel:   12-19 14:52:27.969 26423 26451 D UE4     :
LogPlayLevel: Error:   12-19 14:52:27.992 26423 26451 D UE4     : Fatal error: [File:F:/ue4_git/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 690]
LogPlayLevel:   12-19 14:52:27.992 26423 26451 D UE4     : VulkanRHI::vkGetPhysicalDeviceSurfaceCapabilitiesKHR(Device.GetPhysicalHandle(), Surface, &SurfProperties) failed, VkResult=-1000000000
LogPlayLevel:   12-19 14:52:27.992 26423 26451 D UE4     :  at F:/ue4_git/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanSwapChain.cpp:384
LogPlayLevel:   12-19 14:52:27.992 26423 26451 D UE4     :  with error VK_ERROR_SURFACE_LOST_KHR
LogPlayLevel:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]Assertion failed:  [File:F:/ue4_git/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 690]
LogPlayLevel:   12-19 14:52:27.993 26423 26451 D UE4     : VulkanRHI::vkGetPhysicalDeviceSurfaceCapabilitiesKHR(Device.GetPhysicalHandle(), Surface, &SurfProperties) failed, VkResult=-1000000000
LogPlayLevel:   12-19 14:52:27.993 26423 26451 D UE4     :  at F:/ue4_git/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanSwapChain.cpp:384
LogPlayLevel:   12-19 14:52:27.993 26423 26451 D UE4     :  with error VK_ERROR_SURFACE_LOST_KHR
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: === Critical error: ===
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error:
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: Fatal error: [File:F:/ue4_git/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 690]
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: VulkanRHI::vkGetPhysicalDeviceSurfaceCapabilitiesKHR(Device.GetPhysicalHandle(), Surface, &SurfProperties) failed, VkResult=-1000000000
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error:  at F:/ue4_git/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanSwapChain.cpp:384
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error:  with error VK_ERROR_SURFACE_LOST_KHR
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007AACD1655C libUE4.so(0x000000000451555C)!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int)  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007AACCE6B5C libUE4.so(0x00000000044E5B5C)!FVulkanSwapChain::FVulkanSwapChain(VkInstance_T*, FVulkanDevice&, void*, EPixelFormat&, unsigned int, unsigned int, unsigned int*, TArray<VkImage_T*, TSizedDefaultAllocator<32> >&, sig
ned char, FVulkanSwapChainRecreateInfo*)  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007AACD17E74 libUE4.so(0x0000000004516E74)!FVulkanViewport::CreateSwapchain(FVulkanSwapChainRecreateInfo*)  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007AACD18F30 libUE4.so(0x0000000004517F30)!FVulkanViewport::RecreateSwapchain(void*, bool)  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007AACCE1FC4 libUE4.so(0x00000000044E0FC4)!FVulkanDynamicRHI::RecreateSwapChain(void*)  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007AB009F29C libUE4.so(0x000000000789E29C)!FAndroidAppEntry::ReInitWindow(void*)  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007AAC7D4C0C libUE4.so(0x0000000003FD3C0C)!FAppEventManager::ExecWindowCreated()  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007AAC7D3DC4 libUE4.so(0x0000000003FD2DC4)!FAppEventManager::Tick()  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007AAC7E0688 libUE4.so(0x0000000003FDF688)!AndroidMain(android_app*)  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007AAC7ED248 libUE4.so(0x0000000003FEC248)!android_main()  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007AAC80BAE4 libUE4.so(0x000000000400AAE4)![Unknown]()  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007B501EC2BC libc.so(0x00000000000922BC)![Unknown]()  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error: [Callstack] 0x0000007B5017DB04 libc.so(0x0000000000023B04)![Unknown]()  []
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error:
LogPlayLevel: Error:   12-19 14:52:27.993 26423 26451 D UE4     : [2019.12.19-05.52.27:993][771]LogAndroid: Error:

Thanks,