I was build drivers r4p0 for Orange Pi 2 (Allwiner H3 soc) and get seg fault from running test app colour triangle with FBTURBO and mali r4p0 drivers.
Lubuntu 1404
ump
mali
mali_drm
and ssvb/xf86-video-fbturbo
also MaliLib.so blobs in /usr/lib
After debug I found that It crash in the eglSwapBuffers() call.
And here some back traces
(gdb) bt
#0 __GI___libc_malloc (bytes=) at malloc.c:2907
#1 0xb6f59cc4 in __egl_mali_post_to_window_surface () from /usr/lib/libEGL.so
#2 0xb6f59294 in _egl_swap_buffers () from /usr/lib/libEGL.so
#3 0xb6f5836c in eglSwapBuffers () from /usr/lib/libEGL.so
#4 0x00009050 in Redraw (width=200, height=200) at test.c:135
#5 0x00009790 in main (argc=1, argv=0xbefff6f4) at test.c:328
//==================================================
//================================================== Single stepping until exit from function _egl_surface_job_incref, which has no line number information. 0xb6f59dbe in __egl_mali_post_to_window_surface () from /usr/lib/libEGL.so (gdb) s Single stepping until exit from function __egl_mali_post_to_window_surface, which has no line number information.
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb69d1460 (LWP 2377)] 0xb6f5a224 in _egl_surface_job_decref () from /usr/lib/libEGL.so (gdb) bt #0 0xb6f5a224 in _egl_surface_job_decref () from /usr/lib/libEGL.so #1 0xb6f596be in __egl_worker_callback () from /usr/lib/libEGL.so #2 0xb6f62238 in _mali_base_worker_thread () from /usr/lib/libEGL.so #3 0xb6d10fbc in start_thread (arg=0xb69d1460) at pthread_create.c:314 #4 0xb6dc720c in ?? () at ../ports/sysdeps/unix/sysv/linux/arm/nptl/../clone.S:92 from /lib/arm-linux-gnueabihf/libc.so.6 Backtrace stopped: previous frame identical to this frame (corrupt stack?) (gdb)
I think in blobs source error for working with DRI2Swapbuffers.
Only with patched blobs drivers worked well.