Google Play New problem : 64bits

All topics about ZGameEditor goes here.

Moderator: Moderators

User avatar
Ats
Posts: 791
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

And I just tried the latest version of Omeganaut, where I'm building sounds on start using SFXR, and it crashes while doing so.

So I'm going to try the simple SFXR example and see if I can get it to crash with proper log.
That might be coming from sampleExpression. I don't know, I didn't manage to crash the strip down example yet.
I'll continue tomorrow...

Oh, and regarding the sound quality, that may come from the speakers that are way better on the new phone, and the sound was always that crappy :lol:

Edit:
I was able to play the latest version of Omeganaut for several minutes. The crash is random and doesn't seem to be related to the SFXR/SampleExpression. Debug or Release mode. Might be another thread audio problem. Tomorrow, I'll try Omeganaut without sound again.
User avatar
Ats
Posts: 791
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

Old version of Omeganaut (no SFXR) without audio is still randomly crashing after a while. So the problem isn't coming from audio.
Might be threads again, or some other little thing.

And the crash dump isn't helping either:
Build fingerprint: 'google/cheetah/cheetah:14/AP2A.240905.003/12231197:user/release-keys'
#00 0x0000000000003000 <anonymous:74de5f1000>

Edit:
It is definitely coming from threads. With threads deactivated:
ZClasses.Tasks.Enabled := False;
The game is super slow at times, but it's not crashing.
User avatar
VilleK
Site Admin
Posts: 2365
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

Perhaps try playing the game in Android Studio and see if you can reproduce the crash. If it only happens with threads enabled then it is likely related to meshexpression or bitmapexpression.
User avatar
Ats
Posts: 791
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

So I made a simple BitmapExpression frenzy example:

Code: Select all

<?xml version="1.0" encoding="iso-8859-1" ?>
<ZApplication Name="App" Caption="Omeganaut" ClearColor="0.502 0.502 1 1" AmbientLightColor="1 1 1 1" FullScreen="255" FrameRateStyle="1" ScreenMode="0" CameraPosition="0 0 14" MouseVisible="255" FileVersion="2" PreviewClearColor="0 0 0 1" AndroidPackageName="com.txori.omeganaut" AndroidPortrait="2">
  <OnLoaded>
    <ZLibrary HasInitializer="1">
      <Source>
<![CDATA[int frame = 0;
int timer = 0;]]>
      </Source>
    </ZLibrary>
    <SetAppState State="State_Cubes"/>
  </OnLoaded>
  <States>
    <AppState Name="State_Ready">
      <OnUpdate>
        <KeyPress Keys="{">
          <OnPressed>
            <SetAppState State="State_Cubes"/>
          </OnPressed>
        </KeyPress>
        <ZExpression>
          <Expression>
<![CDATA[int TouchCount = touchGetCount();
if (TouchCount > 0) @SetAppState(State:State_Cubes);]]>
          </Expression>
        </ZExpression>
        <Timer Interval="1" RepeatCount="10">
          <OnTimer>
            <ZExpression>
              <Expression>
<![CDATA[timer ++;
trace(intToStr(timer));
if (timer == 10) @SetAppState(State:State_Cubes);]]>
              </Expression>
            </ZExpression>
          </OnTimer>
        </Timer>
      </OnUpdate>
    </AppState>
    <AppState Name="State_Cubes">
      <OnStart>
        <ZExpression>
          <Expression>
<![CDATA[trace("READY ???");
//Quit();
BitmapCloud.ZHeight = 0;
TransformBG.Rotate.Z = 0;
TransformCell.Rotate.Z = 0;
BitmapCell.RandomSeed = 0;]]>
          </Expression>
        </ZExpression>
      </OnStart>
      <OnUpdate>
        <ZExpression>
          <Expression>
<![CDATA[BitmapCloud.ZHeight += App.DeltaTime;
TransformBG.Rotate.Z += App.DeltaTime / 10;
@RefreshContent(Component:BitmapClouds);

BitmapCell.RandomSeed ++;
TransformCell.Rotate.Z -= App.DeltaTime / 20;
@RefreshContent(Component:BitmapCells);]]>
          </Expression>
        </ZExpression>
      </OnUpdate>
      <OnRender>
        <RenderTransformGroup Name="TransformBG" Scale="14 14 1" Rotate="0 0 0.4733">
          <Children>
            <UseMaterial Material="MaterialClouds"/>
            <RenderMesh Mesh="SquareMesh"/>
          </Children>
        </RenderTransformGroup>
        <RenderTransformGroup Name="TransformCell" Scale="4 4 1" Rotate="0 0 -0.2367">
          <Children>
            <UseMaterial Material="MaterialCells"/>
            <RenderMesh Mesh="SquareMesh"/>
          </Children>
        </RenderTransformGroup>
        <Repeat Name="repeat" Count="6">
          <OnIteration>
            <ZExpression>
              <Expression>
<![CDATA[int i = repeat.Iteration;
transform.Translate.X = -2.5+(i%3)*2.5;
transform.Translate.Y = 1.5-(i/3)*3;

switch(i) {
case 0: @UseMaterial(Material:MaterialGeneratedMirror); break;
case 1: @UseMaterial(Material:MaterialGeneratedTile); break;
case 2: @UseMaterial(Material:MaterialGeneratedClamp); break;
case 3: @UseMaterial(Material:MaterialModelDefinedMirror); break;
case 4: @UseMaterial(Material:MaterialModelDefinedTile); break;
case 5: @UseMaterial(Material:MaterialModelDefinedClamp); break;
}]]>
              </Expression>
            </ZExpression>
            <RenderTransformGroup Name="transform" Translate="2.5 -1.5 0">
              <Children>
                <RenderTransform Rotate="0.1 0.1 0"/>
                <RenderMesh Mesh="CubeMesh"/>
              </Children>
            </RenderTransformGroup>
          </OnIteration>
        </Repeat>
      </OnRender>
    </AppState>
  </States>
  <OnUpdate>
    <ZExpression>
      <Expression>
<![CDATA[//trace("Frame "+intToStr(frame));
frame ++;]]>
      </Expression>
    </ZExpression>
  </OnUpdate>
  <Content>
    <Mesh Name="CubeMesh">
      <Producers>
        <MeshBox/>
      </Producers>
    </Mesh>
    <Bitmap Name="BitmapRainbow" Width="32" Height="32" Filter="1">
      <Producers>
        <BitmapExpression>
          <Expression>
<![CDATA[int u = round(X*31), v = round(Y*31);

if(u == 0 || u == 31 || v == 0 || v == 31)
{
  Pixel = 1;
}
else
{
  Pixel.R = X;
  Pixel.G = Y;
  Pixel.B = 1-X;
}]]>
          </Expression>
        </BitmapExpression>
      </Producers>
    </Bitmap>
    <Material Name="MaterialGeneratedMirror">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow"/>
      </Textures>
    </Material>
    <Material Name="MaterialGeneratedTile">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow" TextureWrapMode="1"/>
      </Textures>
    </Material>
    <Material Name="MaterialGeneratedClamp">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow" TextureWrapMode="2"/>
      </Textures>
    </Material>
    <Material Name="MaterialModelDefinedMirror">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow" TexCoords="1"/>
      </Textures>
    </Material>
    <Material Name="MaterialModelDefinedTile">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow" TextureWrapMode="1" TexCoords="1"/>
      </Textures>
    </Material>
    <Material Name="MaterialModelDefinedClamp">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow" TextureWrapMode="2" TexCoords="1"/>
      </Textures>
    </Material>
    <Mesh Name="SquareMesh">
      <Producers>
        <MeshBox Grid2DOnly="255"/>
      </Producers>
    </Mesh>
    <Bitmap Name="BitmapClouds">
      <Producers>
        <BitmapNoise Name="BitmapCloud" Octaves="5" Offset="0.34" ZHeight="4.7332"/>
        <BitmapBlur Radius="3" Amplify="1.1" Kind="2"/>
      </Producers>
    </Bitmap>
    <Material Name="MaterialClouds">
      <Textures>
        <MaterialTexture Name="MaterialCloudTexture" Texture="BitmapClouds" TextureRotate="-0.6469" TextureWrapMode="1" TexCoords="1"/>
      </Textures>
    </Material>
    <Bitmap Name="BitmapCells" Width="256" Height="256">
      <Producers>
        <BitmapCells Name="BitmapCell" UsedMetrics="3" RandomSeed="297" BorderPixels="0" PointCount="6"/>
        <BitmapBlur Radius="1"/>
      </Producers>
    </Bitmap>
    <Material Name="MaterialCells">
      <Textures>
        <MaterialTexture Texture="BitmapCells" TextureWrapMode="1" TexCoords="1"/>
      </Textures>
    </Material>
  </Content>
</ZApplication>
On Android 64, with threads activated, it can crash right away, or after several minutes. It always gives this error :

Code: Select all

********** Crash dump: **********
Build fingerprint: 'google/cheetah/cheetah:14/AP2A.240905.003/12231197:user/release-keys'
Abort message: 'Scudo ERROR: corrupted chunk header at address 0x20000797259d830'
#00 0x000000000005d8e4 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#01 0x0000000000048d18 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::die()+8) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#02 0x00000000000499ec /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportRawError(char const*)+28) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#03 0x000000000004995c /apex/com.android.runtime/lib64/bionic/libc.so (scudo::ScopedErrorReport::~ScopedErrorReport()+12) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#04 0x0000000000049ac0 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportHeaderCorruption(void*)+96) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#05 0x000000000004bab4 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::Allocator<scudo::AndroidNormalConfig, &(scudo_malloc_postinit)>::deallocate(void*, scudo::Chunk::Origin, unsigned long, unsigned long)+276) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#06 0x00000000022df41c /memfd:jit-cache (deleted) (offset 0x2000000) (art_jni_trampoline+140)
#07 0x00000000022ad23c /memfd:jit-cache (deleted) (offset 0x2000000) (libcore.util.NativeAllocationRegistry$CleanerThunk.run+156)
#08 0x00000000022acde8 /memfd:jit-cache (deleted) (offset 0x2000000) (sun.misc.Cleaner.clean+248)
#09 0x000000000036db74 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#10 0x00000000003671e4 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+1928) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#11 0x000000000076e170 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#12 0x00000000003869d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#13 0x000000000012b6fc /apex/com.android.art/javalib/core-oj.jar (java.lang.ref.ReferenceQueue.enqueuePending+0)
#14 0x0000000000359650 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.4560577758463694485)+428) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#15 0x0000000000367a78 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#16 0x000000000076e170 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#17 0x00000000003869d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#18 0x000000000002c164 /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$ReferenceQueueDaemon.runInternal+0)
#19 0x0000000000359650 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.4560577758463694485)+428) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#20 0x0000000000367a78 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#21 0x000000000076e170 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#22 0x00000000003869d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#23 0x000000000002b314 /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$Daemon.run+0)
#24 0x0000000000359650 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.4560577758463694485)+428) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#25 0x0000000000367a78 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#26 0x000000000076e170 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#27 0x00000000003869d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#28 0x0000000000117a28 /apex/com.android.art/javalib/core-oj.jar (java.lang.Thread.run+0)
#29 0x00000000003589dc /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1932) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#30 0x0000000000384498 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#31 0x000000000036db74 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#32 0x0000000000359324 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+132) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#33 0x0000000000944438 /apex/com.android.art/lib64/libart.so (_ZN3art9ArtMethod14InvokeInstanceILc86ETpTncJEEENS_6detail12ShortyTraitsIXT_EE4TypeEPNS_6ThreadENS_6ObjPtrINS_6mirror6ObjectEEEDpNS3_IXT0_EE4TypeE+60) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#34 0x00000000006209f4 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1344) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#35 0x00000000006204a4 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallbackWithUffdGc(void*)+8) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#36 0x000000000006efbc /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#37 0x0000000000060d60 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
Crash dump is completed
But it doesn't seem to crash with threads deactivated.
And I wasn't able to get that crash on the old 32/64 bit phone. But it doesn't support the Color/OneMinusSourceColor blend effect either, so maybe it comes from that? I don't know.
Screenshot_20241021-125511.png
Screenshot_20241021-125511.png (593.96 KiB) Viewed 3025 times
Edit:
I deactivated the blend effect and still get that weird inverted cubes on the old phone.
And I got it to crash too:

Code: Select all

********** Crash dump: **********
Build fingerprint: 'google/sargo/sargo:12/SP2A.220505.008/8782922:user/release-keys'
Abort message: 'Scudo ERROR: corrupted chunk header at address 0x2000071b6151970
#00 0x000000000004facc /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#01 0x0000000000040364 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::die()+8) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#02 0x0000000000040a10 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::ScopedErrorReport::~ScopedErrorReport()+32) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#03 0x0000000000040ad8 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportHeaderCorruption(void*)+60) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#04 0x0000000000042238 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::Allocator<scudo::AndroidConfig, &(scudo_malloc_postinit)>::deallocate(void*, scudo::Chunk::Origin, unsigned long, unsigned long)+296) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#05 0x0000000000378f70 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144) (BuildId: 1ee2c234829500686eefa384068e67c8)
#06 0x0000000000362a40 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640) (BuildId: 1ee2c234829500686eefa384068e67c8)
#07 0x000000000035bd94 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+2048) (BuildId: 1ee2c234829500686eefa384068e67c8)
#08 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#09 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#10 0x000000000003fb10 /apex/com.android.art/javalib/core-libart.jar (libcore.util.NativeAllocationRegistry$CleanerThunk.run+0)
#11 0x000000000034e21c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.2845697060370838518)+428) (BuildId: 1ee2c234829500686eefa384068e67c8)
#12 0x000000000035c5b0 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 1ee2c234829500686eefa384068e67c8)
#13 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#14 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#15 0x00000000002c21f4 /apex/com.android.art/javalib/core-oj.jar (sun.misc.Cleaner.clean+0)
#16 0x000000000034e21c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.2845697060370838518)+428) (BuildId: 1ee2c234829500686eefa384068e67c8)
#17 0x000000000035c5b0 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 1ee2c234829500686eefa384068e67c8)
#18 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#19 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#20 0x000000000012b6fc /apex/com.android.art/javalib/core-oj.jar (java.lang.ref.ReferenceQueue.enqueuePending+0)
#21 0x000000000034e21c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.2845697060370838518)+428) (BuildId: 1ee2c234829500686eefa384068e67c8)
#22 0x000000000035c5b0 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 1ee2c234829500686eefa384068e67c8)
#23 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#24 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#25 0x000000000002c164 /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$ReferenceQueueDaemon.runInternal+0)
#26 0x000000000034e21c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.2845697060370838518)+428) (BuildId: 1ee2c234829500686eefa384068e67c8)
#27 0x000000000035c5b0 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 1ee2c234829500686eefa384068e67c8)
#28 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#29 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#30 0x000000000002b314 /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$Daemon.run+0)
#31 0x000000000034e21c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.2845697060370838518)+428) (BuildId: 1ee2c234829500686eefa384068e67c8)
#32 0x000000000035c5b0 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 1ee2c234829500686eefa384068e67c8)
#33 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#34 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#35 0x0000000000117a28 /apex/com.android.art/javalib/core-oj.jar (java.lang.Thread.run+0)
#36 0x000000000034d5a8 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1932) (BuildId: 1ee2c234829500686eefa384068e67c8)
#37 0x0000000000379098 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 1ee2c234829500686eefa384068e67c8)
#38 0x0000000000362774 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: 1ee2c234829500686eefa384068e67c8)
#39 0x000000000034def0 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+132) (BuildId: 1ee2c234829500686eefa384068e67c8)
#40 0x0000000000943e28 /apex/com.android.art/lib64/libart.so (_ZN3art9ArtMethod14InvokeInstanceILc86ETpTncJEEENS_6detail12ShortyTraitsIXT_EE4TypeEPNS_6ThreadENS_6ObjPtrINS_6mirror6ObjectEEEDpNS3_IXT0_EE4TypeE+60) (BuildId: 1ee2c234829500686eefa384068e67c8)
#41 0x000000000063ebd4 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1344) (BuildId: 1ee2c234829500686eefa384068e67c8)
#42 0x00000000000b1810 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#43 0x00000000000512f0 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
Crash dump is completed
Edit 2:
Wow... The cubes are rendered inverted only if both
@RefreshContent(Component:BitmapClouds);
@RefreshContent(Component:BitmapCells);
are called...
User avatar
VilleK
Site Admin
Posts: 2365
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

Ats wrote: Mon Oct 21, 2024 10:03 am So I made a simple BitmapExpression frenzy example:
I added this line to your example because otherwise the BitmapExpression is only updated at startup:

Code: Select all

@RefreshContent(Component:BitmapRainbow);
Can you reproduce the crash with a debugger attached?
User avatar
Ats
Posts: 791
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

BitmapRainbow isn't supposed to be refreshed in this example :? ?
I stripped down the example even more:

Code: Select all

<?xml version="1.0" encoding="iso-8859-1" ?>
<ZApplication Name="App" Caption="Omeganaut" ClearColor="0.502 0.502 1 1" AmbientLightColor="1 1 1 1" FullScreen="255" FrameRateStyle="1" ScreenMode="0" CameraPosition="0 0 14" MouseVisible="255" FileVersion="2" PreviewClearColor="0 0 0 1" AndroidPackageName="com.txori.omeganaut" AndroidPortrait="2">
  <OnLoaded>
    <ZLibrary HasInitializer="1">
      <Source>
<![CDATA[int frame = 0;
int timer = 0;]]>
      </Source>
    </ZLibrary>
    <ZExpression>
      <Expression>
<![CDATA[
BitmapCloud.ZHeight = 0;
BitmapCell.RandomSeed = 0;]]>
      </Expression>
    </ZExpression>
  </OnLoaded>
  <OnUpdate>
    <ZExpression>
      <Expression>
<![CDATA[@RefreshContent(Component:BitmapClouds);
@RefreshContent(Component:BitmapCells);]]>
      </Expression>
    </ZExpression>
  </OnUpdate>
  <OnRender>
    <Repeat Name="repeat" Count="6">
      <OnIteration>
        <ZExpression>
          <Expression>
<![CDATA[int i = repeat.Iteration;
transform.Translate.X = -2.5+(i%3)*2.5;
transform.Translate.Y = 1.5-(i/3)*3;

switch(i) {
case 0: @UseMaterial(Material:MaterialGeneratedMirror); break;
case 1: @UseMaterial(Material:MaterialGeneratedTile); break;
case 2: @UseMaterial(Material:MaterialGeneratedClamp); break;
case 3: @UseMaterial(Material:MaterialModelDefinedMirror); break;
case 4: @UseMaterial(Material:MaterialModelDefinedTile); break;
case 5: @UseMaterial(Material:MaterialModelDefinedClamp); break;
}]]>
          </Expression>
        </ZExpression>
        <RenderTransformGroup Name="transform" Translate="2.5 -1.5 0">
          <Children>
            <RenderTransform Rotate="0.1 0.1 0"/>
            <RenderMesh Mesh="CubeMesh"/>
          </Children>
        </RenderTransformGroup>
      </OnIteration>
    </Repeat>
  </OnRender>
  <Content>
    <Mesh Name="CubeMesh">
      <Producers>
        <MeshBox/>
      </Producers>
    </Mesh>
    <Bitmap Name="BitmapRainbow" Width="32" Height="32" Filter="1">
      <Producers>
        <BitmapExpression>
          <Expression>
<![CDATA[int u = round(X*31), v = round(Y*31);

if(u == 0 || u == 31 || v == 0 || v == 31)
{
  Pixel = 1;
}
else
{
  Pixel.R = X;
  Pixel.G = Y;
  Pixel.B = 1-X;
}]]>
          </Expression>
        </BitmapExpression>
      </Producers>
    </Bitmap>
    <Material Name="MaterialGeneratedMirror">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow"/>
      </Textures>
    </Material>
    <Material Name="MaterialGeneratedTile">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow" TextureWrapMode="1"/>
      </Textures>
    </Material>
    <Material Name="MaterialGeneratedClamp">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow" TextureWrapMode="2"/>
      </Textures>
    </Material>
    <Material Name="MaterialModelDefinedMirror">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow" TexCoords="1"/>
      </Textures>
    </Material>
    <Material Name="MaterialModelDefinedTile">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow" TextureWrapMode="1" TexCoords="1"/>
      </Textures>
    </Material>
    <Material Name="MaterialModelDefinedClamp">
      <Textures>
        <MaterialTexture Texture="BitmapRainbow" TextureWrapMode="2" TexCoords="1"/>
      </Textures>
    </Material>
    <Bitmap Name="BitmapClouds" Width="256" Height="256">
      <Producers>
        <BitmapNoise Name="BitmapCloud" Octaves="5" Offset="0.34" ZHeight="4.7332"/>
        <BitmapBlur Radius="3" Amplify="1.1" Kind="2"/>
      </Producers>
    </Bitmap>
    <Bitmap Name="BitmapCells" Width="256" Height="256">
      <Producers>
        <BitmapCells Name="BitmapCell" UsedMetrics="3" RandomSeed="297" BorderPixels="0" PointCount="6"/>
        <BitmapBlur Radius="1"/>
      </Producers>
    </Bitmap>
  </Content>
</ZApplication>
The problem only appears if both @RefreshContent are used.
With this, the cubes are rendered inverted on the (not so) old phone... But is rendering perfectly on the 64bit only phone.
Can you reproduce the crash with a debugger attached?
You mean the full thing with all the traces I added to the code? I hope it is going to crash right away, otherwise this is going to be long :lol:
Otherwise, it is just:

Code: Select all

10-21 14:27:34.653 30917 30917 E ZgeAndroid: /storage/emulated/0
10-21 14:27:34.653 30917 30917 E ZgeAndroid: /data/user/0/com.txori.omeganaut/files/
10-21 14:27:34.653 30917 30917 E ZgeAndroid: /data/app/~~Gn7RcUZnTxWukLMllNaJwA==/com.txori.omeganaut-zV-9Rs0o6boLH4QrcYiZqA==/lib/arm64/
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: JNI_OnLoad
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glDepthRange
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glGenLists
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glMateriali
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glIndexMask
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glListBase
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glBegin
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glCallList
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glColor3f
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glColor3fv
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glColor4fv
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glEnd
10-21 14:27:34.655 30917 30917 E ZgeAndroid: Function not found: glColorMaterial
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glDeleteLists
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glDrawBuffer
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glGetTexImage
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glPolygonMode
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glPopAttrib
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glPushAttrib
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glRasterPos2f
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glTexCoord2f
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glVertex2f
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glVertex3f
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glTexGeni
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glAttachShader
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glBindAttribLocation
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glCompileShader
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glCreateShader
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glCreateProgram
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glDeleteShader
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glDeleteProgram
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glDetachShader
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glGetProgramiv
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glGetShaderiv
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glGetShaderInfoLog
10-21 14:27:34.656 30917 30917 E ZgeAndroid: Function not found: glGetProgramInfoLog
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glValidateProgram
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glGetUniformLocation
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glLinkProgram
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glShaderSource
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glUniform3fv
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glUniform1f
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glUniform4fv
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glUniform2fv
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glUniform1i
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glUniform1fv
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glUniformMatrix3fv
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glUniformMatrix4fv
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glUseProgram
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glIsRenderbuffer
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glBindRenderbuffer
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glDeleteRenderbuffers
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glGenRenderbuffers
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glRenderbufferStorage
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glBindFramebuffer
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glDeleteFramebuffers
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glGenFramebuffers
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glCheckFramebufferStatus
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glFramebufferTexture2D
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glFramebufferRenderbuffer
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glGenerateMipmap
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glRenderbufferStorageMultisample
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glTexImage2DMultisample
10-21 14:27:34.657 30917 30917 E ZgeAndroid: Function not found: glBlitFramebuffer
10-21 14:27:34.658 30917 30917 E ZgeAndroid: Function not found: glDisableVertexAttribArray
10-21 14:27:34.658 30917 30917 E ZgeAndroid: Function not found: glEnableVertexAttribArray
10-21 14:27:34.658 30917 30917 E ZgeAndroid: Function not found: glVertexAttribPointer
10-21 14:27:34.658 30917 30917 E ZgeAndroid: GLBase: 1.1
10-21 14:27:34.842 30917 30917 E ZgeAndroid: CPUs: 8
User avatar
VilleK
Site Admin
Posts: 2365
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

Perhaps we are looking at two different problems here. If you get crash only when Tasks.Enabled = true then I suggest you make a test project that only has a MeshExpression and a BitmapExpression and that are both refreshed using RefreshContent each frame. That should stress test the problem.
User avatar
Ats
Posts: 791
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

I think it is an entirely new and weird problem. So let's forget the old phone for now. I made this thing (maybe @Kjell can make a better looking one :lol:) :

Code: Select all

<?xml version="1.0" encoding="iso-8859-1" ?>
<ZApplication Name="App" Caption="Omeganaut" ClearColor="0.502 0.502 1 1" AmbientLightColor="1 1 1 1" FullScreen="255" FrameRateStyle="1" ScreenMode="0" CameraPosition="0 0 14" MouseVisible="255" FileVersion="2" PreviewClearColor="0 0 0 1" AndroidPackageName="com.txori.omeganaut" AndroidPortrait="2">
  <OnLoaded>
    <ZLibrary Source="int frame = 0;" HasInitializer="1"/>
    <ZExpression Expression="BitmapCloud.ZHeight = 0;"/>
  </OnLoaded>
  <OnUpdate>
    <ZExpression>
      <Expression>
<![CDATA[frame++;

BitmapCloud.ZHeight += App.DeltaTime;
@RefreshContent(Component:BitmapClouds);

@RefreshContent(Component:SphereExpression);]]>
      </Expression>
    </ZExpression>
  </OnUpdate>
  <OnRender>
    <UseMaterial Material="MaterialCloud"/>
    <RenderMesh Mesh="TheMesh"/>
  </OnRender>
  <Content>
    <Bitmap Name="BitmapClouds">
      <Producers>
        <BitmapNoise Name="BitmapCloud" Octaves="5" Offset="0.34" ZHeight="11.9554"/>
        <BitmapBlur Radius="3" Amplify="1.1" Kind="2"/>
      </Producers>
    </Bitmap>
    <Material Name="MaterialCloud">
      <Textures>
        <MaterialTexture Texture="BitmapClouds" TexCoords="1"/>
      </Textures>
    </Material>
    <Mesh Name="TheMesh">
      <Producers>
        <MeshBox Scale="2 2 2" XCount="1" YCount="32"/>
        <MeshExpression Name="SphereExpression" HasTexCoords="255">
          <Expression>
<![CDATA[V.X = 4*cos(frame *V.Y*0.01);
V.Y = 4*sin(frame *V.X*0.01);]]>
          </Expression>
        </MeshExpression>
      </Producers>
    </Mesh>
  </Content>
</ZApplication>
That gives the same error on android 64:

Code: Select all

********** Crash dump: **********
Build fingerprint: 'google/cheetah/cheetah:14/AP2A.240905.003/12231197:user/release-keys'
Abort message: 'Scudo ERROR: corrupted chunk header at address 0x20000797259d8d0'
#00 0x000000000005d8e4 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#01 0x0000000000048d18 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::die()+8) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#02 0x00000000000499ec /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportRawError(char const*)+28) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#03 0x000000000004995c /apex/com.android.runtime/lib64/bionic/libc.so (scudo::ScopedErrorReport::~ScopedErrorReport()+12) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#04 0x0000000000049ac0 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportHeaderCorruption(void*)+96) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#05 0x000000000004bab4 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::Allocator<scudo::AndroidNormalConfig, &(scudo_malloc_postinit)>::deallocate(void*, scudo::Chunk::Origin, unsigned long, unsigned long)+276) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#06 0x00000000022dfd3c /memfd:jit-cache (deleted) (offset 0x2000000) (art_jni_trampoline+140)
#07 0x00000000022adeec /memfd:jit-cache (deleted) (offset 0x2000000) (libcore.util.NativeAllocationRegistry$CleanerThunk.run+156)
#08 0x00000000022ada98 /memfd:jit-cache (deleted) (offset 0x2000000) (sun.misc.Cleaner.clean+248)
#09 0x000000000036db74 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#10 0x00000000003671e4 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+1928) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#11 0x000000000076e170 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#12 0x00000000003869d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#13 0x000000000012b6fc /apex/com.android.art/javalib/core-oj.jar (java.lang.ref.ReferenceQueue.enqueuePending+0)
#14 0x0000000000359650 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.4560577758463694485)+428) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#15 0x0000000000367a78 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#16 0x000000000076e170 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#17 0x00000000003869d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#18 0x000000000002c164 /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$ReferenceQueueDaemon.runInternal+0)
#19 0x0000000000359650 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.4560577758463694485)+428) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#20 0x0000000000367a78 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#21 0x000000000076e170 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#22 0x00000000003869d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#23 0x000000000002b314 /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$Daemon.run+0)
#24 0x0000000000359650 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.4560577758463694485)+428) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#25 0x0000000000367a78 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#26 0x000000000076e170 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#27 0x00000000003869d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#28 0x0000000000117a28 /apex/com.android.art/javalib/core-oj.jar (java.lang.Thread.run+0)
#29 0x00000000003589dc /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1932) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#30 0x0000000000384498 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#31 0x000000000036db74 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#32 0x0000000000359324 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+132) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#33 0x0000000000944438 /apex/com.android.art/lib64/libart.so (_ZN3art9ArtMethod14InvokeInstanceILc86ETpTncJEEENS_6detail12ShortyTraitsIXT_EE4TypeEPNS_6ThreadENS_6ObjPtrINS_6mirror6ObjectEEEDpNS3_IXT0_EE4TypeE+60) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#34 0x00000000006209f4 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1344) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#35 0x00000000006204a4 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallbackWithUffdGc(void*)+8) (BuildId: 3f7d5a016e08d528f129bdd336d81168)
#36 0x000000000006efbc /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
#37 0x0000000000060d60 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
Crash dump is completed
And here's the full logcat:
Attachments
log.zip
(73.84 KiB) Downloaded 76 times
User avatar
Kjell
Posts: 1921
Joined: Sat Feb 23, 2008 11:15 pm

Re: Google Play New problem : 64bits

Post by Kjell »

Hi Ats,
Ats wrote: Mon Oct 21, 2024 10:03 amI deactivated the blend effect and still get that weird inverted cubes on the old phone.
Hmm .. i suspect this might be caused by GLESPixelsFromTexture executing at the wrong time. That function temporarily disables depth testing and face culling when using ES 1.0.

K
User avatar
VilleK
Site Admin
Posts: 2365
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

Kjell wrote: Mon Oct 21, 2024 2:29 pm Hmm .. i suspect this might be caused by GLESPixelsFromTexture executing at the wrong time. That function temporarily disables depth testing and face culling when using ES 1.0.
I see, yes. This would paint pixels on the screen but since it it uses push/pop attrib it should restore those settings. If the glPushAttrib emulation function is working as it should.
User avatar
Kjell
Posts: 1921
Joined: Sat Feb 23, 2008 11:15 pm

Re: Google Play New problem : 64bits

Post by Kjell »

Hi Ats,

After some digging & PM'ing with Ville .. the "inverted" problem is probably caused by glGetIntegerv not being implemented fully ( GL_DEPTH_TEST and GL_CULL_FACE are missing ) in the ES1.x emulation layer used by modern Android devices.

So if you're developing a project that targets ES1.x, you should be able to fix the issue by activating a dummy Material that has ZBuffer=disabled and DrawBackFace=enabled immediately after refreshing your Bitmaps.

K
User avatar
Ats
Posts: 791
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

Adding the dummy material worked perfectly. Sorry for finding brand-new bugs while trying to correct other ones :lol:

By the way, while testing the repaired backface example, I found out that the 'Scudo ERROR' bug listed before is happening right out of the start, regardless of threads activated or not, when :

for 64 bits:
  • Happens very easily after installing + launching the app with run.bat (1 out of 3)
  • Can happen when launching the app from the phone (1 out of 10)
for 32 bits only:
  • It NEVER happens (0 out of 200)
Same results with dummy app, or Omeganaut.

Does ZGE allocate or deallocate memory at launch or something like that? Maybe we need to set something different with the trampoline for Android 64 bits?

Here's the last log that I got when having that bug.
Attachments
log.zip
(26.98 KiB) Downloaded 77 times
User avatar
VilleK
Site Admin
Posts: 2365
Joined: Mon Jan 15, 2007 4:50 pm
Location: Stockholm, Sweden
Contact:

Re: Google Play New problem : 64bits

Post by VilleK »

Looking at the end of the callstack, it seems it triggers in a OpenGL call from TZApplication.UpdateScreen.

Code: Select all

#31 pc 00000000001872ec  /vendor/lib64/egl/libGLESv2_adreno.so
#32 pc 0000000000041d00  libzgeandroid.so (ZAPPLICATION$_$TZAPPLICATION_$__$$_UPDATESCREEN+200) 
There are not many GL-calls in UpdateScreen. You could try commenting out the glFlush call and see what happens.
User avatar
Ats
Posts: 791
Joined: Fri Sep 28, 2012 10:05 am
Contact:

Re: Google Play New problem : 64bits

Post by Ats »

I didn't see that line yesterday evening.
I was currently adding traces in GenerateTrampoline, TExpExternalFuncCall.Execute and TExpExternalFuncCall.Destroy.
Omeganaut is tracing them, but simpler examples such as the previous inverted cubes does not even enter those functions when running. And since both app can crash with the same error log, it is not coming from that, I guess.

So I added logs to TZApplication.UpdateScreen, and I'm not sure if it verifies anything.
When I run the app, I can get one of those two crashes right from the start:

Code: Select all

10-23 11:15:03.188 26591 26613 E ZgeAndroid: UpdateScreen: Starting screen update
10-23 11:15:03.188 26591 26613 E ZgeAndroid: UpdateScreen: Starting render pass 0
10-23 11:15:03.188 26591 26613 E ZgeAndroid: UpdateScreen: Updating viewport
10-23 11:15:03.188 26591 26613 E ZgeAndroid: UpdateScreen: Applying camera transform
10-23 11:15:03.188 26591 26613 E ZgeAndroid: UpdateScreen: Clearing screen with ClearColor
10-23 11:15:03.188 26591 26613 E ZgeAndroid: UpdateScreen: Setting ambient light color
10-23 11:15:03.188 26591 26613 E ZgeAndroid: UpdateScreen: Applying default light
10-23 11:15:03.188 26591 26613 E ZgeAndroid: UpdateScreen: Enabling default material
10-23 11:15:03.188 26591 26613 E ZgeAndroid: UpdateScreen: Rendering models
10-23 11:15:03.188 26591 26613 E ZgeAndroid: UpdateScreen: Rendering application and current state
10-23 11:15:03.189 26591 26613 E ZgeAndroid: CPUs: 8
10-23 11:15:03.214 26591 26613 E ZgeAndroid: UpdateScreen: Re-enabling default material
10-23 11:15:03.214 26591 26613 E ZgeAndroid: UpdateScreen: Flushing OpenGL commands
10-23 11:15:03.215 26591 26613 E ZgeAndroid: UpdateScreen: Swapping buffers
10-23 11:15:03.215 26591 26613 E ZgeAndroid: UpdateScreen: Screen update finished
10-23 11:15:03.395 26591 26613 E ZgeAndroid: UpdateScreen: Starting screen update
10-23 11:15:03.395 26591 26613 E ZgeAndroid: UpdateScreen: Starting render pass 0
10-23 11:15:03.395 26591 26613 E ZgeAndroid: UpdateScreen: Updating viewport
10-23 11:15:03.395 26591 26613 E ZgeAndroid: UpdateScreen: Applying camera transform
10-23 11:15:03.395 26591 26613 E ZgeAndroid: UpdateScreen: Clearing screen with ClearColor
10-23 11:15:03.396 26591 26613 E ZgeAndroid: UpdateScreen: Setting ambient light color
10-23 11:15:03.396 26591 26613 E ZgeAndroid: UpdateScreen: Applying default light
10-23 11:15:03.396 26591 26613 E ZgeAndroid: UpdateScreen: Enabling default material
10-23 11:15:03.396 26591 26613 E ZgeAndroid: UpdateScreen: Rendering models
10-23 11:15:03.396 26591 26613 E ZgeAndroid: UpdateScreen: Rendering application and current state
10-23 11:15:03.396 26591 26613 E ZgeAndroid: UpdateScreen: Re-enabling default material
10-23 11:15:03.396 26591 26613 E ZgeAndroid: UpdateScreen: Flushing OpenGL commands
10-23 11:15:03.397 26591 26613 E ZgeAndroid: UpdateScreen: Swapping buffers
10-23 11:15:03.397 26591 26613 E ZgeAndroid: UpdateScreen: Screen update finished
With this crash log:

Code: Select all

********** Crash dump: **********
Build fingerprint: 'google/sargo/sargo:12/SP2A.220505.008/8782922:user/release-keys'
Abort message: 'Scudo ERROR: corrupted chunk header at address 0x2000070145df1d0
#00 0x000000000004facc /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#01 0x0000000000040364 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::die()+8) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#02 0x0000000000040a10 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::ScopedErrorReport::~ScopedErrorReport()+32) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#03 0x0000000000040ad8 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportHeaderCorruption(void*)+60) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#04 0x0000000000042238 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::Allocator<scudo::AndroidConfig, &(scudo_malloc_postinit)>::deallocate(void*, scudo::Chunk::Origin, unsigned long, unsigned long)+296) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#05 0x0000000000378f70 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+144) (BuildId: 1ee2c234829500686eefa384068e67c8)
#06 0x0000000000362a40 /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640) (BuildId: 1ee2c234829500686eefa384068e67c8)
#07 0x000000000035bd94 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+2048) (BuildId: 1ee2c234829500686eefa384068e67c8)
#08 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#09 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#10 0x000000000003fb10 /apex/com.android.art/javalib/core-libart.jar (libcore.util.NativeAllocationRegistry$CleanerThunk.run+0)
#11 0x000000000034e21c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.2845697060370838518)+428) (BuildId: 1ee2c234829500686eefa384068e67c8)
#12 0x000000000035c5b0 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 1ee2c234829500686eefa384068e67c8)
#13 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#14 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#15 0x00000000002c21f4 /apex/com.android.art/javalib/core-oj.jar (sun.misc.Cleaner.clean+0)
#16 0x000000000034e21c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.2845697060370838518)+428) (BuildId: 1ee2c234829500686eefa384068e67c8)
#17 0x000000000035c5b0 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 1ee2c234829500686eefa384068e67c8)
#18 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#19 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#20 0x000000000012b6fc /apex/com.android.art/javalib/core-oj.jar (java.lang.ref.ReferenceQueue.enqueuePending+0)
#21 0x000000000034e21c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.2845697060370838518)+428) (BuildId: 1ee2c234829500686eefa384068e67c8)
#22 0x000000000035c5b0 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 1ee2c234829500686eefa384068e67c8)
#23 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#24 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#25 0x000000000002c164 /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$ReferenceQueueDaemon.runInternal+0)
#26 0x000000000034e21c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.2845697060370838518)+428) (BuildId: 1ee2c234829500686eefa384068e67c8)
#27 0x000000000035c5b0 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 1ee2c234829500686eefa384068e67c8)
#28 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#29 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#30 0x000000000002b314 /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$Daemon.run+0)
#31 0x000000000034e21c /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.__uniq.112435418011751916792819755956732575238.llvm.2845697060370838518)+428) (BuildId: 1ee2c234829500686eefa384068e67c8)
#32 0x000000000035c5b0 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, bool, art::JValue*)+4124) (BuildId: 1ee2c234829500686eefa384068e67c8)
#33 0x000000000076df64 /apex/com.android.art/lib64/libart.so (void art::interpreter::ExecuteSwitchImplCpp<false>(art::interpreter::SwitchImplContext*)+12208) (BuildId: 1ee2c234829500686eefa384068e67c8)
#34 0x000000000037b5d8 /apex/com.android.art/lib64/libart.so (ExecuteSwitchImplAsm+8) (BuildId: 1ee2c234829500686eefa384068e67c8)
#35 0x0000000000117a28 /apex/com.android.art/javalib/core-oj.jar (java.lang.Thread.run+0)
#36 0x000000000034d5a8 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1932) (BuildId: 1ee2c234829500686eefa384068e67c8)
#37 0x0000000000379098 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 1ee2c234829500686eefa384068e67c8)
#38 0x0000000000362774 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612) (BuildId: 1ee2c234829500686eefa384068e67c8)
#39 0x000000000034def0 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+132) (BuildId: 1ee2c234829500686eefa384068e67c8)
#40 0x0000000000943e28 /apex/com.android.art/lib64/libart.so (_ZN3art9ArtMethod14InvokeInstanceILc86ETpTncJEEENS_6detail12ShortyTraitsIXT_EE4TypeEPNS_6ThreadENS_6ObjPtrINS_6mirror6ObjectEEEDpNS3_IXT0_EE4TypeE+60) (BuildId: 1ee2c234829500686eefa384068e67c8)
#41 0x000000000063ebd4 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1344) (BuildId: 1ee2c234829500686eefa384068e67c8)
#42 0x00000000000b1810 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#43 0x00000000000512f0 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
Crash dump is completed

Or that one:

Code: Select all

10-23 11:16:27.477 26696 26734 E ZgeAndroid: UpdateScreen: Starting screen update
10-23 11:16:27.478 26696 26734 E ZgeAndroid: UpdateScreen: Starting render pass 0
10-23 11:16:27.478 26696 26734 E ZgeAndroid: UpdateScreen: Updating viewport
10-23 11:16:27.478 26696 26734 E ZgeAndroid: UpdateScreen: Applying camera transform
10-23 11:16:27.478 26696 26734 E ZgeAndroid: UpdateScreen: Clearing screen with ClearColor
10-23 11:16:27.478 26696 26734 E ZgeAndroid: UpdateScreen: Setting ambient light color
10-23 11:16:27.478 26696 26734 E ZgeAndroid: UpdateScreen: Applying default light
10-23 11:16:27.478 26696 26734 E ZgeAndroid: UpdateScreen: Enabling default material
10-23 11:16:27.478 26696 26734 E ZgeAndroid: UpdateScreen: Rendering models
10-23 11:16:27.478 26696 26734 E ZgeAndroid: UpdateScreen: Rendering application and current state
10-23 11:16:27.478 26696 26734 E ZgeAndroid: CPUs: 8
With this crash log:

Code: Select all

********** Crash dump: **********
Build fingerprint: 'google/sargo/sargo:12/SP2A.220505.008/8782922:user/release-keys'
Abort message: 'Scudo ERROR: corrupted chunk header at address 0x2000070145e0af0
#00 0x000000000004facc /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#01 0x0000000000040364 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::die()+8) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#02 0x0000000000040a10 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::ScopedErrorReport::~ScopedErrorReport()+32) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#03 0x0000000000040ad8 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportHeaderCorruption(void*)+60) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#04 0x0000000000042238 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::Allocator<scudo::AndroidConfig, &(scudo_malloc_postinit)>::deallocate(void*, scudo::Chunk::Origin, unsigned long, unsigned long)+296) (BuildId: cd7952cb40d1a2deca6420c2da7910be)
#05 0x0000000000216c54 /vendor/lib64/libllvm-glnext.so (!!!0000!42f27a605c8ab1cde0f82aa028959f!781e7d0!+4052) (BuildId: 667eaf842f14e883b58806d6da95fbda)
#06 0x0000000000214d10 /vendor/lib64/libllvm-glnext.so (!!!0000!4318d8ed047ac0a2c63359d8f65122!781e7d0!+16) (BuildId: 667eaf842f14e883b58806d6da95fbda)
#07 0x00000000007c3074 /vendor/lib64/libllvm-glnext.so (!!!0000!349710a61ef202d86ab9fcab53d6c8!781e7d0!+136) (BuildId: 667eaf842f14e883b58806d6da95fbda)
#08 0x0000000000872970 /vendor/lib64/libllvm-glnext.so (QGLCLinkProgram(void*, unsigned int, QGLC_SRCSHADER_IRSHADER**, QGLC_LINKPROGRAM_DATA*, QGLC_LINKPROGRAM_RESULT*)+124) (BuildId: 667eaf842f14e883b58806d6da95fbda)
#09 0x0000000000212fe4 /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!21c3d0e01b653442370882debb8a54!781e7d0!+2516) (BuildId: ff1097fb39e8bf5a42c6adfc673009a8)
#10 0x00000000001e7fc4 /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!8b96d97b28460c2822a5897b3ff6e2!781e7d0!+436) (BuildId: ff1097fb39e8bf5a42c6adfc673009a8)
#11 0x0000000000130a68 /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!5094ab766f406130e15d3aad524265!781e7d0!+88) (BuildId: ff1097fb39e8bf5a42c6adfc673009a8)
#12 0x000000000002ba50 /vendor/lib64/egl/libGLESv1_CM_adreno.so (gliSetShaderProgram+1664) (BuildId: ef219156adf1d883c02f44e4c1fc04b2)
#13 0x00000000000225e0 /vendor/lib64/egl/libGLESv1_CM_adreno.so (validateShadowState+7272) (BuildId: ef219156adf1d883c02f44e4c1fc04b2)
#14 0x0000000000023a2c /vendor/lib64/egl/libGLESv1_CM_adreno.so (glDrawElements+152) (BuildId: ef219156adf1d883c02f44e4c1fc04b2)
#15 0x000000000007c7dc /data/app/~~aWdRCdb2k5chInOGGRdnxw==/com.txori.omeganaut-17HIM0oiQbsuOA9Guxm1GQ==/lib/arm64/libzgeandroid.so (GLDRIVERS$_$TGLDRIVERFIXED_$__$$_RENDERMESH$TMESH+476) (BuildId: 23cb1c17ff785b7cc4fc7ef786aea4b9b20afed1)
Crash dump is completed
Oh, and I added uses cmem,cthreads in ZApplication, ZPlatform_Android and GLDrivers.pas, just in case. It doesn't help :mrgreen:

So I plan to add traces to GLDrivers.pas / RenderMesh...
What is the difference between procedure TGLDriverFixed.RenderMesh(Mesh: TMesh); and procedure TGLDriverProgrammable.RenderMesh(Mesh: TMesh); ?
User avatar
Kjell
Posts: 1921
Joined: Sat Feb 23, 2008 11:15 pm

Re: Google Play New problem : 64bits

Post by Kjell »

Hi Ats,
Ats wrote: Wed Oct 23, 2024 9:46 amWhat is the difference between procedure TGLDriverFixed.RenderMesh(Mesh: TMesh); and procedure TGLDriverProgrammable.RenderMesh(Mesh: TMesh); ?
One is for the fixed-function pipeline ( legacy OpenGL ), the other is for use with shaders ( modern OpenGL ). The fixed-function pipeline had functions specifically for vertex positions / colors / normals / texCoords ... these all got removed in ( for example ) ES 2.0 as they were no longer necessary.

K
Post Reply