Matias89 0 Posted July 13, 2021 I have been with an issue a few days ago that I can not finish solving. I'm migrating an app developed for Android 6.0.1 with Rad Studio 10.2.3 to Android 9 with Rad Studio 10.4.2. When I start debugging, without touching anything at all, after a while I get this error that did not happen before: --------------------------- Debugger Exception Notification --------------------------- Project Application.apk raised exception class Segmentation fault (11). When I go to see where the code was hung, the following appears: Fmx.Types.TBounds.GetRect(0x31) Fmx.Styles.Objects.TCustomStyleObject.DoDrawToCanvas(0xca66b400,0xca46b900,@0xffc74360: { = { = {Left = 0, Top = 0, Right = 96, Bottom = 79}, = {TopLeft = { = { = {V = {0, 0}}, = {X = 0, Y = 0}}}, BottomRight = { = { = {V = {96, 79}}, = {X = 96, Y = 79}}}}}},1) Fmx.Styles.Objects.TCustomStyleObject.DrawToCanvas(0xca66b400,0xca46b900,@0xffc74360: { = { = {Left = 0, Top = 0, Right = 96, Bottom = 79}, = {TopLeft = { = { = {V = {0, 0}}, = {X = 0, Y = 0}}}, BottomRight = { = { = {V = {96, 79}}, = {X = 96, Y = 79}}}}}},0,1) Fmx.Styles.Objects.TCustomStyleObject.Paint(0xca66b400) Fmx.Styles.Objects.TButtonStyleObject.Paint(0xca66b400) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc74624: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc74624: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xc9b04880) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc74994: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc74994: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xcb66fa00) Fmx.Controls.Presentation.TPresentedControl.PaintChildren(0xcb66fa00) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc74d1c: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc74d1c: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xca37c400) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc7508c: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc7508c: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xca37c000) Fmx.Controls.Presentation.TPresentedControl.PaintChildren(0xca37c000) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc75414: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc75414: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xca277b80) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc75784: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc75784: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xca277800) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc75af4: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc75af4: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xcb4b5680) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc75e64: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc75e64: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xcb4b4f80) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc761d4: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc761d4: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xcb498300) Fmx.Tabcontrol.TTabItem.PaintChildren(0xcb498300) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc76554: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc76554: {}) Fmx.Controls.TControl.PaintInternal Fmx.Tabcontrol.TTabControl.PaintChildren().ActiveTabContentPaint(void*)(@0xffc76630: {}) Fmx.Tabcontrol.TTabControl.PaintChildren(0xcb496f00) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc76884: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc76884: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xcb4fec00) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc76bf4: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc76bf4: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xcb4b3380) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc76f64: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc76f64: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xe3e0cc80) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc772d4: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc772d4: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xe3e0c580) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc77644: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc77644: {}) Fmx.Controls.TControl.PaintInternal Fmx.Controls.TControl.PaintChildren(0xcb496500) Fmx.Tabcontrol.TTabItem.PaintChildren(0xcb496500) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc779c4: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc779c4: {}) Fmx.Controls.TControl.PaintInternal Fmx.Tabcontrol.TTabControl.PaintChildren().ActiveTabContentPaint(void*)(@0xffc77aa0: {}) Fmx.Tabcontrol.TTabControl.PaintChildren(0xe3e41100) Fmx.Controls.TControl.PaintInternal().DoPaintInternal(void*)(@0xffc77cf4: {}) Fmx.Controls.TControl.PaintInternal().PaintAndClipChild(void*)(@0xffc77cf4: {}) Fmx.Controls.TControl.PaintInternal Fmx.Forms.TCustomForm.PaintRects(0xcc641000,@0xffc77f10: {{ = { = {Left = 0, Top = 0, Right = 803, Bottom = 471}, = {TopLeft = { = { = {V = {0, 0}}, = {X = 0, Y = 0}}}, BottomRight = { = { = {V = {803, 471}}, = {X = 803, Y = 471}}}}}}},0) :CDA0BE52 __stub_in656v61__ZN3Fmx5Forms17TCommonCustomForm10PaintRectsEPKN6System5Types6TRectFEi Fmx.Platform.Ui.Android.TFormRender.Render(0xcc649d50) Fmx.Platform.Ui.Android.TFormRender.run(0xcc649d50) :CE415916 L1 :CE415916 L1 Please! Someone who can give me a hand! ?? Thankssss Share this post Link to post
Rollo62 536 Posted July 13, 2021 (edited) I would check first if all the permissions handling is correct, there had been many changes. If that doesnt helps, have you tried to recreate a new project under 10.4.2 and reset your project to the latest projects defaults ? Edited July 13, 2021 by Rollo62 1 Share this post Link to post
Matias89 0 Posted July 14, 2021 Thanks for answering! Yes, the handling of the permits is correct, I checked it several times. With the app that I am having problems, sometimes I start to use it, it throws Segmentation Fault errors when it wants to do a SELECT to the SQLite database interchangeably. That is, it does it once, it does it twice, etc ... until it fails for a realloc. Share this post Link to post
vfbb 285 Posted July 14, 2021 A possible problem could be memory leaks due to the ARC that existed in 10.2 and now doesn't exist anymore, you have to Free the objects. There may come a point where your application crashes due to excessive use of memory. I advise you to run on windows with ReportMemoryLeaksOnShutDown to confirm. If you can't run the entire app, at least part of the code. Share this post Link to post
Rollo62 536 Posted July 16, 2021 When I reading FireDac: it could a missing FireDac unit, I think it was the ...PhysSqlite... uses clause was missing , after an update to a newer version. https://codeverge.com/embarcadero.delphi.firedac/firedac-in-unit-without-form/2001879 Share this post Link to post