Android Question unexpected e_machine: 40

Rusty

Well-Known Member
Licensed User
I am installing the exact same apk and so forth with the exact same zip file on 4 brand new Asus transformers. Three work great, but the fourth complains with the below when it is trying to open an SQLLite data base.
All the machines are running KitKat.
I can't make heads or tails of the below unfiltered log...
Any ideas will be appreciated.
Rusty
B4X:
Main.SQLSurvey.initialize(Main.SDCard.data, Main.DBSurvey, False, Main.SqliteKey, File.DirAssets )
Generates the following error(s)

B4X:
LogCat connected to: B4A-Bridge: asus K010-
--------- beginning of /dev/log/main
Installing file.
GC_CONCURRENT freed 3956K, 46% free 5218K/9576K, paused 1ms+2ms, total 6ms
GC_CONCURRENT freed 3972K, 46% free 5222K/9576K, paused 1ms+1ms, total 5ms
PackageAdded: package:talkingsurvey.b4a.survey
** Activity (main) Create, isFirst = true **
    TOTAL heap: 9195520
    REMAINING: 359856  Ticks: second 1000
      
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app-lib/talkingsurvey.b4a.survey-1/libdatabase_sqlcipher.so" has unexpected e_machine: 40
    at java.lang.Runtime.loadLibrary(Runtime.java:364)
    at java.lang.System.loadLibrary(System.java:526)
    at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:144)
    at net.sqlcipher.database.SQLiteDatabase.loadLibs(SQLiteDatabase.java:137)
    at anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher.Initialize(SQLCipher.java:50)
    at talkingsurvey.b4a.survey.fn._opendatabase(fn.java:4655)
    at talkingsurvey.b4a.survey.fn._buildcursor(fn.java:526)
    at talkingsurvey.b4a.survey.fn._ishelpavailable(fn.java:3791)
    at talkingsurvey.b4a.survey.main._xmlprofileparser_endelement(main.java:28289)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:187)
    at anywheresoftware.b4a.objects.SaxParser$MyHandler.endElement(SaxParser.java:121)
    at org.apache.harmony.xml.ExpatParser.endElement(ExpatParser.java:156)
    at org.apache.harmony.xml.ExpatParser.appendBytes(Native Method)
    at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:513)
    at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:474)
    at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:316)
    at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:279)
    at anywheresoftware.b4a.objects.SaxParser.parse(SaxParser.java:80)
    at anywheresoftware.b4a.objects.SaxParser.Parse(SaxParser.java:73)
    at talkingsurvey.b4a.survey.main._loadorganization(main.java:18451)
    at talkingsurvey.b4a.survey.main._activity_create(main.java:2308)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:187)
    at talkingsurvey.b4a.survey.main.afterFirstLayout(main.java:100)
    at talkingsurvey.b4a.survey.main.access$100(main.java:17)
    at talkingsurvey.b4a.survey.main$WaitForLayout.run(main.java:78)
    at android.os.Handler.handleCallback(Handler.java:733)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:149)
    at android.app.ActivityThread.main(ActivityThread.java:5257)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:794)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:610)
    at dalvik.system.NativeStart.main(Native Method)
 

Rusty

Well-Known Member
Licensed User
Yes, I've uninstalled, reinstalled several times. I've done factory resets twice with no changes.
Have you seen anything like this before?
Rusty
 

Rusty

Well-Known Member
Licensed User
As a matter of fact, these are the first INTEL devices I've used (android tablets)...
The three that work have:
Kernel version 3.10.20-g68a5f37 2.2.33.122#1 Wed Nov 5 00:23:02 CST 2014
Build number WW-2.2.33.122 044000219_201403200251

The one that doesn't work is:
Kernel version 3.10.20-g5056b686 2.2.33.135#1 Wed Dec 10 21:34:39 CST 2014
Build number WW-2.2.33.135 044000219_201403200251

It does act like the SQLite and/or the SQLCipher (icudt46l.zip) might be the problem. I ran Erel's SQLite viewer on the tablet and it blows up too. correction: it does not blow up on the others...

I'm not sure why on the three tablets with Intel chips it works but the 4th it doesn't.
Is there a different sqlite or sqlcipher zip for intel chips? If so, why might the three other intel machines work with the android one...?
Thanks,
Rusty

PS Forgive my ignorance, but what is the ".so you are loading"
 
Last edited:

thedesolatesoul

Expert
Licensed User
I guess at this point the .so doesnt matter. It does look like a bug creeped into the build you are currently running.
I'm not really sure where the Android x86 are built from but it doesnt really matter as the kernel wouldnt be open source anyway.
I suggest you try to update this faulty one to a newer FW version and try again.
 

Rusty

Well-Known Member
Licensed User
Thanks for that valuable advice.
I've downloaded the latest FW version from the sqlcipher folks.
I've copied the jar files into the libraries folder, I also put icudt46l.zip in the files folder, replacing the old one.
Now, when I try to compile, it is saying:
B4X:
B4A version 4.30
Parsing code.                           1.10
Compiling code.                         0.44
Compiling layouts code.                 0.04
Generating R file.                      0.13
Compiling generated Java code.          Error
javac 1.7.0_21
src\talkingsurvey\b4a\survey\archiver.java:93: error: package anyhwheresoftware.b4a.objects.sqlcipher does not exist
public static anyhwheresoftware.b4a.objects.sqlcipher.SQLCipher _oldresponse = null;
                                                     ^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Any advice on what I've done wrong?
Thanks,
Rusty
 

thedesolatesoul

Expert
Licensed User
Thats not what I meant. I meant you need to update your Transformer Tablet Firmware.
The latest version on the Asus site seems to be 101 (although there is source available for 122), so I am not sure how you got 135.
(The impressive thing is that there is also Kernel source code available for download!)
http://www.asus.com/uk/Tablets/ASUS_Transformer_Pad_TF103C/HelpDesk_Download/
But be careful, I carry no responsibility for this advice!!!
 

Rusty

Well-Known Member
Licensed User
wow, this is way over my pay-grade...
If this tablet has 135 and the others have 122, but the latest version is 101...I'm lost as to how this can occur on a production system like Asus has...
I have no idea how to "retro" the Kernels...
...not sure where to go from here.
Thanks for you advice.
Rusty
 

thedesolatesoul

Expert
Licensed User
wow, this is way over my pay-grade...
Take this opportunity to upgrade your paygrade ;)
I havent used Asus before, maybe they have a PC Software (like Samsung Kies etc), that lets you connect your device to the PC and get the firmware upgraded. There may be a different version available on that software.

EDIT: Even maybe there is a different version available for your country (this is from the UK site).
 
Last edited:

Rusty

Well-Known Member
Licensed User
:) thanks for the promotion :)
I'll look for the Asus software that will allow a firmware upgrade...or downgrade
Thanks
Rusty

apparently you can't downgrade it:
B4X:
Steps of Update:
1. Check software version of your device**
2. Download device software and Update SOP (From “Manual” Item)
3. Only apply to same SKU update, Example: WW->WW, CN->CN, TW->TW.
4. Software update cannot transfer the software SKU and downgrade the software version.
5. Wrong SKU may cause update failure, please update the same SKU version only.
*How to know the device model?
Path: Settings->About-> Model number
Example: ASUS PadFone2
**How to know the device software version?
Path: Settings->About-> software information->Build number
Example: CHT_PadFone2-user-10.4.17.15-UpdateLauncher
*System upgrade may cause part of data missing, please buckup your important data before system upgrading.
 
Top