App fails with "FAILED BINDER TRANSACTION" when run in emulator
cirosantilli opened this issue · 7 comments
After #12 I have SDK 24 preview 4, NDK 12 and either a Nexus 6P or Nexus One image.
Tutorial 1 builds and installs, but when I try to run it it breaks immediately with:
06-26 23:39:03.583 F/libc ( 3225): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x2 in tid 3239 (n.tutorials.one)
06-26 23:39:03.639 F/DEBUG ( 3240): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-26 23:39:03.639 F/DEBUG ( 3240): Build fingerprint: 'Android/sdk_google_phone_x86/generic_x86:N/NPD56O/2964822:userdebug/test-keys'
06-26 23:39:03.639 F/DEBUG ( 3240): Revision: '0'
06-26 23:39:03.639 F/DEBUG ( 3240): ABI: 'x86'
06-26 23:39:03.639 F/DEBUG ( 3240): pid: 3225, tid: 3239, name: n.tutorials.one >>> com.google.vulkan.tutorials.one <<<
06-26 23:39:03.639 F/DEBUG ( 3240): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x2
06-26 23:39:03.639 F/DEBUG ( 3240): eax a11ef468 ebx a8a60e94 ecx a11ef2c0 edx a11ef39c
06-26 23:39:03.639 F/DEBUG ( 3240): esi a6d34384 edi a8a493d0
06-26 23:39:03.639 F/DEBUG ( 3240): xcs 00000073 xds 0000007b xes 0000007b xfs 0000003b xss 0000007b
06-26 23:39:03.639 F/DEBUG ( 3240): eip 00000002 ebp a11ef258 esp a11ef22c flags 00010292
06-26 23:39:03.639 F/DEBUG ( 3240):
06-26 23:39:03.639 F/DEBUG ( 3240): backtrace:
06-26 23:39:03.639 F/DEBUG ( 3240): #00 pc 00000002 <unknown>
06-26 23:39:04.159 E/JavaBinder( 1483): !!! FAILED BINDER TRANSACTION !!! (parcel size = 104)
06-26 23:39:04.184 E/lowmemorykiller( 1225): Error writing /proc/3225/oom_score_adj; errno=22
06-26 23:39:04.193 E/InputDispatcher( 1483): channel '3c6d05b com.google.vulkan.tutorials.one/android.app.NativeActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
emulator may not have the vulkan support, they only support openGL.
@ggfan hmmm, ping me if you find a link on that.
So the only way to play with Vulkan on Android without enterprise internal tools is to get Galaxy S7? 😢
I do not have any link to myself. my emulator will not work. If it works that is a pleasant surprise.
a list of device is posted here:
https://developer.android.com/ndk/guides/graphics/getting-started.html?utm_campaign=android_launch_vulkan_041316&utm_source=anddev&utm_medium=blog
it might be useful to you. you might also debug and trace into code to see where it fails, mostly it should failed at find no vulkan device [ my guess ]. Closing this one, feel free re-open if needed. Thanks
@ggfan I debug into code, it shows that gpuCount is still zero after vkEnumeratePhysicalDevices was called.
// Find one GPU to use:
// On Android, every GPU device is equal -- supporting graphics/compute/present
// for this sample, we use the very first GPU device found on the system
uint32_t gpuCount = 0;
CALL_VK(vkEnumeratePhysicalDevices(device.instance_, &gpuCount, nullptr));
I use Nexus 5X API level 25, and My computer GPU is nvidia geforce gtx 1050, it supports vulkan.
I think maybe there is something wrong in the android vulkan implement for emulator, or something wrong with the emulator.
Because vkEnumeratePhysicalDevices is a function pointer, i can't debug into it.

There is no emulator for Vulkan: I have not heard any even for stand alone emulator on desktop, would not image vulkan in Android emulator.
confirmed: no vulkan in emulator now. Hopefully there will be one in the future, need to find a vulkan enabled device before that.
Could you add your source which says that the emulator doesn't support vulkan?
Is a support planned?
Maybe add this information (or be a bit more specific) to the Readme?
A emulator check in the code and a more descriptive error message would be also cool.