Google Play New problem : 64bits

All topics about ZGameEditor goes here.

Moderator: Moderators

Post Reply
User avatar
Ats
Posts: 729
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

It doesn't find the library. Yet, it loads arm64-v8a/libzgeandroid.so just fine. Or at least, it is running nicely on "64 bits only" phones if I don't load other libraries.

32 bits:

Code: Select all

09-08 19:57:56.250 18375 18415 E ZgeAndroid: Library found: /data/user/0/com.txori.zge_android_lib64/lib/./libok.so
64 bits:

Code: Select all

09-08 19:55:57.578 17836 17967 E ZgeAndroid: Library NOT found: /data/user/0/com.txori.zge_android_lib64/lib/./libok.so
09-08 19:55:57.579 17836 17967 E ZgeAndroid: failed to load: /data/user/0/com.txori.zge_android_lib64/lib/./libok.so
I tried renaming/loading the 64bit library to libok64.so, so it doesn't have the same name as the 32bit one, but it is the same result.

I also tried some things based on the link Kjell sent me: https://android.googlesource.com/platfo ... elopers.md
Such as using API 22 and tracing the libraries Headers and SONAME. Everything seems normal here.

Then I run some tests:

Code: Select all

if(ANDROID) this.ModuleName = "./libok.so";
failed to load: /data/user/0/com.txori.zge_android_lib64/lib/./libok.so

Code: Select all

if(ANDROID) this.ModuleName = "/libok.so";
Library NOT found: /libok.so

Code: Select all

if(ANDROID) this.ModuleName = "libok.so";
Library NOT found: libok.so
But this last one is working :shock: !!!???

And test() is called:

Code: Select all

App.ClearColor = 0;
if(test()) {
  App.ClearColor.G = 1;
} else {
  App.ClearColor.R = 1;
}
So I just retried to load "sunvox.so" and "libopencv_java4.so" like that last one, but they aren't found and are not working.
So maybe libok is loading the 32bit one, I don't know. I'm sending the apk to my friend with the 64bit phone for testing.

Edit:
It's working on his 64bit phone :|...
User avatar
VilleK
Site Admin
Posts: 2335
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

It seems there is a different way to get the folder for native libs.

https://stackoverflow.com/a/51020379/43673

Please try editing Zge.java.

From:

Code: Select all

        String libraryPath = getContext().getApplicationInfo().dataDir + "/lib/";
To

Code: Select all

        String libraryPath = getApplicationInfo().nativeLibraryDir;
If it doesn't compile, then add "import android.content.pm.ApplicationInfo;" at top.
User avatar
Ats
Posts: 729
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

Nice one. I totally forgot about the java wrapper, it might be coming from that?
The correct line of code is: String libraryPath = getContext().getApplicationInfo().nativeLibraryDir;

I tried loading the library using if(ANDROID) this.ModuleName = "./libsunvox.so"

32 is stuck in a loop trying to find the library:

Code: Select all

09-09 13:07:33.467 13306 13306 E ZgeAndroid: Library NOT found: /data/app/~~07z_J2dSi1_KqJ70qVedzQ==/com.txori.sunvox64-7sqZ-5skGvXKEsLVr3Sk5Q==/lib/arm./libsunvox.so
09-09 13:07:33.467 13306 13306 E ZgeAndroid: failed to load: /data/app/~~07z_J2dSi1_KqJ70qVedzQ==/com.txori.sunvox64-7sqZ-5skGvXKEsLVr3Sk5Q==/lib/arm./libsunvox.so
09-09 13:07:33.467 13306 13306 E ZgeAndroid: Function not found: JNI_OnLoad
09-09 13:07:33.467 13306 13306 E ZgeAndroid: ./libsunvox.so
64 is crashing:

Code: Select all

09-09 13:06:23.225 12708 12708 E ZgeAndroid: Library NOT found: /data/app/~~GXAwwcg9XInEiiRH19FtGg==/com.txori.sunvox64-Pu2XsX0zJkZkXwYNhvaW1g==/lib/arm64./libsunvox.so
09-09 13:06:23.225 12708 12708 E ZgeAndroid: failed to load: /data/app/~~GXAwwcg9XInEiiRH19FtGg==/com.txori.sunvox64-Pu2XsX0zJkZkXwYNhvaW1g==/lib/arm64./libsunvox.so
09-09 13:06:23.225 12708 12708 E ZgeAndroid: Found JNI_OnLoad function, calling now...
So I tried removing the . to load the library using if(ANDROID) this.ModuleName = "libsunvox.so"
But then it skips the library path:

Yet, 32 is working:

Code: Select all

09-09 13:12:02.902 13647 13647 E ZgeAndroid: /storage/emulated/0
09-09 13:12:02.902 13647 13647 E ZgeAndroid: /data/user/0/com.txori.sunvox64/files/
09-09 13:12:02.902 13647 13647 E ZgeAndroid: /data/app/~~WZ22qIczcLdlLFHs4-50UA==/com.txori.sunvox64-_UNBiuT6XoSDyT8T3INEbg==/lib/arm
09-09 13:12:02.903 13647 13647 E ZgeAndroid: Library NOT found: libGLESv1_CM.so
09-09 13:12:02.904 13647 13647 E ZgeAndroid: Function not found: JNI_OnLoad
09-09 13:12:02.907 13647 13647 E ZgeAndroid: Library NOT found: libsunvox.so
09-09 13:12:02.908 13647 13647 E ZgeAndroid: Function not found: JNI_OnLoad
64 is crashing:

Code: Select all

09-09 13:13:17.226 14458 14458 E ZgeAndroid: /storage/emulated/0
09-09 13:13:17.226 14458 14458 E ZgeAndroid: /data/user/0/com.txori.sunvox64/files/
09-09 13:13:17.226 14458 14458 E ZgeAndroid: /data/app/~~J4-uHB0mdsa3_6kkq0Bjlg==/com.txori.sunvox64-snFpiHRxEQMj4rK_8r69GA==/lib/arm64
09-09 13:13:17.228 14458 14458 E ZgeAndroid: Library NOT found: libGLESv1_CM.so
09-09 13:13:17.231 14458 14458 E ZgeAndroid: Function not found: JNI_OnLoad
09-09 13:13:17.238 14458 14458 E ZgeAndroid: Library NOT found: libsunvox.so
09-09 13:13:17.244 14458 14458 E ZgeAndroid: Function not found: JNI_OnLoad

I also tried renaming folders armeabi-v7a to arm, and arm64-v8a to arm64, just in case, but it's not working.

I also tried to force Zge.java with String libraryPath = getContext().getApplicationInfo().dataDir + "/lib/arm64-v8a/";
But I get this : E ZgeAndroid: Library NOT found: /data/user/0/com.txori.sunvox64/arm64-v8a/./libsunvox.so when loading "./libsunvox.so"
User avatar
VilleK
Site Admin
Posts: 2335
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

Seems there is no ending slash in the path that Android reports:

09-09 13:07:33.467 13306 13306 E ZgeAndroid: Library NOT found: /data/app/~~07z_J2dSi1_KqJ70qVedzQ==/com.txori.sunvox64-7sqZ-5skGvXKEsLVr3Sk5Q==/lib/arm./libsunvox.so


Try this in the Java code:

.. nativeLibraryDir + "/";
User avatar
Ats
Posts: 729
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

32 is found and working:

Code: Select all

09-09 16:54:54.434 28065 28065 E ZgeAndroid: Library found: /data/app/~~0qTkqAkYx4xFb1yKkuNdoQ==/com.txori.sunvox64-pH0MXxVEvyrL7_xvNmEmZQ==/lib/arm/./libsunvox.so
09-09 16:54:54.436 28065 28065 E ZgeAndroid: Function not found: JNI_OnLoad
64 is found but crashing:

Code: Select all

09-09 16:56:09.094 28468 28468 E ZgeAndroid: Library found: /data/app/~~roYdMJoRiKExvu1KKVYzWg==/com.txori.sunvox64-0qXFfGcg7psVzRNEbhER4g==/lib/arm64/./libsunvox.so
09-09 16:56:09.097 28468 28468 E ZgeAndroid: Function not found: JNI_OnLoad
I tried with zgebullet, the result is the same as sunvox. But that is better, already :wink:
User avatar
VilleK
Site Admin
Posts: 2335
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

Yes indeed. The library is finally found!

Now we can instead focus on what changes are required in ZExpression.

The "TExpExternalFuncCall.Execute" code that you have enabled currently is designed for 32-bit.

I think it would be better if you could make the Android 64-bit version use the block that you currently commented as

// ARM64 Computer, not Android

But I don't immediately know the best way to control that with ifdefs now that we have a bunch of platforms.

As an alternative, try this with your current solution:

Change:

TArgArray = array[0..MaxArgs-1] of integer;

To

TArgArray = array[0..MaxArgs-1] of NativeUInt;

Change:

//Transfer arguments from Zc-stack to hardware stack
for I := 0 to ArgCount-1 do
Env.StackPopTo(Args[ArgCount-I-1]);

To

for I := 0 to ArgCount-1 do
Env.StackPopToPointer(Args[ArgCount-I-1]);
User avatar
Ats
Posts: 729
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

I tried all those changes, but it is still crashing in 64.

I think I'm going to restart ZExpression.pas from the actual git, because I don't even remember why I added "// ARM64 Computer, not Android" in the first place :?

Edit:
Oh right, it was because TExpExternalFuncCall.Execute is declared twice, and Android 64 is accessing both:

Line 2264:

Code: Select all

{$if defined(android)}
procedure TExpExternalFuncCall.Execute(Env : PExecutionEnvironment);

Line 2916:

Code: Select all

{$if defined(cpuaarch64)}  // ARM64
...
procedure TExpExternalFuncCall.Execute(Env : PExecutionEnvironment);
Last edited by Ats on Tue Sep 10, 2024 8:46 am, edited 2 times in total.
User avatar
Ats
Posts: 729
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

I striped down the whole ZExpressions.pas to a skeleton to better see what's going on with the {$ifdef 64, if that helps:

Code: Select all

{$if defined(cpux64) or defined(cpuaarch64)}
  function TExecutionEnvironment.StackPopAndGetPtr(const Count: integer): PStackElement;
{$endif}


{ TExpExternalFuncCall }

procedure TExpExternalFuncCall.DefineProperties(List: TZPropertyList);

{$ifndef minimal}
  procedure TExpExternalFuncCall.DesignerReset;
{$endif}

{$if defined(android)}

  procedure TExpExternalFuncCall.Execute(Env : PExecutionEnvironment);

{$elseif defined(cpux64)}

  procedure DummyProc(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 : NativeInt);

  {$ifndef MSWINDOWS}
    function mprotect(__addr:pointer;__len:cardinal;__prot:longint):longint; cdecl; external 'libc' name 'mprotect';
  {$endif}

  function GenerateTrampoline(const ArgCount : integer; ArgTypes : PAnsiChar; Proc : pointer) : pointer;
  procedure TExpExternalFuncCall.Execute(Env : PExecutionEnvironment);
  destructor TExpExternalFuncCall.Destroy;

{$elseif defined(cpux86) or defined(CPU32)}  //CPU32 is for Freepascal

  procedure TExpExternalFuncCall.Execute(Env : PExecutionEnvironment);

{$endif}

{$if defined(cpuaarch64)}  // ARM64

  procedure DummyProc(i1,i2,i3,i4,i5,i6,i7,i8,i9,i10,i11,i12 : NativeInt);
  function mprotect(__addr:pointer;__len:cardinal;__prot:longint):longint; cdecl; external 'libc' name 'mprotect';

  {$IFDEF MACOS}
    procedure pthread_jit_write_protect_np(enabled : integer); cdecl; external 'pthread' name 'pthread_jit_write_protect_np';
    procedure sys_icache_invalidate(start : pointer; len : nativeuint); cdecl; external 'libc' name 'sys_icache_invalidate';
  {$ENDIF}

  function GenerateTrampoline(const ArgCount : integer; ArgTypes : PAnsiChar; Proc : pointer) : pointer;
  procedure TExpExternalFuncCall.Execute(Env : PExecutionEnvironment);
  destructor TExpExternalFuncCall.Destroy;

{$endif}
User avatar
VilleK
Site Admin
Posts: 2335
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

Code: Select all

{$if defined(android)}
procedure TExpExternalFuncCall.Execute(Env : PExecutionEnvironment);
Try changing that to

Code: Select all

{$if defined(android) and defined(cpu32)}
User avatar
Ats
Posts: 729
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

That's it, well done :D
Sunvox is playing nicely on 64.
ZGEBullet is crashing, but that might be coming from the lib and not from ZGE.

I'm going to clean up and update ZExpressions.pas and Zge.java in the git, then I'll see about ZGEBullet.
User avatar
VilleK
Site Admin
Posts: 2335
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

Good :). These change will improve the code quality for Android target. Thanks for not giving up.
User avatar
Ats
Posts: 729
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

Yeah, thanks for your help! I just hope I'll find the free time to finish my game before we switch to Android 128 bits :lol:

Anyway, here's where the crash happens with ZGEBullet:

Code: Select all

09-10 16:51:51.625 E/ZgeAndroid(26688): Library found: /data/app/~~b8j5t7dATdl5BPnKSUzxDg==/com.txori.ZGEBullet-SVCFfiJ4bQv5n4LbBKHa4w==/lib/arm64/./libZgeBullet.so
09-10 16:51:52.183 F/libc    (26688): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 26712 (GLThread 1751), pid 26688 (txori.ZGEBullet)
09-10 16:51:53.017 F/DEBUG   (26719):       #01 pc 0000000000042c90  /data/app/~~b8j5t7dATdl5BPnKSUzxDg==/com.txori.ZGEBullet-SVCFfiJ4bQv5n4LbBKHa4w==/lib/arm64/libzgeandroid.so (BuildId: 57942bb6557950301e6b6d8b2d7bf65e0cc3164c)
From this logcat, the problem seems to be coming from libzgeandroid.so
So I'm going to build it using flag -g for debug, then try to do some magic with addr2line to find what line in the code is wrong.

Edit:
This went incredibly smooth.
ats@XPS:~/Downloads$ addr2line -f -e ./libzgeandroid.so 0x0000000000042c90
PLATFORM_LOADMODULE
C:/zgameeditor/Build/android//../../ZPlatform_Android.inc:671

Which corresponds to the debug line that was added:
AndroidLog(PAnsiChar('Library found: ' + TheName))

So I tried to modify it to:
AndroidLog(PAnsiChar('Library found: ' + AnsiString(TheName)));

And it is still crashing... I'm going to revert ZPlatform_android.inc to git version and try again.

Edit 2:
Now it says it crashes on the last line of Platform_LoadModule, "end;" :roll:

Code: Select all

function Platform_LoadModule(const Name : PAnsiChar) : NativeUInt;
var
  Buf : array[0..511] of AnsiChar;
  TheName : PAnsiChar;
  InitFunc : function(vm:PJavaVM;reserved:pointer):jint; cdecl;
begin
  if Name^='.' then
  begin
    MakeFullPath(Name,AndroidLibraryPath,Buf);
    TheName := @Buf;
  end
  else
    TheName := Name;
  Result := NativeUInt( dlopen(TheName,1) );
  if Result=0 then
  begin
    Platform_Error( PAnsiChar('failed to load: ' + TheName) );
  end;

  InitFunc := Platform_GetModuleProc(Result,'JNI_OnLoad');
  if @InitFunc<>nil then
  begin
    AndroidLog('Found JNI_OnLoad function, calling now...');
    InitFunc(curVM,nil);
  end;

end;
I'll continue with a debug build of ZGEBullet.so when I'll get back.
Last edited by Ats on Tue Sep 10, 2024 11:29 pm, edited 4 times in total.
User avatar
VilleK
Site Admin
Posts: 2335
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

Looks like bullet library crashes on initialization. I suggest you build bullet with debug info too.
User avatar
Ats
Posts: 729
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

Here's my progress for ZGEBullet:
  • The lib compiles perfectly for android 32 and 64 (I tested everything, like 'file', 'readelf'... everything is fine)
  • Only the android 32 lib works. The android 64 one crash
  • The lib works well for linux 64 but not android 64. Exact same code.
  • I tried compiling it from Linux and Windows with different Android NDK versions, same result
  • I didn't find anything in Rado1's wrapper that could trigger a bug in 64 bit, but maybe there is?
  • The lib only compiles with bullet3 version up to 2.85.1, which is aging from 2016. Maybe they repaired a thing in their code with later versions that was buggy in Android 64?
  • I compiled the lib with flag -g for debug:
Android 32:

Code: Select all

09-12 12:31:36.234 I/ActivityTaskManager( 2044): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.txori.ZGEBullet/org.zgameeditor.ZgeActivity bnds=[439,1790][640,2091]} from uid 10042

09-12 12:31:36.307 I/ActivityManager( 2044): Start proc 20170:com.txori.ZGEBullet/u0a572 for pre-top-activity {com.txori.ZGEBullet/org.zgameeditor.ZgeActivity}

09-12 12:31:36.340 I/txori.ZGEBulle(20170): Late-enabling -Xcheck:jni

09-12 12:31:36.383 I/A       ( 3733): onPause
09-12 12:31:36.383 I/txori.ZGEBulle(20170): Using CollectorTypeCC GC.

09-12 12:31:36.542 W/ziparchive(20170): Unable to open '/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.dm': No such file or directory
09-12 12:31:36.542 W/ziparchive(20170): Unable to open '/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.dm': No such file or directory

09-12 12:31:36.552 D/nativeloader(20170): Configuring clns-4 for other apk /data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.apk. target_sdk_version=29, uses_libraries=, library_path=/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/lib/arm:/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.apk!/lib/armeabi, permitted_path=/data:/mnt/expand:/data/user/0/com.txori.ZGEBullet

09-12 12:31:36.605 V/GraphicsEnvironment(20170): ANGLE Developer option for 'com.txori.ZGEBullet' set to: 'default'

09-12 12:31:36.605 V/GraphicsEnvironment(20170): ANGLE GameManagerService for com.txori.ZGEBullet: false
09-12 12:31:36.606 V/GraphicsEnvironment(20170): Neither updatable production driver nor prerelease driver is supported.

09-12 12:31:36.734 D/nativeloader(20170): Load /data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/lib/arm/libzgeandroid.so using ns clns-4 from class loader (caller=/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.apk): ok

09-12 12:31:36.747 E/ZgeAndroid(20170): /storage/emulated/0
09-12 12:31:36.747 E/ZgeAndroid(20170): /data/user/0/com.txori.ZGEBullet/files/
09-12 12:31:36.747 E/ZgeAndroid(20170): /data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/lib/arm/

nt context (logged once per thread)
09-12 12:31:36.775 E/ZgeAndroid(20170): Library found: /data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/lib/arm/./libZgeBullet.so

09-12 12:31:37.304 W/ziparchive( 2044): Unable to open '/data/app/~~-vs5vkLhxicKCyZ8zgR3xQ==/com.txori.ZGEBullet-oTSgq4b1Nsd_dOdvqePxwg==/base.dm': No such file or directory

09-12 12:31:37.308 I/ActivityTaskManager( 2044): Displayed com.txori.ZGEBullet/org.zgameeditor.ZgeActivity: +1s65ms

09-12 12:31:37.327 I/GoogleInputMethodService( 3316): GoogleInputMethodService.updateDeviceLockedStatus():2192 repeatCheckTimes = 0, locked = false
09-12 12:31:37.328 I/GoogleInputMethodService( 3316): GoogleInputMethodService.onStartInput():1936 onStartInput(EditorInfo{EditorInfo{packageName=com.txori.ZGEBullet, inputType=0, inputTypeString=NULL, enableLearning=false, autoCorrection=false, autoComplete=false, imeOptions=0, privateImeOptions=null, actionName=UNSPECIFIED, actionLabel=null, initialSelStart=-1, initialSelEnd=-1, initialCapsMode=0, label=null, fieldId=-1, fieldName=null, extras=null, hintText=null, hintLocales=[]}}, false)

09-12 12:31:37.679 W/InputManager-JNI( 2044): Input channel object 'be2c3bc Splash Screen com.txori.ZGEBullet (client)' was disposed without first being removed with the input manager!

09-12 12:31:41.261 D/b/195430732( 2627): currentRunningTaskViewId: 8 requestedTaskViewId: 8
09-12 12:31:41.261 I/InputDispatcher( 2044): Monitor swipe-up (server) is stealing touch from [882d01c com.txori.ZGEBullet/org.zgameeditor.ZgeActivity (server), ]

09-12 12:31:42.908 I/ActivityManager( 2044): Killing 20170:com.txori.ZGEBullet/u0a572 (adj 905): remove task

09-12 12:31:43.114 I/GoogleInputMethodService( 3316): GoogleInputMethodService.onStartInput():1936 onStartInput(EditorInfo{EditorInfo{packageName=com.txori.ZGEBullet, inputType=0, inputTypeString=NULL, enableLearning=false, autoCorrection=false, autoComplete=false, imeOptions=0, privateImeOptions=null, actionName=UNSPECIFIED, actionLabel=null, initialSelStart=-1, initialSelEnd=-1, initialCapsMode=0, label=null, fieldId=-1, fieldName=null, extras=null, hintText=null, hintLocales=[]}}, true)

09-12 12:31:43.168 I/HandwritingOnlineSuperpacks( 3316): HandwritingOnlineSuperpacks$2.apply():184 syncPackMapping()
09-12 12:31:43.168 I/adbd    ( 6908): Remote process closed the socket (on MSG_PEEK)
09-12 12:31:43.168 I/WindowManager( 2044): WIN DEATH: Window{882d01c u0 com.txori.ZGEBullet/org.zgameeditor.ZgeActivity}
09-12 12:31:43.169 W/InputManager-JNI( 2044): Input channel object '882d01c com.txori.ZGEBullet/org.zgameeditor.ZgeActivity (client)' was disposed without first being removed with the input manager!
Android 64:

Code: Select all

09-12 12:23:28.475 I/ActivityTaskManager( 2044): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.txori.ZGEBullet/org.zgameeditor.ZgeActivity bnds=[439,1790][640,2091]} from uid 10042

09-12 12:23:28.583 I/ActivityManager( 2044): Start proc 18023:com.txori.ZGEBullet/u0a572 for pre-top-activity {com.txori.ZGEBullet/org.zgameeditor.ZgeActivity}

09-12 12:23:28.589 I/txori.ZGEBulle(18023): Late-enabling -Xcheck:jni

09-12 12:23:28.626 I/txori.ZGEBulle(18023): Using CollectorTypeCC GC.

09-12 12:23:28.628 W/txori.ZGEBulle(18023): Mismatch between instruction set variant of device (ISA: Arm64 Feature string: -a53,crc,lse,fp16,dotprod,-sve) and features returned by the hardware (ISA: Arm64 Feature string: -a53,crc,lse,fp16,-dotprod,-sve)

09-12 12:23:28.722 D/nativeloader(18023): Configuring clns-4 for other apk /data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/base.apk. target_sdk_version=29, uses_libraries=, library_path=/data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/lib/arm64:/data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/base.apk!/lib/arm64-v8a, permitted_path=/data:/mnt/expand:/data/user/0/com.txori.ZGEBullet

09-12 12:23:28.761 V/GraphicsEnvironment(18023): ANGLE Developer option for 'com.txori.ZGEBullet' set to: 'default'

09-12 12:23:28.762 V/GraphicsEnvironment(18023): ANGLE GameManagerService for com.txori.ZGEBullet: false
09-12 12:23:28.762 V/GraphicsEnvironment(18023): Neither updatable production driver nor prerelease driver is supported.

09-12 12:23:28.854 D/nativeloader(18023): Load /data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/lib/arm64/libzgeandroid.so using ns clns-4 from class loader (caller=/data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/base.apk): ok

09-12 12:23:28.865 E/ZgeAndroid(18023): /storage/emulated/0
09-12 12:23:28.866 E/ZgeAndroid(18023): /data/user/0/com.txori.ZGEBullet/files/
09-12 12:23:28.866 E/ZgeAndroid(18023): /data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/lib/arm64/

09-12 12:23:28.875 E/ZgeAndroid(18023): Library found: /data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/lib/arm64/./libZgeBullet.so

09-12 12:23:29.334 I/KeyboardGroupDefParser( 3316): KeyboardGroupDefParser.parseKeyboardGroupDef():83 parseKeyboardGroupDef() 2132214039 -> 0_resource_name_obfuscated : WaitTime = 0 ms : RunTime = 0 ms
09-12 12:23:29.334 I/AbstractOpenableExtension( 3316): AbstractOpenableExtension.createKeyboardGroupManagerListenableFuture():120 Create keyboard group manager listenable future in fqn
09-12 12:23:29.334 I/KeyboardGroupDefParser( 3316): KeyboardGroupDefParser.parseKeyboardGroupDef():83 parseKeyboardGroupDef() 2132214033 -> 0_resource_name_obfuscated : WaitTime = 0 ms : RunTime = 0 ms
09-12 12:23:29.334 I/KeyboardModeManager( 3316): KeyboardModeManager.setInputViewKeyboardViewHolderProvider():620 setInputView() : supportsOneHandedMode=false supportsSplitMode=true
09-12 12:23:29.334 I/KeyboardGroupDefParser( 3316): KeyboardGroupDefParser.parseKeyboardGroupDef():83 parseKeyboardGroupDef() 2132214040 -> 0_resource_name_obfuscated : WaitTime = 0 ms : RunTime = 1 ms
09-12 12:23:29.335 F/libc    (18023): Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 18046 (GLThread 1196), pid 18023 (txori.ZGEBullet)
09-12 12:23:29.338 I/NormalModeController( 3316): NormalModeController.getKeyboardBodyViewHolderPaddingBottom():102 currentPrimeKeyboardType:SOFT systemPaddingBottom:-1

09-12 12:23:30.100 F/DEBUG   (18055): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
09-12 12:23:30.100 F/DEBUG   (18055): Build fingerprint: 'google/sargo/sargo:12/SP2A.220505.008/8782922:user/release-keys'
09-12 12:23:30.100 F/DEBUG   (18055): Revision: 'MP1.0'
09-12 12:23:30.100 F/DEBUG   (18055): ABI: 'arm64'
09-12 12:23:30.100 F/DEBUG   (18055): Timestamp: 2024-09-12 12:23:29.429384315+0200
09-12 12:23:30.100 F/DEBUG   (18055): Process uptime: 0s
09-12 12:23:30.100 F/DEBUG   (18055): Cmdline: com.txori.ZGEBullet
09-12 12:23:30.100 F/DEBUG   (18055): pid: 18023, tid: 18046, name: GLThread 1196  >>> com.txori.ZGEBullet <<<
09-12 12:23:30.100 F/DEBUG   (18055): uid: 10572
09-12 12:23:30.100 F/DEBUG   (18055): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
09-12 12:23:30.100 F/DEBUG   (18055): Cause: null pointer dereference
09-12 12:23:30.100 F/DEBUG   (18055):     x0  0000007a5d459ac6  x1  0000007b0ef4fd90  x2  0000000000000000  x3  0000000000000000
09-12 12:23:30.100 F/DEBUG   (18055):     x4  0000000000000003  x5  00000079e62c0720  x6  0000000000000000  x7  0000000000000000
09-12 12:23:30.100 F/DEBUG   (18055):     x8  0000007d0bca1e05  x9  67ed2932d4dc32a6  x10 67ed2932d4dc32a6  x11 0000000000000000
09-12 12:23:30.100 F/DEBUG   (18055):     x12 0000000000000019  x13 000000003ee11f59  x14 0000000000000001  x15 0000007a5de16d70
09-12 12:23:30.100 F/DEBUG   (18055):     x16 0000000000000001  x17 0000007a5d8f2104  x18 00000079e5312000  x19 00000079e62c2000
09-12 12:23:30.100 F/DEBUG   (18055):     x20 0000000000000003  x21 0000007ceefbc180  x22 0000000000000000  x23 0000007a44e11210
09-12 12:23:30.100 F/DEBUG   (18055):     x24 0000007a556e23f8  x25 0000000000000001  x26 0000007a556e25b8  x27 0000000000000001
09-12 12:23:30.100 F/DEBUG   (18055):     x28 00000079e62c0dc0  x29 00000079e62c0750
09-12 12:23:30.100 F/DEBUG   (18055):     lr  00000079e72d5c94  sp  00000079e62c0720  pc  0000007a5d9a74c8  pst 0000000060000000
09-12 12:23:30.100 F/DEBUG   (18055): backtrace:
09-12 12:23:30.100 F/DEBUG   (18055):       #00 pc 00000000005a74c8  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::CallStaticObjectMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list) (.__uniq.99033978352804627313491551960229047428.llvm.10145813973330161544)+64) (BuildId: 3b4ed3e67a9a04e3a37d259cd59da05b)
09-12 12:23:30.100 F/DEBUG   (18055):       #01 pc 0000000000042c90  /data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/lib/arm64/libzgeandroid.so (BuildId: 57942bb6557950301e6b6d8b2d7bf65e0cc3164c)

09-12 12:23:30.129 W/ActivityTaskManager( 2044):   Force finishing activity com.txori.ZGEBullet/org.zgameeditor.ZgeActivity

09-12 12:23:30.180 I/WindowManager( 2044): WIN DEATH: Window{f96ae7e u0 com.txori.ZGEBullet/org.zgameeditor.ZgeActivity}
09-12 12:23:30.180 I/libprocessgroup( 2044): Successfully killed process cgroup uid 10572 pid 18023 in 0ms
09-12 12:23:30.180 W/InputManager-JNI( 2044): Input channel object 'f96ae7e com.txori.ZGEBullet/org.zgameeditor.ZgeActivity (client)' was disposed without first being removed with the input manager!

09-12 12:23:30.191 I/ActivityManager( 2044): Process com.txori.ZGEBullet (pid 18023) has died: fg  TOP 
09-12 12:23:30.191 E/ClientCache(  756): failed to get buffer, invalid process token
09-12 12:23:30.192 E/BpTransactionCompletedListener(  756): Failed to transact (-32)

09-12 12:23:30.261 W/InputManager-JNI( 2044): Input channel object 'd573ecd Splash Screen com.txori.ZGEBullet (client)' was disposed without first being removed with the input manager!

09-12 12:23:30.635 W/ActivityTaskManager( 2044): Activity top resumed state loss timeout for ActivityRecord{96a5df6 u0 com.txori.ZGEBullet/org.zgameeditor.ZgeActivity t-1 f}}
09-12 12:23:30.635 W/NotificationCenter( 3316): NotificationCenter$NotificationQueue.notifyOnExecutor():847 Heavy notify work detected on UI thread: [kik->mmg] takes 39ms
The 64-bit version is failing at loading, as it hangs after loading libzgeandroid.so but does not proceed with libZgeBullet.so. But why?

The only JNI Call Fails are:
F/DEBUG (18055): #00 pc 00000000005a74c8 /apex/com.android.art/lib64/libart.so
F/DEBUG (18055): #01 pc 0000000000042c90 /data/app/.../libzgeandroid.so (same as before)
There are no reference to libZgeBullet.so
User avatar
VilleK
Site Admin
Posts: 2335
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

There is a "Library found" message for bullet in the 64-bit log so at least it is getting to that point.
I suggest you add a "Library loaded ok" log message on the line after dlopen so we can see if it finishes loading bullet lib before crashing.

Code: Select all

09-12 12:23:28.875 E/ZgeAndroid(18023): Library found: /data/app/~~WZGhrcuW5hqBpsOUSMGVHQ==/com.txori.ZGEBullet-ve5adnhoUiri0J1FRjIpkQ==/lib/arm64/./libZgeBullet.so
Post Reply