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 (593.96 KiB) Viewed 4270 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...