Bug 109060

Summary: android-x86 64bit builds crashes due to android/gralloc_handle.h
Product: DRI Reporter: Mauro Rossi <issor.oruam>
Component: libdrmAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: medium    
Version: DRI git   
Hardware: x86-64 (AMD64)   
OS: other   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
draft patch that solves the crashes none

Description Mauro Rossi 2018-12-14 00:05:31 UTC
Created attachment 142809 [details] [review]
draft patch that solves the crashes

Hi,
there is a series of Android apps using 32bit libs on 64bit Android that are crashing (Jackpal terminal, Sky Force, Olympus Rising, Vulkan V1, 3dmark benchmarks and many others)

The cause is the difference in size of gralloc handle structs created by 32bit libraries and 64bit architetures libraries.

The problem was observed and patched in gbm_gralloc in the past by Chih-Wei Huang, but it was not taken into account in later evolution,
now with android/gralloc_handle.h in libdrm the problem is again present,
because the handle sizes in 32bit and 64bit are again different.

The attached draft patch solves the issue, tested on all apps that were crashing
Please review and provide feedback

Mauro
Comment 1 Emil Velikov 2019-04-17 17:16:01 UTC
Seems like Rob pushed the patch, but forgot to update the bugreport - oops ;-)
Thanks for the fix gents.

commit 597725e9511f8c0405fdd8d92d749bce58c0bce3
Author: Mauro Rossi <issor.oruam@gmail.com>
Date:   Tue Dec 11 23:22:35 2018 +0100

    android: Fix 32-bit app crashing in 64-bit Android

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.