SunTemple scene crashes on Samsung Galaxy S7 Edge (Exynos)

Project built with Unreal Engine 4.10 (initially 4.10.0, now 4.10.4), unfortunately testing on multiple European Samsung Galaxy S7 Edge yields a crash a few seconds in to running the SunTemple matinee sequence.

Native crash at /system/vendor/lib/egl/libGLES_mali.so

in /system/vendor/lib/egl/libGLES_mali.so, /system/vendor/lib/egl/libGLES_mali.so (glDrawElements+68)

 *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/hero2ltexx/hero2lte:6.0.1/MMB29K/G935FXXU1APAW:user/release-keys'
Revision: '9'
ABI: 'arm'
pid: 10264, tid: 10497, name: RenderThread 1 >>> com.BrueComputing.BrueBenchSTReviewer <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xca6d0000
r0 00000004 r1 00000000 r2 2eda2202 r3 00000001
r4 c1a48000 r5 d0fbbe14 r6 00000002 r7 d0fbc050
r8 00000002 r9 c1078601 sl 00000002 fp c1a48110
ip 00000010 sp d0fbbcd8 lr ca6cffe0 pc e77471f4 cpsr 800f0010

backtrace:
#00 pc 004b51f4 /system/vendor/lib/egl/libGLES_mali.so
#01 pc 004b4278 /system/vendor/lib/egl/libGLES_mali.so
#02 pc 004b323c /system/vendor/lib/egl/libGLES_mali.so
#03 pc 004f7a9c /system/vendor/lib/egl/libGLES_mali.so
#04 pc 004f6090 /system/vendor/lib/egl/libGLES_mali.so
#05 pc 004ec3e4 /system/vendor/lib/egl/libGLES_mali.so (glDrawElements+68)
#06 pc 03281030 /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (FOpenGLDynamicRHI::RHIDrawIndexedPrimitive(FRHIIndexBuffer*, unsigned int, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)+1244)
#07 pc 0328110c /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (non-virtual thunk to FOpenGLDynamicRHI::RHIDrawIndexedPrimitive(FRHIIndexBuffer*, unsigned int, int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)+48)
#08 pc 01cb52b0 /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (FMeshDrawingPolicy::DrawMesh(FRHICommandList&, FMeshBatch const&, int) const+1280)
#09 pc 01d049b4 /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (TStaticMeshDrawList<TBasePassForForwardShadingDrawingPolicy<TLightMapPolicy<(ELightmapQuality)0>, 0> >::DrawElement(FRHICommandList&, FViewInfo const&, FMeshDrawingPolicy::ContextDataType, TStaticMeshDrawList<TBasePassForForwardShadingDrawingPolicy<TLightMapPolicy<(ELightmapQuality)0>, 0> >::FElement const&, unsigned long long, TStaticMeshDrawList<TBasePassForForwardShadingDrawingPolicy<TLightMapPolicy<(ELightmapQuali #10 pc 01d07a0c /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (TStaticMeshDrawList<TBasePassForForwardShadingDrawingPolicy<TLightMapPolicy<(ELightmapQuality)0>, 0> >::DrawVisibleFrontToBack(FRHICommandList&, FViewInfo const&, FMeshDrawingPolicy::ContextDataType, TBitArray<SceneRenderingBitArrayAllocator> const&, TArray<unsigned long long, SceneRenderingAllocator> const&, int)+1096)
#11 pc 01ceb4f4 /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (FForwardShadingSceneRenderer::RenderForwardShadingBasePass(FRHICommandListImmediate&)+1124)
#12 pc 01cef8b8 /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (FForwardShadingSceneRenderer::Render(FRHICommandListImmediate&)+568)
#13 pc 01e06cac /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so
#14 pc 01e136f8 /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so
#15 pc 01276134 /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (FTaskThread::ProcessTasks(int, bool)+308)
#16 pc 01275228 /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (FTaskGraphImplementation::ProcessThreadUntilRequestReturn(ENamedThreads::Type)+160)
#17 pc 01bc5338 /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (FRenderingThread::Run()+128)
#18 pc 01298b84 /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (FRunnableThreadPThread::Run()+104)
#19 pc 012727c0 /data/app/com.BrueComputing.BrueBenchSTReviewer-1/lib/arm/libUE4.so (FRunnableThreadPThread::_ThreadProc(void*)+40)
#20 pc 0003fc53 /system/lib/libc.so (__pthread_start(void*)+30)
#21 pc 0001a38b /system/lib/libc.so (__start_thread+6)

Hey Thorburn,

Signal 11 typically means it’s a GPU driver that’s having an issue. Could you please verify whether or not you’re experiencing the same type of crash with 4.11 Preview 7?

I tested this on a Samsung Galaxy S7 but unfortunately, it does not possess the same chipset. I have also tested this with a S6 Mali and was unable to reproduce this issue as well.

Which version of Android is your device on? Are you having this trouble with any other project or sample?

I’ll try and get time to update my project to 4.11 P7 this coming week. I agree I think it is a driver issue as tested with a number of other Mali devices without issues.

Android version is 6.0, the standard firmware that ships on the S7 Edge in Europe - sorry I can’t be more specific but I’m just going off of user reports.

Please update this thread once you’ve updated your project to 4.11 preview 7. We expect 4.11.0 to be out pretty soon.

Thanks! :slight_smile:

Hi,

We have verified this problem in both 4.10 and 4.11 are working on a solution. This is very high priority for us, and we’ll post back when we have a fix. We are tracking this with ticket UE-28617.

Thanks
Jack

Is this fixed in the 4.11 release?

UE-28617 was closed as won’t fix. There isn’t a work around for the driver bug. Samsung plan to release an update within the next week or so.

Thanks!