Support x86, and possibly MIPS on Android #42

Open
opened 2025-04-21 14:45:10 -04:00 by idk · 8 comments
Owner

Opened 9 years ago

Last modified 2 years ago

#718assigneddefect

Support x86, and possibly MIPS on Android

Reported by:spongeOwned by:Meeh
Priority:
minor
Milestone:
eventually
Component:
apps/android
Version:
0.9.1
Keywords:

Cc:

Parent Tickets:

Sensitive:
no

Description

Note to self: :-)

WARNING: Resource name [libjcpuid-x86-linux.so] was not found
WARNING: Native CPUID library jcpuid not loaded - will not be able to read CPU information using CPUID
WARNING: jbigi loadLibrary() fail
java.lang.UnsatisfiedLinkError: Couldn't load jbigi: findLibrary returned null
        at java.lang.Runtime.loadLibrary(Runtime.java:365)
        at java.lang.System.loadLibrary(System.java:535)
        at net.i2p.util.NativeBigInteger.loadGeneric(NativeBigInteger.java:528)
        at net.i2p.util.NativeBigInteger.loadNative(NativeBigInteger.java:456)
        at net.i2p.util.NativeBigInteger.<clinit>(NativeBigInteger.java:206)
        at net.i2p.crypto.YKGenerator.<clinit>(YKGenerator.java:113)
        at net.i2p.crypto.ElGamalEngine.<init>(ElGamalEngine.java:75)
        at net.i2p.I2PAppContext.initializeElGamalEngine(I2PAppContext.java:635)
        at net.i2p.I2PAppContext.elGamalEngine(I2PAppContext.java:625)
        at net.i2p.router.Router.warmupCrypto(Router.java:719)
        at net.i2p.router.Router.runRouter(Router.java:436)
        at net.i2p.router.Router.main(Router.java:1102)
        at net.i2p.router.RouterLaunch.main(RouterLaunch.java:14)
        at net.i2p.android.router.service.RouterService$Starter.run(RouterService.java:312)
        at java.lang.Thread.run(Thread.java:856)
WARNING: Native BigInteger library jbigi not loaded - using pure Java - poor performance may result - see http://www.i2p2.i2p/jbigi for help
Reseed start
Reseeding from https://euve5653.vserver.de/netDb/
ERROR [Reseed      ] net.i2p.util.SSLEepGet        : All key store loads failed, will only load local certificates
checking for Android bug
Test failed for: exp=64, act=896
Android BitSet bug detected, workaround implemented!

Subtickets

Opened [9 years ago](/timeline?from=2012-09-24T11%3A47%3A15Z&precision=second "See timeline at Sep 24, 2012 11:47:15 AM") Last modified [2 years ago](/timeline?from=2019-06-05T18%3A44%3A47Z&precision=second "See timeline at Jun 5, 2019 6:44:47 PM") ## [\#718](/ticket/718)[assigned](/query?status=assigned)[defect](/query?status=!closed&type=defect) # Support x86, and possibly MIPS on Android Reported by:[sponge](/query?status=!closed&reporter=sponge)Owned by:[Meeh](/query?status=!closed&owner=meeh) Priority: [minor](/query?status=!closed&priority=minor) Milestone: [eventually](/milestone/eventually "No date set") Component: [apps/android](/query?status=!closed&component=apps%2Fandroid) Version: [0.9.1](/query?status=!closed&version=0.9.1) Keywords: Cc: Parent Tickets: Sensitive: [no](/query?status=!closed&sensitive=0) ### Description Note to self: ![:-)](/chrome/wikiextras-icons-16/smiley.png) ``` WARNING: Resource name [libjcpuid-x86-linux.so] was not found WARNING: Native CPUID library jcpuid not loaded - will not be able to read CPU information using CPUID WARNING: jbigi loadLibrary() fail java.lang.UnsatisfiedLinkError: Couldn't load jbigi: findLibrary returned null at java.lang.Runtime.loadLibrary(Runtime.java:365) at java.lang.System.loadLibrary(System.java:535) at net.i2p.util.NativeBigInteger.loadGeneric(NativeBigInteger.java:528) at net.i2p.util.NativeBigInteger.loadNative(NativeBigInteger.java:456) at net.i2p.util.NativeBigInteger.<clinit>(NativeBigInteger.java:206) at net.i2p.crypto.YKGenerator.<clinit>(YKGenerator.java:113) at net.i2p.crypto.ElGamalEngine.<init>(ElGamalEngine.java:75) at net.i2p.I2PAppContext.initializeElGamalEngine(I2PAppContext.java:635) at net.i2p.I2PAppContext.elGamalEngine(I2PAppContext.java:625) at net.i2p.router.Router.warmupCrypto(Router.java:719) at net.i2p.router.Router.runRouter(Router.java:436) at net.i2p.router.Router.main(Router.java:1102) at net.i2p.router.RouterLaunch.main(RouterLaunch.java:14) at net.i2p.android.router.service.RouterService$Starter.run(RouterService.java:312) at java.lang.Thread.run(Thread.java:856) WARNING: Native BigInteger library jbigi not loaded - using pure Java - poor performance may result - see http://www.i2p2.i2p/jbigi for help Reseed start Reseeding from https://euve5653.vserver.de/netDb/ ERROR [Reseed ] net.i2p.util.SSLEepGet : All key store loads failed, will only load local certificates checking for Android bug Test failed for: exp=64, act=896 Android BitSet bug detected, workaround implemented! ``` ### Subtickets
idk added this to the eventually milestone 2025-04-21 14:45:10 -04:00
idk added the
#718
apps.android
eventually
labels 2025-04-21 14:45:10 -04:00
Author
Owner

comment:8 Changed 2 years ago by zzz

Owner:
changed from str4d to _Meeh_Status:needs_work →
assigned

[comment:8](https://trac.i2p2.de/\#comment:8) Changed [2 years ago](https://trac.i2p2.de//timeline?from=2019-06-05T18%3A44%3A47Z&precision=second "See timeline at Jun 5, 2019 6:44:47 PM") by zzz Owner: changed from _str4d_ to _Meeh_Status:needs\_work → assigned
Author
Owner

comment:7 Changed 2 years ago by zzz

Status:testing →
needs_work

reopening after 4 years in testing

[comment:7](https://trac.i2p2.de/\#comment:7) Changed [2 years ago](https://trac.i2p2.de//timeline?from=2019-06-05T18%3A44%3A30Z&precision=second "See timeline at Jun 5, 2019 6:44:30 PM") by zzz Status:testing → needs\_work reopening after 4 years in testing
Author
Owner

comment:6 Changed 6 years ago by str4d

Found a bug: jbigi.c was being compiled and linked with completely different flags to libgmp. Somehow this worked on ARM but blew up the x86 emulator. Fixed in aac87c1a3b9a643ae34e705195eace8645838533.

The emulator runs fine now at API 21, but still crashes on API 19. API 10 runs fine though, which is strange. x86 and MIPS libjbigi.sos have been checked in; if nothing else, it will be useful to see what crash reports are returned on Google Play.

[comment:6](https://trac.i2p2.de/\#comment:6) Changed [6 years ago](https://trac.i2p2.de//timeline?from=2015-05-11T12%3A45%3A00Z&precision=second "See timeline at May 11, 2015 12:45:00 PM") by str4d Found a bug: `jbigi.c` was being compiled and linked with completely different flags to `libgmp`. Somehow this worked on ARM but blew up the x86 emulator. Fixed in `aac87c1a3b9a643ae34e705195eace8645838533`. The emulator runs fine now at API 21, but still crashes on API 19. API 10 runs fine though, which is strange. x86 and MIPS `libjbigi.so`s have been checked in; if nothing else, it will be useful to see what crash reports are returned on Google Play.
Author
Owner

comment:5 Changed 6 years ago by str4d

Milestone:0.9.14.1 →
eventually

I have updated the build script for GMP 6.0.0 and rebuilt the armeabi libjbigi.so, as well as building one for armeabi-v7a. Pushed in 702df64c3fbc493243d142b32449666b19d23e2d. The armeabi-v7a binary is particularly handy; newer devices will see a speedup as they will now use the newer CPU features. From tests on my local device:

armeabi:     native = 77% of pure java time
armeabi-v7a: native = 62% of pure java time

x86 and MIPS still require testing. The x86 libjbigi.so binary causes the x86 emulator to hang (API 21), or crash (API 19) with exceeds size of memVRTable. This might be an emulator issue, but it is probably a compilation issue.

[comment:5](https://trac.i2p2.de/\#comment:5) Changed [6 years ago](https://trac.i2p2.de//timeline?from=2015-04-10T04%3A12%3A28Z&precision=second "See timeline at Apr 10, 2015 4:12:28 AM") by str4d Milestone:0.9.14.1 → eventually I have updated the build script for GMP 6.0.0 and rebuilt the armeabi `libjbigi.so`, as well as building one for armeabi-v7a. Pushed in `702df64c3fbc493243d142b32449666b19d23e2d`. The armeabi-v7a binary is particularly handy; newer devices will see a speedup as they will now use the newer CPU features. From tests on my local device: ``` armeabi: native = 77% of pure java time armeabi-v7a: native = 62% of pure java time ``` x86 and MIPS still require testing. The x86 `libjbigi.so` binary causes the x86 emulator to hang (API 21), or crash (API 19) with `exceeds size of memVRTable`. This might be an emulator issue, but it is probably a compilation issue.
Author
Owner

comment:4 Changed 7 years ago by str4d

Milestone:0.9.14 →
0.9.14.1Status:assigned →
testing

libjbigi.so files for x86 and MIPS can be built as of a03b4a542c4c26d11441da6d8dbba735aab2127a. They now need to be tested.

[comment:4](https://trac.i2p2.de/\#comment:4) Changed [7 years ago](https://trac.i2p2.de//timeline?from=2014-08-06T12%3A36%3A40Z&precision=second "See timeline at Aug 6, 2014 12:36:40 PM") by str4d Milestone:0.9.14 → 0.9.14.1Status:assigned → testing `libjbigi.so` files for x86 and MIPS can be built as of `a03b4a542c4c26d11441da6d8dbba735aab2127a`. They now need to be tested.
Author
Owner

comment:3 Changed 7 years ago by zzz

Owner:
changed from sponge to _str4d_Status:new →
assigned

Reassigning to str4d as he is working on this

[comment:3](https://trac.i2p2.de/\#comment:3) Changed [7 years ago](https://trac.i2p2.de//timeline?from=2014-08-04T14%3A43%3A01Z&precision=second "See timeline at Aug 4, 2014 2:43:01 PM") by zzz Owner: changed from _sponge_ to _str4d_Status:new → assigned Reassigning to str4d as he is working on this
Author
Owner

comment:2 Changed 7 years ago by zzz

Component:package/other →
apps/androidMilestone:
→ 0.9.14

related/dup: #1203

Last edited 7 years ago
by zzz
( previous)
( diff)

[comment:2](https://trac.i2p2.de/\#comment:2) Changed [7 years ago](https://trac.i2p2.de//timeline?from=2014-07-03T19%3A55%3A15Z&precision=second "See timeline at Jul 3, 2014 7:55:15 PM") by zzz Component:package/other → apps/androidMilestone: → 0.9.14 related/dup: [#1203](https://trac.i2p2.de//ticket/1203 "#1203: enhancement: Android is not only ARM (closed: fixed)") Last edited [7 years ago](https://trac.i2p2.de//timeline?from=2014-07-03T19%3A55%3A31Z&precision=second "See timeline at Jul 3, 2014 7:55:31 PM") by zzz ( [previous](https://trac.i2p2.de//ticket/718?cversion=0&cnum_hist=2#comment:2)) ( [diff](https://trac.i2p2.de//ticket/718?action=comment-diff&cnum=2&version=1))
Author
Owner

comment:1 Changed 8 years ago by str4d

Milestone:0.9.3

[comment:1](https://trac.i2p2.de/\#comment:1) Changed [8 years ago](https://trac.i2p2.de//timeline?from=2013-04-30T12%3A58%3A23Z&precision=second "See timeline at Apr 30, 2013 12:58:23 PM") by str4d Milestone:0.9.3
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: I2P_Developers/i2p.android.base#42
No description provided.