Что такое «внешнее исключение A0» и что является причиной root? - PullRequest
0 голосов
/ 19 марта 2020

В моем мобильном приложении под android, сборка с Delphi Rio в 64-битной версии, у меня часто есть некоторые исключения с именем «Внешнее исключение XX», например:

External exception 90  
External exception 87  
External exception A0
etc...

, и это немного повсюду в коде, даже в очень обычном месте, например:

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

или

TRectF.Offset(Double, Double)

, но также и в других местах. Я не могу воспроизвести эту проблему локально , я получаю этот журнал ошибок от клиентских устройств и на всех устройствах, а не только на определенном c одном .

для Например, это стек вызовов одного из отчетов, которые я получаю:

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

Что может вызвать эту ошибку и как я могу найти причину root?

...