google / gapid

Graphics API Debugger
https://gapid.dev
Apache License 2.0
2.2k stars 327 forks source link

gapid apk for may crash on Android supporting multiple ABI when querying device info #1448

Open Qining opened 6 years ago

Qining commented 6 years ago

To reproduce, trace and replay an 32bit arm apk on Pixel C on Android 8.0 (whose preferred abi is 64bit arm. Then delete the 64 bit version of gapid apk.

Do not exit the gapid apk on the device.

Then do another trace for a 32 bit apk. This time, gapid will use the 32 bit version of gapid.apk to query the device info. And gapid.apk on device will crash.

Qining commented 6 years ago

To be more specific:

adb shell am startservice -a com.google.android.gapid.action.SEND_DEV_INFO -n com.google.android.gapid.armeabi/com.google.android.gapid.DeviceInfoService when the gapidapk native activity is running, will cause an ANR on starting the service.

Note that, to reproduce this bug, make sure the service and the native activity are from the same package. Usually when testing on 64 bit Android device, the service is started on 64bit apk, while the native activity is on 32 bit apk.