Reproduction steps:
- Run the Android Player with Vulkan Graphics API initialized
- In the Player, start a VideoPlayer playback
- Disable the VideoPlayer’s parent GameObject
- Observe the crash
Reproducible with: 6000.3.13f1
Testing environment: 26.5.1 (by reporter)
Reproducible with these devices:
By reporter - Galaxy S21 (SM-G991N), OS: Android 12, CPU: Exynos 2100
Notes:
- Not reproduced by CQA
- The crash is observed on two different threads:
1) UnityMain thread - during frame processing (fault addr 0x4)
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x4 in tid (UnityMain)
#05 AndroidVulkanVideo::ProcessFrame(AndroidVulkanVideo::Context*, AImage*, RenderTexture*, unsigned int)+672
#06 AndroidVideoMedia<AndroidMediaNDK::Traits>::UpdateTexture(Texture&, double, long&)+512
#07 VideoMediaTextureOutput::OutputTexture(...)+160
#08 VideoClipPlayback::GetTextureAtTimeInternal(Texture*, double, long*)+208
#09 VideoPlayback::GetTexture(Texture*, long*, bool*)+80
#10 VideoPlayer::VideoUpdate(bool&)+348
#11 VideoManager::VideoUpdate()+152
... ExecutePlayerLoop -> PlayerLoop -> UnityPlayerLoop -> nativeRender
2) UnityGfxDeviceW thread - during Context destruction / resource cleanup (fault addr 0x0)
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid (UnityGfxDeviceW)
#04 AndroidVulkanVideo::Context::~Context()+132
#05 vk::ResourceDestructionStagingArea::GarbageCollect()+460
#06 GfxDeviceVK::FlushPools_Internal()+56
#07 GfxDeviceVK::FlushPools()+308
#08 GfxDeviceVK::SyncLastPresentImpl(bool)+488
#09 AndroidGfxDeviceVK::SyncLastPresentImpl(bool)+4
#10 GfxDeviceVK::SetRenderTargetsImpl(...)+52
... GfxDeviceWorker::RunCommand -> Run -> RunThreadWrapper