AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung iOS - OK, Windows - OK, Android - crash
Thema durchsuchen
Ansicht
Themen-Optionen

iOS - OK, Windows - OK, Android - crash

Ein Thema von braunbaer · begonnen am 3. Feb 2016 · letzter Beitrag vom 5. Feb 2016
Antwort Antwort
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
118 Beiträge
 
Delphi 11 Alexandria
 
#1

iOS - OK, Windows - OK, Android - crash

  Alt 3. Feb 2016, 18:03
Hallo in die Runde,

ich bin etwas ratlos:
habe eine App mit Firemonkey (Seit Delphi XE7 hochgezogen zu Delphi Seattle) erstellt, die ich für iOS, Windows und Android kompiliere.
iOS und Windows laufen einwandfrei, Android stürzt aber bei vielen Kunden dauernd ab.
Die App kommuniziert per Remote-DB (von TMS) mit einem Cloud-Server. Dies passiert in einem Thread. Als Datenbank ist SQLite im Einsatz.

Die Abstürze sind offensichtlich Devicebezogen, da ich sie mit meinen Android-Geräten nicht nachvollziehen kann.

Meine Frage daher in die Runde: Wer hat mir einen Tipp, wo ich schrauben kann.
Ich weiss, die Frage ist sehr allgemein, aber ich kann es leider nicht genauer eingrenzen.
Ich bin für jeden Tipp dankbar.

PS: die App heisst PocketTime von der PocketRead GmbH (wenn es jemanden interessiert).

Gruss
Gebhard
Gebhard Blank
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: iOS - OK, Windows - OK, Android - crash

  Alt 3. Feb 2016, 18:18
Wenn die App im Playstore ist, werden ja Fehlerprotokolle erstellt. Bringen die dich weiter? Die kann man in der Google Play Developer Console anschauen.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.144 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: iOS - OK, Windows - OK, Android - crash

  Alt 3. Feb 2016, 19:17
Android hat gegenüber iOS einige Eigenheiten...

Kennst Du die Stelle wo es passiert?
  Mit Zitat antworten Zitat
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
118 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: iOS - OK, Windows - OK, Android - crash

  Alt 3. Feb 2016, 20:18
Nein eben nicht.
Gebhard Blank
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#5

AW: iOS - OK, Windows - OK, Android - crash

  Alt 3. Feb 2016, 20:54
Tja schade, ich hatte das mal genau umgekehrt, also bei iOS.

Woran es lag ist mir bis heute nicht ganz klar, war aber dann auch weg.
Trotzdem bleibt ein ungutes Gefühl, weil die AppEvents sich manchmal etwas komisch verhalten haben.

Ich gehe mnal davon aus das es bei dir auch so beim Debug und bei den meisten Geräten funktioniert, nur bei einigen Testflight-Geräten eben nicht.

Was ich bei mir gefunden hatte das der OutOfMemory Event geworfen wurde, aber nur auf eher neueren, größeren Geräten mit sowieso genug Memory.
Wenn man dann nicht wirklich genug Speicher freistellt wird man abgewürgt, und die Gernze dafür liegt bei ca. 50MB (iOS) bei irgendwelchen DirtyMemory (kann man über Instruments ansehen wie es wächst).
Bei Android werden die Daten wohl ähnlich sein.

Nach meinen ersten Mobile-OutOfMemory Erlebnis habe ich meine App erstmal konsequent umgestellt, verschlankt, entkoppelt, in Hintergrundthreads verlagert, etc., etc.
Weil ich wohl im Anfang doch zu sehr "Desktopmässig" drangegangen war.

Ich gehe mal davon aus das du die Events schon beobachtet hast, und meine Fehler nicht gemacht hast.

Wie gesagt, das war erstmal bei IOS, aber Android kann genauso seltsam reagieren, wenn du schon Serververbindung hast könntest du ja versuchen auch ein Fehler-Logging einzubauen.

Ausser Memory sind natürlich blockende, längere Prozesse ein Problem, also alles immer schön transparent in Threads verfrachten, und bloss nicht den Hauptthread blocken.


Rollo
  Mit Zitat antworten Zitat
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
118 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: iOS - OK, Windows - OK, Android - crash

  Alt 4. Feb 2016, 07:22
@bra
Danke für den Hinweis.
hier eine Fehlermeldung:
Code:
Nativer Absturz bei /system/lib/libc.so
in /system/lib/libc.so (tgkill+12), /system/lib/libc.so (pthread_kill+48)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/matissevewifixx/matissevewifi:4.4.4/KTU84P/T533XXU1AOG1:user/release-keys'
Revision: '2'
pid: 14453, tid: 16252, name: read.PocketTime >>> eu.pocketread.PocketTime <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
    r0 00000000  r1 00003f7c r2 00000006  r3 00000000
    r4 00000006  r5 00000000  r6 00003f7c r7 0000010c
    r8 8018d988  r9 8018d99c sl 8018d9a0  fp 8018d980
    ip 7fbcfbf8  sp 8018d610  lr 40086245  pc 400951ec cpsr 000f0010
    d0  74726f6261204d56  d1  617453657669746e
    d2  0064006500740075  d3  006100720054006c
    d4  00650072002e0073  d5  002e00620064006d
    d6  0061007400610064  d7  006c006500690066
    d8  0000000000000000  d9  0000000000000000
    d10 0000000000000000  d11 0000000000000000
    d12 0000000000000000  d13 0000000000000000
    d14 0000000000000000  d15 0000000000000000
    d16 4d637e6c81dd0f8e d17 86e6aa1c69eb42be
    d18 40adeaa500000000  d19 0000000000000000
    d20 4076d00000000000  d21 0000000000000000
    d22 4085380000000000  d23 0000000000000000
    d24 0018001600150014  d25 00190018001b001a
    d26 0000000000000000  d27 0000000000000000
    d28 001f001e001c001a d29 0020001e001d001c
    d30 001b001b001b001b d31 0000000000000000
    scr 80000010

backtrace:
    #00  pc 000221ec /system/lib/libc.so (tgkill+12)
    #01  pc 00013241  /system/lib/libc.so (pthread_kill+48)
    #02  pc 00013455  /system/lib/libc.so (raise+10)
    #03  pc 0001218b /system/lib/libc.so
    #04  pc 00021aa0  /system/lib/libc.so (abort+4)
    #05  pc 000498f7  /system/lib/libdvm.so (dvmAbort+78)
    #06  pc 0004e25f /system/lib/libdvm.so (dvmDecodeIndirectRef(Thread*, _jobject*)+146)
    #07  pc 00050aa1  /system/lib/libdvm.so
    #08  pc 007aacc7  /data/app-lib/eu.pocketread.PocketTime-1/libPocketTime.so (ExecJNI+238)

code around pc:
    400951cc e8bd00f0 e3700a01 912fff1e e2600000 
    400951dc ea006f1b e92d50f0 e3a07f43 ef000000 
    400951ec e8bd50f0 e3700a01 912fff1e e2600000 
    400951fc ea006f13 e92d50f0 e3a070ee ef000000 
    4009520c e8bd50f0 e3700a01 912fff1e e2600000 
    4009521c ea006f0b e1520003 8a00008c f5d1f040 
    4009522c e92d4001 e3520010 3a000024 e2603000 
    4009523c e213300f 0a00000e e0422003 e1b0cf83 
    4009524c 44d1e001 44c0e001 24d1c001 24d1e001 
    4009525c 24c0c001 24c0e001 e1b0ce83 aa000001 
    4009526c f4a1030d f480031d 3a000001 f421070d
    4009527c f400071d e2522040 3a000006 f421020d
    4009528c f421420d f5d1f100 e2522040 f400022d
    4009529c f400422d 2afffff8 e2922020 3a000002 
    400952ac f421020d e2422020 f400022d e2822020 
    400952bc e3120010 0a000001 f4210a0d f4000a2d

code around lr:
    40086224 447b4b13 42b3e010 6a1ed10e 44784811 
    40086234 ec84f7fb ea0cf00d 46224631 efcef00e
    40086244 d00a3001 e00b2400 2b00681b 480ad1eb
    40086254 44782403 ec72f7fb f001e002 6804fa23 
    40086264 fa20f001 46206005 bf00bd70 0003b18e
    40086274 0003b182 0003b17a 0003b156 bf7ef7ff
    40086284 4a3e4b3d e92d447b b08b43f0 4606589c
    40086294 6823460d 930946a1 fa04f001 8000f8d0 
    400862a4 d0482d00 f00f4628 280ffe9f d8444604 
    400862b4 ffe4f7ff d1064286 4629200f e8d6f00d
    400862c4 d03c2800 482ee02e f7fb4478 482debb6 
    400862d4 e0154478 d11342b0 482b6a06 f7fb4478 
    400862e4 4a2aec2e 46332120 a801447a fb2ef013 
    400862f4 a8012101 fe4cf01a 46061c42 e011d104 
    40086304 28006800 e02cd1e6 46294630 f00d4622 
    40086314 1c43e912 d11e4607 f9c4f001 29046801
Wem sagt das was?
Sieht hier jemand einen Hinweis, wo ich ansetzen könnte?

Bin für jeden Tipp dankbar.
Gebhard
Miniaturansicht angehängter Grafiken
pockettimeabsturzbericht.png  
Gebhard Blank
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#7

AW: iOS - OK, Windows - OK, Android - crash

  Alt 4. Feb 2016, 10:55
Hast du in deinem Thread eventuell Ausgaben, die den Mainthread blockieren? Genaues kann ich mit der Fehlermeldung leider nicht anfangen.

Wir haben momentan mit unserer App auch Probleme, allerdings unter iOS. Hier geht was bei der Hintergrund-Synchronisierung schief.
  Mit Zitat antworten Zitat
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
118 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: iOS - OK, Windows - OK, Android - crash

  Alt 5. Feb 2016, 17:19
Dank eurer Hinweise auf den Thread habe ich genau dort den Fehler gefunden.
Im Execute wird an 2 Stellen ein Synchronize ausgeführt.
Wegen einem "Schleifenfehler" wurde das eine Synchronize immer auch ausgeführt, wenn nur das andere hätte sollen.
Interessanter weise spielt das bei Windows und bei iOS keine Rolle, bei Android kommt es aber bei einzelnen Devices zu Abstürzen.
Das wiederum hängt vermutlich am Timing bei Android....usw....

Also wieder was gelernt: Immer sauberen Code schreiben

Vielen Dank

Gebhard
Gebhard Blank
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz