What is `External exception A0` and what is the root cause?

  

On my mobile app, under android, build with Delphi Rio in 64 bit, I have often some exceptions named “External exception XX” like for example :

External exception 90
External exception 87
External exception A0
etc…

and this a little everywhere in the code, even at very usual place like :

Fmx.Types.ArrangeControl(Fmx.Types.IAlignableObject, Fmx.Types.TAlignLayout, Single, Single, Single, Single, var Types.TRectF)

or

TRectF.Offset(Double, Double)

but also in other places. I can not reproduce this problem locally, I receive this error log from client devices and it’s on every devices not only on a specific one.

for example this is the call stack of one of the report I receive:

External exception B0
At address: $0000007FFE2E2270

Call stack:
libmyapp.so $000000726EE8F618 Grijjy.Errorreporting.TgoExceptionReporter.GlobalGetExceptionStackInfo(TExceptionRecord*) + 128
libmyapp.so $000000726E61D5E0 Sysutils.Exception.RaisingException(TExceptionRecord*) + 52
libmyapp.so $000000726E647BD4 Sysutils.RaiseExceptObject(TExceptionRecord*) + 64
libmyapp.so $000000726E5FDB60 _RaiseAtExcept(TObject*, Pointer) + 100
libmyapp.so $000000726E61C6AC Internal.Excutils.SignalConverter(NativeUInt, NativeUInt, NativeUInt) + 56
libmyapp.so $000000726EC63E80 Fmx.Types.ArrangeControl(Fmx.Types.IAlignableObject, Fmx.Types.TAlignLayout, Single, Single, Single, Single, var Types.TRectF) + 112
libmyapp.so $000000726EC646BC Fmx.Types.AlignObjects(Fmx.Types.TFmxObject*, Fmx.Types.TBounds*, Single, Single, var Single, var Single, var Boolean).DoAlign(Pointer, Fmx.Types.TAlignLayout) + 556
libmyapp.so $000000726EC64954 Fmx.Types.AlignObjects(Fmx.Types.TFmxObject*, Fmx.Types.TBounds*, Single, Single, var Single, var Single, var Boolean) + 508
libmyapp.so $000000726ECD7AF8 Fmx.Forms.TCustomForm.Realign() + 168
libmyapp.so $000000726ECD391C Fmx.Forms.TCommonCustomForm.Updated() + 36
libmyapp.so $000000726ECD3868 Fmx.Forms.TCommonCustomForm.EndUpdate() + 252
libmyapp.so $000000726ECD892C Fmx.Forms.TCustomForm.EndUpdate() + 20
libmyapp.so $000000726F078090 main.TMainForm.ShowFrame(baseframe.TMainBaseFrame*, Boolean, definition.TShowFrameTransition) + 3304
libmyapp.so $000000726F078A2C main.TMainForm.ShowPreviousFrame() + 1820
libmyapp.so $000000726F0717E4 main.TMainForm.FormKeyUp(TObject*, var Word, var Char, set of Classes.System_Classes__1) + 452
libmyapp.so $000000726ECD2D0C Fmx.Forms.TCommonCustomForm.KeyUp(var Word, var Char, set of Classes.System_Classes__1) + 104
libmyapp.so $000000726EC15978 Fmx.Platform.Ui.Android.TAndroidTextInputManager.KeyUp(var Word, var Char, set of Classes.System_Classes__1, Boolean) + 72
libmyapp.so $000000726EC114B0 Fmx.Platform.Ui.Android.TAndroidTextInputManager.HandleAndroidKeyEvent(AInputEvent*) + 976
libmyapp.so $000000726EC39204 Fmx.Platform.Android.TPlatformAndroid.HandleAndroidInputEvent(Androidapi.Appglue.TAndroidApplicationGlue*, AInputEvent*) + 64
libmyapp.so $000000726E8F723C Androidapi.Appglue.TAndroidApplicationGlue.InputEventHandler(Integer, Integer, Pointer) + 184
libutils.so $0000007312C962D0 android::Looper::pollInner(int) + 936
libutils.so $0000007312C95E90 android::Looper::pollOnce(int, int*, int*, void**) + 64
$0000007310BF4A80

What can cause this error and how can I found the root cause?

Comments are closed.