AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Abstürze nach längerer Laufzeit
Thema durchsuchen
Ansicht
Themen-Optionen

Abstürze nach längerer Laufzeit

Ein Thema von zeras · begonnen am 13. Feb 2022 · letzter Beitrag vom 19. Jun 2022
Antwort Antwort
Seite 1 von 3  1 23      
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#1

Abstürze nach längerer Laufzeit

  Alt 13. Feb 2022, 11:40
Hallo,

ich habe eine APP, die 24/7 läuft. Nun berichtet ein Kunde, dass die APP nach längerer Laufzeit abstürzen würde.
In der Play Console finde ich bei Absturzdetails den Stacktrace.
Es scheint ja bei mehreren Geräten aufzutreten, da verschiedene Geräte angezeigt werden.
Aber kann man damit was anfangen?
Wie kann ich die Ursache finden?
Hier einige Infos zu den Abstürzen:

Code:
Absturz
Samsung Galaxy Tab A 10.1
Android 7.0 (SDK 24)
38.apk
vor 19 Tagen
pid: 0, tid: 0 >>> com.embarcadero.MeineApp <<<

backtrace:
  #00  pc 000000000004ad30  /system/lib/libc.so (tgkill+12)
  #00  pc 00000000000484c3  /system/lib/libc.so (pthread_kill+34)
  #00  pc 000000000001dd99  /system/lib/libc.so (raise+10)
  #00  pc 0000000000019521  /system/lib/libc.so (__libc_android_abort+34)
  #00  pc 0000000000017160  /system/lib/libc.so (abort+4)
  #00  pc 000000000031b7f9  /system/lib/libart.so (art::Runtime::Abort()+252)
  #00  pc 00000000000b4dcb /system/lib/libart.so (art::LogMessage::~LogMessage()+866)
  #00  pc 00000000001bcaa9  /system/lib/libart.so (art::IndirectReferenceTable::AbortIfNoCheckJNI()+84)
  #00  pc 000000000023de3f /system/lib/libart.so (art::IndirectReferenceTable::GetChecked(void*) const+498)
  #00  pc 000000000023b0f3  /system/lib/libart.so (art::JavaVMExt::DecodeWeakGlobal(art::Thread*, void*)+30)
  #00  pc 00000000003355a5  /system/lib/libart.so (art::Thread::DecodeJObject(_jobject*) const+164)
  #00  pc 00000000003173ff /system/lib/libart.so (art::ArgArray::BuildArgArrayFromJValues(art::ScopedObjectAccessAlreadyRunnable const&, art::mirror::Object*, jvalue*)+154)
  #00  pc 000000000031726f /system/lib/libart.so (art::InvokeWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+250)
  #00  pc 0000000000274f8b /system/lib/libart.so (art::JNI::CallStaticBooleanMethodA(_JNIEnv*, _jclass*, _jmethodID*, jvalue*)+426)
  #00  pc 00000000006a6773  /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so (ExecJNI+394)
  #00  pc 0000000000db791b /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 0000000000dc3eb7  /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 0000000000daa2b5  /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 0000000000db2bdf /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 0000000000a91481  /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 0000000000576205  /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 0000000000566671  /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 00000000006478d9  /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 000000000064688f /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 0000000000a8c86b /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 00000000005663af /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 000000000056d0cd /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 0000000000ab16af /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 00000000005798a9  /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 000000000057822d /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 0000000000db7829  /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so (_NativeMain+148)
  #00  pc 0000000000800547  /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 00000000008006c1  /data/app/com.embarcadero.MeineApp-1/lib/arm/libMeineApp.so
  #00  pc 0000000000047f93  /system/lib/libc.so (__pthread_start(void*)+22)
  #00  pc 000000000001a161  /system/lib/libc.so (__start_thread+6)
Code:
Absturz
Samsung Galaxy Tab S2
Android 7.0 (SDK 24)
71.aab
vor 5 Tagen
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> com.embarcadero.MeineApp <<<

backtrace:
  #00  pc 000000000006ba20  /system/lib64/libc.so (tgkill+8)
  #00  pc 0000000000068ea4  /system/lib64/libc.so (pthread_kill+64)
  #00  pc 0000000000024350  /system/lib64/libc.so (raise+24)
  #00  pc 000000000001cd6c /system/lib64/libc.so (abort+52)
  #00  pc 000000000042e5fc /system/lib64/libart.so (art::Runtime::Abort()+352)
  #00  pc 00000000000e4f2c /system/lib64/libart.so (art::LogMessage::~LogMessage()+1204)
  #00  pc 000000000024bb9c /system/lib64/libart.so (art::IndirectReferenceTable::Add(unsigned int, art::mirror::Object*)+472)
  #00  pc 00000000002ee0c0  /system/lib64/libart.so (art::JavaVMExt::AddGlobalRef(art::Thread*, art::mirror::Object*)+60)
  #00  pc 00000000003289ac /system/lib64/libart.so (art::JNI::NewGlobalRef(_JNIEnv*, _jobject*)+600)
  #00  pc 00000000012c21d8  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 00000000012cd508  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 00000000012c1c40  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so (ExecJNI+2504)
  #00  pc 0000000001b368c0  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 0000000001b2bcbc /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 0000000001b2811c /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 0000000001b2c720  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 00000000016d3a14  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 00000000016e3d58  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 00000000016a30bc /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 0000000001b367d8  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 0000000001208d98  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 0000000001209a00  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 00000000011eb830  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 00000000012cd248  /data/app/com.embarcadero.MeineApp-2/lib/arm64/libMeineApp.so
  #00  pc 00000000005dd010  /data/app/com.embarcadero.MeineApp-2/oat/arm64/base.odex (offset 0x5cd000)
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#2

AW: Abstürze nach längerer Laufzeit

  Alt 26. Feb 2022, 08:36
Es kommt zu weiteren Abstürzen. Kann hier keiner einen Tipp geben, wie ich den Fehler finden kann?

Code:
Samsung Galaxy Tab A (2016)
Android 8.1 (SDK 27)

pid: 0, tid: 0 >>> com.embarcadero.MeineApp <<<

backtrace:
  #00  pc 000000000001a528  /system/lib/libc.so (abort+63)
  #00  pc 0000000000365cd3  /system/lib/libart.so (art::Runtime::Abort(char const*)+402)
  #00  pc 00000000004276e7  /system/lib/libart.so (android::base::LogMessage::~LogMessage()+454)
  #00  pc 00000000001d9e31  /system/lib/libart.so (art::IndirectReferenceTable::Add(art::IRTSegmentState, art::ObjPtr<art::mirror::Object>)+692)
  #00  pc 0000000000251f4d /system/lib/libart.so (art::JavaVMExt::AddGlobalRef(art::Thread*, art::ObjPtr<art::mirror::Object>)+36)
  #00  pc 0000000000283d6f /system/lib/libart.so (art::JNI::NewGlobalRef(_JNIEnv*, _jobject*)+386)
  #00  pc 0000000000707ed7  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 0000000000714295  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 000000000072ea95  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 00000000009796d9  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 0000000000ed8741  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 0000000000ed5997  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 0000000000ed9207  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 0000000000ae075f /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 0000000000aee8d9  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 0000000000ab4f99  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 0000000000edca5d /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 0000000000671ef3  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 000000000066a0db /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 000000000066aab3  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 00000000006518c9  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 0000000000711571  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/lib/arm/libMeineApp.so
  #00  pc 000000000001e131  /data/app/com.embarcadero.MeineApp-9rBjm_E3RE1me3GL0tjAyg==/oat/arm/base.odex (offset 0x1e000)
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#3

AW: Abstürze nach längerer Laufzeit

  Alt 27. Feb 2022, 15:12
Die Frage wäre, was denn deie App so tut und ob du evtl. durch Einbau weiterer Logmeldungen noch näher herausfinden
kannst an welcher Stelle das abstürzt.

Loggen in einem FMX programm kannst du mittels

uses
FMX.Types;
begin
log.d('Mein text');

Das landet dann auch in dem Android Debug Log.

Falls hier keine weiteren hilfreichen Antworten kommen sollten kannst du dich auch mit einem offiziellen
Support Ticket an EMBT wenden, wenn du eine laufende Subskription hast. Manchmal kommt dazu tatsächlich was raus.
Ich meine damit übreigens nicht QP sondern das hier: https://www.embarcadero.com/de/support

Grüße
TurboMagic
  Mit Zitat antworten Zitat
TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
252 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Abstürze nach längerer Laufzeit

  Alt 27. Feb 2022, 16:48
Bei Abstürzen nach längerer Laufzeit sind meine Hauptverdächtigen
- Überlauf einer Variablen
- Energiesparmodus / Low Akku o.ä.

Tomy
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#5

AW: Abstürze nach längerer Laufzeit

  Alt 27. Feb 2022, 17:43
Loggen in einem FMX programm kannst du mittels

uses
FMX.Types;
begin
log.d('Mein text');

Das landet dann auch in dem Android Debug Log.
Dies habe ich drin. Komme ich da auch an die Logs auch vom entferneten Tablett ran? Dort habe ich ja keinen Zugriff, da ich meine Kunden ja nicht kenne.

Bei Abstürzen nach längerer Laufzeit sind meine Hauptverdächtigen
- Überlauf einer Variablen
- Energiesparmodus / Low Akku o.ä.
Energiesparmodus ist deaktiviert, soweit ich das vom Programm steuern kann. Der Bildschirmschoner wird deaktiviert.
Wegen des Überlaufes, ich habe auch ein Tablett, wo ich Zugriff habe. Dort passiert es aber nicht.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#6

AW: Abstürze nach längerer Laufzeit

  Alt 27. Feb 2022, 20:33
Ich glaube da kommst du nicht wirkliuch ran, das wird ja dauern überschrieben.
Da müsstest du wohl selber eine Dateilogging Funktion einbauen, samt Teilen oder Viewer...
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
691 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Abstürze nach längerer Laufzeit

  Alt 28. Feb 2022, 11:21
Code:
backtrace:
  #00  pc 000000000001a528  /system/lib/libc.so (abort+63)
  #00  pc 0000000000365cd3  /system/lib/libart.so (art::Runtime::Abort(char const*)+402)
  #00  pc 00000000004276e7  /system/lib/libart.so (android::base::LogMessage::~LogMessage()+454)
Ich habe hier so ein bisschen den Verdacht dass wir nicht den echten Fehler sehen, sondern einen Folgefehler. Es scheint ja aus LogMessage zu knallen.
Oder, die Funktion hat einen Parameter der genau dafür sorgt dass nach dem schreiben einer Message alles ein Ende findet.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#8

AW: Abstürze nach längerer Laufzeit

  Alt 13. Mär 2022, 16:58
Danke für eure Hinweise.
Laut den Logs im Playstore sieht es offenbar so aus, als wenn die APP immer nach 5 Tagen abstürzt, nur beim letzten Mal waren es 7 Tage. Da hat man die APP vielleicht erst später wieder neu gestartet.
Sind aber bis jetzt Vermutungen. Auch hat das Tablett noch Android 7 drauf. Auf einem anderen Tablett läuft auch die APP und macht keine Probleme. Dort ist aber auch ein neueres Android drauf.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#9

AW: Abstürze nach längerer Laufzeit

  Alt 15. Mär 2022, 19:53
Offenbar sind die Abstürze nicht alle 5, sondern alle 10 Tage.
Jetzt wollte ich ein Log einbauen, wo man die Startzeit der APP hinterlegt. Kann man auch noch bei einem Absturz in ein Log schreiben oder ist da sowieso schon alles "tot"?
So könnte ich vielleicht eher herausfinden, wo das Problem liegt.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#10

AW: Abstürze nach längerer Laufzeit

  Alt 17. Mär 2022, 14:12
Berücksichtigst du die Android Lifecycle events?
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 11:23 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