Hi Unity Community,
I’m experiencing a crash during video playback on some Android devices, visible in the Google Play Console. The crash appears to be related to VideoPlayer
and Vulkan integration. Below is the relevant stack trace:
Google play Console
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 6773 >>> com.AlfaBravo.CombatMaster <<<
backtrace:
#00 pc 0x00000000000ac5f8 /apex/com.android.runtime/lib64/bionic/libc.so (tgkill+8)
#01 pc 0x0000000000e0db9c /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (DebugStringToFilePostprocessedStacktrace(DebugStringToFileData const&)+130519040) (BuildId: 942c02a61b8e5585)
#02 pc 0x0000000000e0e118 /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (DebugStringToFile(DebugStringToFileData const&)+130519040) (BuildId: 942c02a61b8e5585)
#03 pc 0x0000000000c2dbd8 /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (GetGfxDevice()+130519040) (BuildId: 942c02a61b8e5585)
#04 pc 0x00000000007bd75c /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (AndroidVulkanVideo::DestroyAndroidVulkanVideo(AndroidVulkanVideo::Context*)+130519040) (BuildId: 942c02a61b8e5585)
#05 pc 0x0000000000b237b0 /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (VulkanYUVToRGB::Reset()+130519040) (BuildId: 942c02a61b8e5585)
#06 pc 0x0000000000b23770 /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (core::unique_ptr<VulkanYUVToRGB>::reset()+130519040) (BuildId: 942c02a61b8e5585)
#07 pc 0x0000000000b243e8 /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (AndroidVideoMedia<AndroidMediaNDK::Traits>::VideoDecoder::~VideoDecoder()+130519040) (BuildId: 942c02a61b8e5585)
#08 pc 0x0000000000b21c30 /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (AndroidVideoMedia<AndroidMediaNDK::Traits>::ThreadedOpen(core::basic_string<char, core::StringStorageDefault<char>> const&, core::basic_string<char, core::StringStorageDefault<char>> const&, VFS::FileSize, unsigned long, char, MediaAttributes const*)+130519040) (BuildId: 942c02a61b8e5585)
#09 pc 0x0000000000b0ef4c /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (VideoClipPlayback::OpenPlaybackJob(VideoClipPlayback::BgPlaybackJobInfo*)+130519040) (BuildId: 942c02a61b8e5585)
#10 pc 0x00000000006196f4 /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (ujob_wait_for(ujob_control_t*, ujob_handle_t, int)+130519040) (BuildId: 942c02a61b8e5585)
#11 pc 0x0000000000619c70 /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (ujob_wait_for(ujob_control_t*, ujob_handle_t, int)+130519040) (BuildId: 942c02a61b8e5585)
#12 pc 0x000000000061a3ec /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (ujob_init(char const*, char const*, int, int, ThreadPriority, void* (*)(unsigned long, unsigned long))+130519040) (BuildId: 942c02a61b8e5585)
#13 pc 0x00000000006d6434 /data/app/~~DeKESXkbqy5Uq6TJkdL5GA==/com.AlfaBravo.CombatMaster-ujwvaZl1-jWFDH3NcbDhCA==/split_config.arm64_v8a.apk!libunity.so (Thread::RunThreadWrapper(void*)+130519040) (BuildId: 942c02a61b8e5585)
#14 pc 0x00000000000c0b88 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
#15 pc 0x000000000005d5f8 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
Unity Cloud Diagnostics
Native StackTrace:
Thread 0 (crashed)
0 libgralloc_extra.so 0x000000760986806c <symbols missing for uuid: 23d91e58c4817f3af51ae3beca497cc4>
1 libgpu_aux.so 0x00000076092a8974 <symbols missing for uuid: 7445dab6ae44d0e32577e33d006d2ae3>
2 libgpu_aux.so 0x00000076092a19b0 <symbols missing for uuid: 7445dab6ae44d0e32577e33d006d2ae3>
3 libgpu_aux.so 0x00000076092a0288 <symbols missing for uuid: 7445dab6ae44d0e32577e33d006d2ae3>
4 libGLES_mali.so 0x00000075eac71680 <symbols missing for uuid: 4aac34ef9b29167f1d152ff109a984b3>
5 libGLES_mali.so 0x00000075eac5a950 <symbols missing for uuid: 4aac34ef9b29167f1d152ff109a984b3>
6 split_config.arm64_v8a.apk 0x00000075799ed628 core::hash_set<core::pair<AHardwareBuffer* const, AndroidVulkanVideo::GPUColorSpaceTransformTask*, false>, core::hash_pair<core::hash<AHardwareBuffer*>, AHardwareBuffer*, AndroidVulkanVideo::GPUColorSpaceTransformTask*>, core::equal_pair<std::__ndk1::equal_to<AHardwareBuffer*>, AHardwareBuffer*, AndroidVulkanVideo::GPUColorSpaceTransformTask*> >::node* core::hash_set<core::pair<AHardwareBuffer* const, AndroidVulkanVideo::GPUColorSpaceTransformTask*, false>, core::hash_pair<core::hash<AHardwareBuffer*>, AHardwareBuffer*, AndroidVulkanVideo::GPUColorSpaceTransformTask*>, core::equal_pair<std::__ndk1::equal_to<AHardwareBuffer*>, AHardwareBuffer*, AndroidVulkanVideo::GPUColorSpaceTransformTask*> >::lookup<AHardwareBuffer*, core::equal_pair<std::__ndk1::equal_to<AHardwareBuffer*>, AHardwareBuffer*, AndroidVulkanVideo::GPUColorSpaceTransformTask*> >(AHardwareBuffer* const&, core::equal_pair<std::__ndk1::equal_to<AHardwareBuffer*>, AHardwareBuffer*, AndroidVulkanVideo::GPUColorSpaceTransformTask*> const&) const
7 split_config.arm64_v8a.apk 0x00000075799ebdb4 AndroidVulkanVideo::ProcessFrame(AndroidVulkanVideo::Context*, AImage*, RenderTexture*, unsigned int)
8 split_config.arm64_v8a.apk 0x0000007579d5138c AndroidVideoMedia<AndroidMediaNDK::Traits>::UpdateTexture(Texture&, double, long&)
9 split_config.arm64_v8a.apk 0x000000757a0c1424 VideoMediaTextureOutput::OutputTexture(Texture&, VideoMediaOutputFrame*, VideoClipPlayback&, double, bool, long&)
10 split_config.arm64_v8a.apk 0x0000007579d3f150 VideoClipPlayback::GetTextureAtTimeInternal(Texture*, double, long*)
11 split_config.arm64_v8a.apk 0x0000007579d3f2d4 VideoClipPlayback::GetTextureNoSkipInternal(Texture*, long*)
12 split_config.arm64_v8a.apk 0x0000007579d40528 VideoPlayback::GetTexture(Texture*, long*, bool*)
13 split_config.arm64_v8a.apk 0x0000007579d43060 VideoPlayer::VideoUpdate(bool&)
14 split_config.arm64_v8a.apk 0x0000007579d42ecc VideoManager::VideoUpdate()
15 split_config.arm64_v8a.apk 0x0000007579856ba8 ExecutePlayerLoop(NativePlayerLoopSystem*)
16 split_config.arm64_v8a.apk 0x0000007579856be8 ExecutePlayerLoop(NativePlayerLoopSystem*)
17 split_config.arm64_v8a.apk 0x0000007579856e7c PlayerLoop()
18 split_config.arm64_v8a.apk 0x00000075799e5a1c UnityPlayerLoop()
19 split_config.arm64_v8a.apk 0x00000075799fd670 nativeRender(_JNIEnv*, _jobject*)
20 boot.oat 0x000000007183ad20 <symbols missing for uuid: 0000000000000000000000000000000000000000>
orig_crash_report.txt (13.3 KB)
similar_crash_report.txt (19.0 KB)
Key Details:
- Unity Version: 2022.3.52f1
- Video Output: Using
RenderTexture
for video playback. - Issue: Crash occurs when
VideoPlayer
attempts to process frames (AndroidVulkanVideo::ProcessFrame
).
What I’ve Tried:
- Clearing
RenderTexture
withGL.Clear()
before playback - Ensuring videos use MP4 (H.264) format.
Any insights or suggestions to address this issue would be greatly appreciated!