Crash on Android

Hello!
I have the following crash on Android, happens randomly. I can’t see my code anyway in trace.
Any idea what could be the reason?
Thank you!

F/libc    (10035): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 10086 (SDLThread)
I/DEBUG   (  290): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  290): Build fingerprint: 'motorola/surnia_boost/surnia_cdma:5.1/LPI23.29-18-S.12/39:user/release-keys'
I/DEBUG   (  290): Revision: 'p300'
I/DEBUG   (  290): ABI: 'arm'
I/DEBUG   (  290): pid: 10035, tid: 10086, name: SDLThread  >>> air.com.pozirk.allinonesolitaire <<<
I/DEBUG   (  290): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
I/DEBUG   (  290):     r0 00000000  r1 b97f5660  r2 00000000  r3 00000001
I/DEBUG   (  290):     r4 a5d4b860  r5 b97f9850  r6 b97f5660  r7 a5d4b874
I/DEBUG   (  290):     r8 00000001  r9 00000000  sl a5d4b878  fp a5d4b870
I/DEBUG   (  290):     ip b97f5660  sp a3602de8  lr a56fca0c  pc a5aa4658  cpsr 20030030
I/DEBUG   (  290):
I/DEBUG   (  290): backtrace:
I/DEBUG   (  290):     #00 pc 00484658  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/liblime.so
I/DEBUG   (  290):     #01 pc 000dca08  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/liblime.so
I/DEBUG   (  290):     #02 pc 000dcfc8  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/liblime.so
I/DEBUG   (  290):     #03 pc 000660bc  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/liblime.so
I/DEBUG   (  290):     #04 pc 00528204  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (lime::utils::_DataPointe
r::DataPointer_Impl__obj::fromBytesPointer(hx::ObjectPtr<lime::utils::BytePointerData_obj>)+264)
I/DEBUG   (  290):     #05 pc 0079b12c  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (lime::graphics::_WebGL2R
enderContext::WebGL2RenderContext_Impl__obj::uniformMatrix4fv(hx::ObjectPtr<lime::_internal::backend::native::NativeOpenGLRenderContext_obj>
, int, bool, hx::ObjectPtr<lime::utils::ArrayBufferView_obj>, hx::Null<int>, Dynamic)+412)
I/DEBUG   (  290):     #06 pc 007622c0  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (lime::graphics::_WebGLRe
nderContext::WebGLRenderContext_Impl__obj::uniformMatrix4fv(hx::ObjectPtr<lime::_internal::backend::native::NativeOpenGLRenderContext_obj>,
int, bool, hx::ObjectPtr<lime::utils::ArrayBufferView_obj>)+188)
I/DEBUG   (  290):     #07 pc 002a7668  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::ShaderP
arameter_Float_obj::_hx___updateGL(hx::ObjectPtr<openfl::display3D::Context3D_obj>, Array<double>)+4440)
I/DEBUG   (  290):     #08 pc 003ac6c8  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::Shader_
obj::_hx___updateGL()+984)
I/DEBUG   (  290):     #09 pc 003ac0e0  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::Shader_
obj::_hx___update()+76)
I/DEBUG   (  290):     #10 pc 002d1348  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::OpenGLR
enderer_obj::updateShader()+472)
I/DEBUG   (  290):     #11 pc 003e2668  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::_internal::rende
rer::context3D::Context3DBitmap_obj::render(hx::ObjectPtr<openfl::display::Bitmap_obj>, hx::ObjectPtr<openfl::display::OpenGLRenderer_obj>)+
1148)
I/DEBUG   (  290):     #12 pc 0034ad94  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::Bitmap_
obj::_hx___renderGL(hx::ObjectPtr<openfl::display::OpenGLRenderer_obj>)+2140)
I/DEBUG   (  290):     #13 pc 00c72bd0  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::Display
ObjectContainer_obj::_hx___renderGL(hx::ObjectPtr<openfl::display::OpenGLRenderer_obj>)+1032)
I/DEBUG   (  290):     #14 pc 00c72bd0  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::Display
ObjectContainer_obj::_hx___renderGL(hx::ObjectPtr<openfl::display::OpenGLRenderer_obj>)+1032)
I/DEBUG   (  290):     #15 pc 00c72bd0  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::Display
ObjectContainer_obj::_hx___renderGL(hx::ObjectPtr<openfl::display::OpenGLRenderer_obj>)+1032)
I/DEBUG   (  290):     #16 pc 00c72bd0  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::Display
ObjectContainer_obj::_hx___renderGL(hx::ObjectPtr<openfl::display::OpenGLRenderer_obj>)+1032)
I/DEBUG   (  290):     #17 pc 00c72bd0  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::Display
ObjectContainer_obj::_hx___renderGL(hx::ObjectPtr<openfl::display::OpenGLRenderer_obj>)+1032)
I/DEBUG   (  290):     #18 pc 00c72bd0  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::Display
ObjectContainer_obj::_hx___renderGL(hx::ObjectPtr<openfl::display::OpenGLRenderer_obj>)+1032)
I/DEBUG   (  290):     #19 pc 002ce6b0  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::IBitmap
Drawable_obj::_hx___renderGL(Dynamic, hx::ObjectPtr<openfl::display::OpenGLRenderer_obj>)+188)
I/DEBUG   (  290):     #20 pc 002d4e98  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::OpenGLR
enderer_obj::_hx___render(Dynamic)+1060)
I/DEBUG   (  290):     #21 pc 0026c720  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::Stage_o
bj::render(hx::ObjectPtr<lime::graphics::RenderContext_obj>)+1868)
I/DEBUG   (  290):     #22 pc 0026c950  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (openfl::display::__Stage
_objrender(hx::Object*, Dynamic const&)+52)
I/DEBUG   (  290):     #23 pc 00e5248c  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (hx::CMemberFunction1::__
run(Dynamic const&)+64)
I/DEBUG   (  290):     #24 pc 000c077c  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (Dynamic::operator()(Dyna
mic const&)+72)
I/DEBUG   (  290):     #25 pc 008602e4  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (lime::app::_Event_lime_g
raphics_RenderContext_Void_obj::dispatch(hx::ObjectPtr<lime::graphics::RenderContext_obj>)+236)
I/DEBUG   (  290):     #26 pc 00ccadc0  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (lime::_internal::backend
::native::NativeApplication_obj::handleRenderEvent()+468)
I/DEBUG   (  290):     #27 pc 00ccb254  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (lime::_internal::backend
::native::__NativeApplication_objhandleRenderEvent(hx::Object*)+20)
I/DEBUG   (  290):     #28 pc 00e51e90  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (hx::CMemberFunction0::__
run()+56)
I/DEBUG   (  290):     #29 pc 00dd780c  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (val_call0+56)
I/DEBUG   (  290):     #30 pc 000c2460  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/liblime.so
I/DEBUG   (  290):     #31 pc 000c26b8  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/liblime.so
I/DEBUG   (  290):     #32 pc 000bf8f4  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/liblime.so
I/DEBUG   (  290):     #33 pc 00cc9184  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (lime::_internal::backend
::native::NativeApplication_obj::exec()+1460)
I/DEBUG   (  290):     #34 pc 00cb9e8c  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (lime::app::Application_o
bj::exec()+116)
I/DEBUG   (  290):     #35 pc 00cb8054  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (ApplicationMain_obj::cre
ate(Dynamic)+5672)
I/DEBUG   (  290):     #36 pc 00cb6310  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (ApplicationMain_obj::mai
n()+156)
I/DEBUG   (  290):     #37 pc 00dd2fbc  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (__hxcpp_main+32)
I/DEBUG   (  290):     #38 pc 00dd2eac  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/libApplicationMain.so (hxcpp_main+40)
I/DEBUG   (  290):     #39 pc 00452d40  /data/app/air.com.pozirk.allinonesolitaire-1/lib/arm/liblime.so (Java_org_libsdl_app_SDLActivity_nat
iveRunMain+508)
I/DEBUG   (  290):     #40 pc 002069ed  /data/dalvik-cache/arm/data@[email protected]@[email protected]

What version of OpenFL and Lime are you using?

It appears to occur when calling uniformMatrix4fv in GL, but I can’t think immediately of why this would fail, unless the bytes are bad. Are you using any custom shaders?

hxcpp: [4.0.4]
lime: [7.1.1]
openfl: [8.6.4]

I have some thoughts that it somehow connected to loading image remotly.
Don’t use any shaders, but I have a code like this, and disabling it seems make the crash to disappear.

_img = new Loader();
_img.contentLoaderInfo.addEventListener(Event.COMPLETE, imgOk);
_img.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, imgFail);
_img.load(req);

...

if(_img != null && _img.width > 0 && _img.height > 0)
{
	var bmpd:BitmapData = new BitmapData(Std.int(_img.width), Std.int(_img.height), true, 0x00ffffff);
	bmpd.draw(_img, null, null, null, null, true);
	_bmp = new Bitmap(bmpd, PixelSnapping.AUTO, true);
			
	_bmp.x = -img.width/2;
	_bmp.y = -img.height/2;
	addChild(_bmp);
}

Oh, yes! There’s a multi-threading fix around Lime Bytes that’s in the development version now, I forgot this hadn’t been released. We should try and release soon:

Using a Loader runs in another thread, so I bet this is what’s happening

Ah ok.
So, using Loader may crash the app?
I use it a lot for leaderboards…

It’s fixed in dev, we’ll try and make another release soon

Thank you!
P.S.: “Post must be at least 20 characters” :smiley: