Reports of purple screen flickering

Hello,

We are receiving an increasing amount of reports that a published game of ours cant be opened because of an issue where the screen appears to be purple and flickering on android.

We have not been able to recreate the issue on our own devices and dont know how to proceed.
The only crash that appears on the unity dashboard is the following:


Does the above have to do anything with the purple screen flickering? If not, what could be causing the problem?

Thank you for your answers in advance.

Used vulkan? If yes, it seems to be Unity Issue Tracker - [Android][Vulkan] Black Screen renders on devices with Adreno 640 and Mali GPU's
So, my devices give noise on screen, team devices just crash, may be your purple screen this is same case.

@Toastbyte Have you managed to find out what was the cause of the issue you were seeing? I, too, am also seeing the same issue on the game I am currently working on.

Whilst one of the crashes I am seeing matches what you have posted, the others are slightly different. These are the crashes I am seeing so far:

On the Samsung Galaxy S10 Note (GPU: Adreno ™ 640, Android 10)

1 libunity.so 0x0000007b1848d62c vk::RenderPassSwitcher::InternalApply(vk::CommandBuffer*) (VKRenderPass.cpp:941)
2 libunity.so 0x0000007b184768b8 GfxDeviceVKBase::EnsureCurrentCommandBuffer(vk::CommandBuffer::Type, bool) (VKRenderPass.h:280)
3 libunity.so 0x0000007b184727b4 GfxDeviceVK::Clear(GfxClearFlags, ColorRGBAf const&, float, unsigned int) (GfxDeviceVK.cpp:305)
4 libunity.so 0x0000007b181013a8 GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&) (GfxDeviceWorker.cpp:456)
5 libunity.so 0x0000007b18109c48 GfxDeviceWorker::RunExt(ThreadedStreamBuffer&) (GfxDeviceWorker.cpp:423)
6 libunity.so 0x0000007b18101044 GfxDeviceWorker::RunGfxDeviceWorker(void*) (GfxDeviceWorker.cpp:386)
7 libunity.so 0x0000007b182e7e8c Thread::RunThreadWrapper(void*) (Thread.cpp:78)
8 libc.so 0x0000007c11dd5f20 <system symbols missing>
9 libc.so 0x0000007c11d740c8 <system symbols missing>```

And on the Samsung Galaxy S8 and S8+ (GPU: Adreno (TM) 540, Android 9), Motorola Moto G Fast (GPU: Adreno (TM) 610, Android 10), and Samsung Galaxy A50 (GPU: Mali-G72, Android 10).

```0 libunity.so 0x000000760a28db60 GfxDeviceVK::EnsureValidBackbuffer() (ExtendedAtomicOps-arm64.h:155)
1 libunity.so 0x000000760a29a62c vk::RenderPassSwitcher::InternalApply(vk::CommandBuffer*) (VKRenderPass.cpp:941)
2 libunity.so 0x000000760a2873d4 GfxDeviceVKBase::BeforeDrawCall() (VKRenderPass.h:280)
3 libunity.so 0x000000760a281a44 GfxDeviceVKBase::smile:rawBuffersInternal(VkBuffer_T*, unsigned long, unsigned int, VkBuffer_T* const*, unsigned int const*, unsigned long const*, int, DrawBuffersRange const*, int, VertexDeclaration*, unsigned int, int) (GfxDeviceVK.cpp:940)
4 libunity.so 0x000000760a288d08 GfxDeviceVKBase::smile:rawBufferRangesPlatform(GfxBuffer*, unsigned int, GfxBuffer* const*, unsigned int const*, int, DrawBuffersRange const*, int, VertexDeclaration*, unsigned long, int) (GfxDeviceVK.cpp:2245)
5 libunity.so 0x000000760a373ed4 SinglePassStereoSupportExt::smile:rawBuffersStereo(GfxBuffer*, unsigned int, GfxBuffer* const*, unsigned int const*, int, DrawBuffersRange const*, int, VertexDeclaration*, unsigned long) (StereoSupportExt.cpp:512)
6 libunity.so 0x000000760a2819b4 GfxDeviceVKBase::smile:rawBuffers(GfxBuffer*, unsigned int, GfxBuffer* const*, unsigned int const*, int, DrawBuffersRange const*, int, VertexDeclaration*) (GfxDeviceVK.cpp:924)
7 libunity.so 0x000000760a375e0c DynamicVBO::smile:rawChunk(VertexDeclaration*) (DynamicVBO.cpp:437)
8 libunity.so 0x0000007609f15bec GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&) (GfxDeviceWorker.cpp:0)
9 libunity.so 0x0000007609f16c48 GfxDeviceWorker::RunExt(ThreadedStreamBuffer&) (GfxDeviceWorker.cpp:423)
10 libunity.so 0x0000007609f0e044 GfxDeviceWorker::RunGfxDeviceWorker(void*) (GfxDeviceWorker.cpp:386)
11 libunity.so 0x000000760a0f4e8c Thread::RunThreadWrapper(void*) (Thread.cpp:78)
12 libc.so 0x00000076aafd5970 <system symbols missing>
13 libc.so 0x00000076aaf67f38 <system symbols missing>```

The confusing part about the second call-stack is that we are not using Stereo Rendering, which is what it seems to imply. I am hoping that is a red herring.

The crashes were from Unity 2019.4.9.

Worth mentioning the crash frequencies are pretty low though. I'm not sure if it is something that I/we are doing, or whether this is a Unity issue. I am hoping someone from Unity can comment on it though, if you've not resolved it already that is.

 @StenCG  The issue you linked is different issue, and unrelated to the purple screen issue. The reason why I know this is because I have run into the exact issue that the link describes (I have even commented in it). That issue was definitely fixed.

@jawad_ahmad , did you find fix for issue? We have exactly same error on many devices with unity version 2019.4.20f

1 Like

Sadly, no. We’re still on 2019.4.13, but we’re still getting reports of the issue from our users. As mentioned, I was hoping someone from Unity would chime in… I still don’t think this is an issue on our side.

Any updates on this? We are also getting these crash reports in our cloud diagnostics. Using Unity 2019.4.17 and URP

1 Like

I can confirm that we still have lots of reports with this problem. Using Unity 2019.4.17.

Unity Version
2019.4.17f1

Device motorola/motorola one fusion/astro
OS Version
Android OS 10 / API-29 (QPLS30.62-41-6/4fc215)
CPU
ARM64
GFX
Adreno ™ 616

Device
Xiaomi/M2003J15SC/merlinnfc
OS Version
Android OS 10 / API-29 (QP1A.190711.020/V12.0.10.0.QJOEUXM)
CPU
ARM64
GFX
Mali-G52 MC2

Device
HUAWEI/FIG-LX1/HWFIG-H
OS Version
Android OS 9 / API-28 (HUAWEIFIG-L31/9.1.0.216C432)
CPU
ARM64
GFX
Mali-T830

Native StackTrace:

Thread 0 (crashed)
0 libunity.so 0x0000007ab70791a8 GfxDeviceVK::EnsureValidBackbuffer() (ExtendedAtomicOps-arm64.h:155)
1 libunity.so 0x0000007ab7085f88 vk::RenderPassSwitcher::InternalApply(vk::CommandBuffer*) (VKRenderPass.cpp:941)
2 libunity.so 0x0000007ab706edd0 GfxDeviceVKBase::EnsureCurrentCommandBuffer(vk::CommandBuffer::Type, bool) (VKRenderPass.h:280)
3 libunity.so 0x0000007ab706aa98 GfxDeviceVK::Clear(GfxClearFlags, ColorRGBAf const&, float, unsigned int) (GfxDeviceVK.cpp:322)
4 libunity.so 0x0000007ab6cf220c GfxDeviceWorker::RunCommand(ThreadedStreamBuffer&) (GfxDeviceWorker.cpp:456)
5 libunity.so 0x0000007ab6cfaad0 GfxDeviceWorker::RunExt(ThreadedStreamBuffer&) (GfxDeviceWorker.cpp:423)
6 libunity.so 0x0000007ab6cf1ea8 GfxDeviceWorker::RunGfxDeviceWorker(void*) (GfxDeviceWorker.cpp:386)
7 libunity.so 0x0000007ab6eddae8 Thread::RunThreadWrapper(void*) (Thread.cpp:78)
8 libc.so 0x0000007bbf24205c
9 libc.so 0x0000007bbf1e4af0

I also can confirm that crash still happens for version 2019.4.26.

Any updates on this? We have thousand reports related to this issue.

Occurs in 2019.4.22f1

The simple fix is just to remove Vulkan from Graphics APIs list (Project Settings->Player->Other Settings).
According to my tests it has lots of rendering bugs and really bad performance on some devices.
Unity 2019.4.27f1.

1 Like

Any updates on this?

Any updates on this?

Is anyone able to reproduce these crashes and could submit a bug-report to Unity, please?

I see this crash a lot in Cloud Diagnostics as well, but I’m unable to reproduce it. I’m afraid when nobody submits a bug-report, with a project that Unity Technologies can use to reproduce the crash, this issue persists.

After we deleted Vulkan, the package was white on the phone, like a white mask.What is the solution?