ARM application crashed after enable houdini

576 views
Skip to first unread message

zen...@163.com

unread,
Oct 31, 2018, 7:23:23 AM10/31/18
to Android-x86
Recently, I have use the experience of some blogger that they can set up 'ARM to x86 translation by houdini' environment in some versions but some not. Thus I have installed a new image 'Android-x86-7.1-rc2' on VirtualBox and set up the environment again. By establish adb connect between my computer with emulator, I pull the '/system/bin/enable_nativebridge' script file to my computer to easy edit this script file. By observing this script file running in the emulator and looking at the file itself, I have noted that there's some URLs in the script file and URLs are short URLs. These URLs is used for download ARM to x86 translation image: 'houdini.sys'. After download 'houdini.sys', the script will install some kernel module including 'libhoudini.so'. Because of thess short URLs are not accessible in our region, so I used some short URL to real long URL translation tool to get the real download URL. And I using these real download URLs to replace those old short URLs. What's more, for I can easier to see the execute situation in emulator's terminal, I replaced some log statement to echo statement in script file. After changing the 'enable_nativebridge' file, I use adb to push this file back to emulator and start to run it. When the script file finished, 'houdini enabled' shows in the emulator's terminal. Then I open the 'enable running ARM application translation' option in 'system setting - Android x86 option'. Finally, we can run ARM application successful. However, the same method seems work in Android 8.1, but the actual situation is always crash. And we can see segment fault by observing log information.

Short Summary about Problems
1.Android-x86-7.1-rc2     houdini runs successful and application runs very well
2.Android-x86-8.1-rc1&2    houdini seems run successful but application always crashed when it opened

Could you please tell me how to solve this problem?
Is there any problem of my operation? Or it is the problem of houdini?

DDS Central

unread,
Oct 31, 2018, 9:19:17 AM10/31/18
to andro...@googlegroups.com
Logcat log would help.

--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86...@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.
Visit this group at https://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.

zen...@163.com

unread,
Nov 2, 2018, 3:28:49 AM11/2/18
to Android-x86

When I run an application com.lovebizhi.wallpaper , the logcat information about this app and houdini info is look like this ...(Other apps is similar)


10-30 11:42:24.043  1078  1106 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.lovebizhi.wallpaper/com.adesk.picasso.view.MainActivity bnds=[14,76][180,189]} from uid 10022

10-30 11:42:24.078  1078  2890 I ActivityManager: Start proc 3770:com.lovebizhi.wallpaper/u0a75 for activity com.lovebizhi.wallpaper/com.adesk.picasso.view.MainActivity

10-30 11:42:24.081  1019  2848 I audio_hw_primary: choose pcmC0D0p for 0

10-30 11:42:24.106  3770  3770 I main    : type=1400 audit(0.0:706): avc: denied { mounton } for path="/storage" dev="tmpfs" ino=5418 scontext=u:r:zygote:s0 tcontext=u:object_r:tmpfs:s0 tclass=dir permissive=1

10-30 11:42:24.134  3770  3770 I main    : type=1400 audit(0.0:707): avc: denied { dac_read_search } for capability=2 scontext=u:r:zygote:s0 tcontext=u:r:zygote:s0 tclass=capability permissive=1

10-30 11:42:24.135  3770  3770 I main    : type=1400 audit(0.0:708): avc: denied { create } for name="cgroup.procs" scontext=u:r:zygote:s0 tcontext=u:object_r:cgroup:s0 tclass=file permissive=1

10-30 11:42:24.166  3770  3770 I libnb   : Found /system/lib/libhoudini.so version 3

10-30 11:42:24.166  3770  3770 D houdini : [3770] Initialize library(version: 8.0.0_y.49374 RELEASE)... successfully.

10-30 11:42:24.168  3770  3770 W zygote  : Unexpected CPU variant for X86 using defaults: x86

10-30 11:42:24.136  3770  3770 I bizhi.wallpape: type=1400 audit(0.0:709): avc: denied { read } for name="libhoudini.so" dev="loop1" ino=80 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=file permissive=1

10-30 11:42:24.138  3770  3770 I bizhi.wallpape: type=1400 audit(0.0:710): avc: denied { open } for path="/system/lib/libhoudini.so" dev="loop1" ino=80 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=file permissive=1

10-30 11:42:24.138  3770  3770 I bizhi.wallpape: type=1400 audit(0.0:711): avc: denied { getattr } for path="/system/lib/libhoudini.so" dev="loop1" ino=80 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=file permissive=1

10-30 11:42:24.138  3770  3770 I bizhi.wallpape: type=1400 audit(0.0:712): avc: denied { map } for path="/system/lib/libhoudini.so" dev="loop1" ino=80 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=file permissive=1

10-30 11:42:24.138  3770  3770 I bizhi.wallpape: type=1400 audit(0.0:713): avc: denied { execute } for path="/system/lib/libhoudini.so" dev="loop1" ino=80 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:unlabeled:s0 tclass=file permissive=1

10-30 11:42:24.199  1032  1486 D gralloc : Registering a buffer in the process that created it. This may cause memory ordering problems.

10-30 11:42:24.199  1032  1032 D gralloc : Registering a buffer in the process that created it. This may cause memory ordering problems.

10-30 11:42:24.296  1078  1393 I ActivityManager: Config changes=d80 {1.0 ?mcc?mnc [zh_CN_#Hans] ldltr sw590dp w590dp h696dp 160dpi lrg port -touch qwerty/v/v -nav/h appBounds=Rect(0, 0 - 590, 720) s.12}

10-30 11:42:24.297  1078  1393 I ActivityManager: Override config changes=d80 {1.0 ?mcc?mnc [zh_CN_#Hans] ldltr sw590dp w590dp h696dp 160dpi lrg port -touch qwerty/v/v -nav/h appBounds=Rect(0, 0 - 590, 720) s.12} for displayId=0

10-30 11:42:24.376  1078  1207 I chatty  : uid=1000(system) InputReader expire 1 line

10-30 11:42:24.378  1078  1207 I InputReader: Reconfiguring input devices.  changes=0x00000004

10-30 11:42:24.501  3770  3770 I MultiDex: VM with version 2.1.0 has multidex support

10-30 11:42:24.501  3770  3770 I MultiDex: install

10-30 11:42:24.501  3770  3770 I MultiDex: VM has multidex support, MultiDex support library is disabled.

10-30 11:42:24.578  3770  3770 W AppMonitor: load ut_c_api.so failed

10-30 11:42:24.603  3770  3770 D alifb_FeedbackAPI: init appkey:24641231

10-30 11:42:24.608  1078  3783 I WifiService: getConnectionInfo uid=10075

10-30 11:42:24.661  3770  3799 D NetworkSecurityConfig: No Network Security Config specified, using platform default

10-30 11:42:24.665  1078  3783 I WifiService: getConnectionInfo uid=10075

10-30 11:42:24.665  3770  3770 I Thread-4: type=1400 audit(0.0:714): avc: denied { open } for path="/dev/__properties__/u:object_r:serialno_prop:s0" dev="tmpfs" ino=5455 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:serialno_prop:s0 tclass=file permissive=1

10-30 11:42:24.666  3770  3770 I Thread-4: type=1400 audit(0.0:715): avc: denied { getattr } for path="/dev/__properties__/u:object_r:serialno_prop:s0" dev="tmpfs" ino=5455 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:serialno_prop:s0 tclass=file permissive=1

10-30 11:42:24.669  1078  3783 I WifiService: getConnectionInfo uid=10075

10-30 11:42:24.685  1613  1613 E SchedPolicy: set_timerslack_ns write failed: Operation not permitted

10-30 11:42:24.688  3770  3801 F libc    : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x30184 in tid 3801 (Thread-4), pid 3770 (bizhi.wallpaper)



在 2018年10月31日星期三 UTC+8下午9:19:17,Povilas Staniulis写道:

youling 257

unread,
Nov 2, 2018, 4:12:29 AM11/2/18
to Android-x86
seem you use 32bit 8.1, the 8_y houdini not work on 32bit kernel 32bit userspace, but 8_y houdini work on 64bit kernel 32bit userspace.
32bit 8.1 default enabled 64bit binder, you can easily change 32K32u to 64K32U.
copy 64bit 8.1 /system/lib/modules/4.18 modules to 32bit 8.1, copy 64bit 8.1 kernel to 32bit 8.1, yes, 64bit kernel and modules can boot 32bit 8.1 userspace.
you can email me to discuss, you use 163 email speak chinese.
Reply all
Reply to author
Forward
0 new messages