PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile 2024 → Mon application s'arrête toute seul
Mon application s'arrête toute seul
Started by SamD, Jan., 18 2019 8:56 PM - 12 replies
Posted on January, 18 2019 - 8:56 PM
Bonsoir,
Mon application fonctionne très bien mais de temps en temps j'ai ce message d'erreur:
===== Erreur =====
Date et heure=18/01/2019 04:06:52
Message=Erreur interne.
Message système=Attempt to invoke virtual method 'int net.wimpi.modbus.msg.ReadInputRegistersResponse.getWordCount()' on a null object reference
Traitement=Initialisation de Gestion_Maison
Pile WLangage=Initialisation de Gestion_Maison
Pile Java=com.masociete.gestionsms.wdgen.GWDCPCOL_ProceduresGlobales.Lecture_auto(GWDCPCOL_ProceduresGlobales.java:398)
com.masociete.gestionsms.wdgen.GWDCPCOL_ProceduresGlobales.fWD_recoitSMS_autoWX(GWDCPCOL_ProceduresGlobales.java:130)
java.lang.reflect.Method.invoke(Native Method)
java.lang.reflect.Method.invoke(Method.java:372)
fr.pcsoft.wdjava.core.WDCallback.a(Unknown Source)
fr.pcsoft.wdjava.core.WDCallback.execute(Unknown Source)
fr.pcsoft.wdjava.core.WDCallback.execute(Unknown Source)
fr.pcsoft.wdjava.d.g.g(Unknown Source)
fr.pcsoft.wdjava.d.f.run(Unknown Source)
Thread=id=8698
name=Automatique - 1
priority=5
groupName=main

===== Copie d'écran =====
Chemin=file:///storage/emulated/0/Android/data/com.masociete.gestionsms/cache/err1547780812878.png

===== Application =====
Nom de l'application=Gestion_Maison_Auto
Version de l'application=0.0.121.0
Nom du package=com.masociete.gestionsms
Date et heure de lancement=17/01/2019 21:42:56
Version du framework Android=22.0.279.0 (fr)

===== Appareil =====
Modèle=LG-D722
Constructeur=LGE
Marque=lge

===== Système =====
Numéro de version d'Android=5.0.2 (Lollipop)
Api Level Android=21
Mémoire de stockage interne totale=4,06 Go
Mémoire de stockage interne disponible=2,06 Go
Densité de l'écran=320
Résolution de l'écran=720x1280

-------------------------------------------------------------------------------------------------
Je n'arrive pas à identifier le problème. Si quelqu'un peut m'aider....
Merci et bon wwekend
Sam
Registered member
16 messages
Posted on January, 20 2019 - 8:31 PM
Bonsoir SamD,
je suis quasi dans le même cas que toi, message d'erreur presque identique et pas trouvé de solution
la principale différence c'est que de mon coté la procédure fonctionne à la 1er exécution sans erreur, par contre à la 2e exécution => Crash garantie avec message erreur suivant :

===== Erreur =====
Date et heure=20/01/2019 18:09:52
Message=Attempt to invoke virtual method 'void fr.pcsoft.wdjava.ui.champs.zr.WDAbstractZRRenderer.c()' on a null object reference
Pile Java=fr.pcsoft.wdjava.ui.champs.zr.gc.draw(Unknown Source:62)
android.view.View.updateDisplayListIfDirty(View.java:18168)
android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4222)
android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4202)
android.view.View.updateDisplayListIfDirty(View.java:18127)
android.view.View.draw(View.java:18946)
android.view.ViewGroup.drawChild(ViewGroup.java:4238)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:4024)
android.view.View.draw(View.java:19221)
android.view.View.updateDisplayListIfDirty(View.java:18168)
android.view.View.draw(View.java:18946)
android.view.ViewGroup.drawChild(ViewGroup.java:4238)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:4024)
fr.pcsoft.wdjava.ui.e.f.dispatchDraw(Unknown Source:10)
android.view.View.draw(View.java:19221)
android.widget.ScrollView.draw(ScrollView.java:1739)
android.view.View.updateDisplayListIfDirty(View.java:18168)
android.view.View.draw(View.java:18946)
android.view.ViewGroup.drawChild(ViewGroup.java:4238)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:4024)
android.view.View.updateDisplayListIfDirty(View.java:18159)
android.view.View.draw(View.java:18946)
android.view.ViewGroup.drawChild(ViewGroup.java:4238)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:4024)
android.view.View.updateDisplayListIfDirty(View.java:18159)
android.view.View.draw(View.java:18946)
android.view.ViewGroup.drawChild(ViewGroup.java:4238)
android.view.ViewGroup.dispatchDraw(ViewGroup.java:4024)
android.view.View.draw(View.java:19221)
com.android.internal.policy.DecorView.draw(DecorView.java:791)
android.view.View.updateDisplayListIfDirty(View.java:18168)
android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:685)
android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:691)
android.view.ThreadedRenderer.draw(ThreadedRenderer.java:799)
android.view.ViewRootImpl.draw(ViewRootImpl.java:3064)
android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2859)
android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2412)
android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1439)
android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6899)
android.view.Choreographer$CallbackRecord.run(Choreographer.java:1029)
android.view.Choreographer.doCallbacks(Choreographer.java:841)
android.view.Choreographer.doFrame(Choreographer.java:772)
android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1015)
android.os.Handler.handleCallback(Handler.java:794)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:176)
android.app.ActivityThread.main(ActivityThread.java:6635)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
Thread=id=2
name=main
priority=5
groupName=main

===== Copie d'écran =====
Chemin=file:///storage/emulated/0/Android/data/com.evotech_odis.evotech_Pro_V3/cache/err1548004192912.png

===== Application =====
Nom de l'application=EvoTech Pro V3
Version de l'application=3.207
Nom du package=com.evotech_odis.evotech_Pro_V3
Date et heure de lancement=20/01/2019 18:09:50
Version du framework Android=24.0.143.10 (fr)

===== Appareil =====
Modèle=Redmi Note 5
Constructeur=Xiaomi
Marque=xiaomi

===== Système =====
Numéro de version d'Android=8.1.0 (O)
Api Level Android=27
Mémoire de stockage interne totale=50,44 Go
Mémoire de stockage interne disponible=36,26 Go
Densité de l'écran=440
Résolution de l'écran=1080x2160
Posted on January, 20 2019 - 10:09 PM
Bonsoir,
Je viens de trouver le problème mais pas encore de solution trouvée.
L'erreur se produit lors d'un "catch", cela me fait planter l'application.
Je n'arrive pas à trouver comment arrêter mon thread java sans tuer mon application…….
Si quelqu'un à une idée
Merci,
Bonne soirée
Sam
Registered member
106 messages
Popularité : +3 (3 votes)
Posted on November, 22 2019 - 10:52 AM
Bonjour,
je relance le sujet. depuis le passe en 24 j'ai fréquemment des utilisateurs qui ont un plantage de mon application.

Ci qq un à une info, qu'il n'hésite pas à m'ne faire part :)

Bonne journée

===== Erreur =====
Date et heure=22/11/2019 10:47:55
Message=Attempt to invoke virtual method 'android.graphics.drawable.Drawable android.widget.Button.getBackground()' on a null object reference
Pile Java=fr.pcsoft.wdjava.ui.champs.bouton.d.drawableStateChanged(Unknown Source:15)
android.view.View.refreshDrawableState(View.java:22933)
android.view.View.onWindowFocusChanged(View.java:13792)
android.widget.TextView.onWindowFocusChanged(TextView.java:11260)
android.view.View.dispatchWindowFocusChanged(View.java:13746)
android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1467)
android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1467)
android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1467)
android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1467)
android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1467)
android.view.ViewRootImpl.handleWindowFocusChanged(ViewRootImpl.java:3136)
android.view.ViewRootImpl.access$1900(ViewRootImpl.java:198)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:4954)
android.os.Handler.dispatchMessage(Handler.java:106)
android.os.Looper.loop(Looper.java:214)
android.app.ActivityThread.main(ActivityThread.java:7037)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
Thread=id=2
name=main
priority=5
groupName=main

--
- ian -
Posted on December, 16 2019 - 4:32 PM
Bonjour

Je rencontre le même problème mais pas sur tous les types de matériel.

Erreur : Attempt to invoke virtual method 'android.graphics.drawable.Drawable

Quelle est la correction à apporter ?

Merci d'avance de votre aide
Registered member
2 messages
Posted on March, 28 2020 - 3:45 PM
Bonjour,

Je reçois également régulièrement ce message d'erreur de la part de mes clients sur 2 applications différentes chacune déployée avec la dernière version de Windev Mobile 24 (77f)

Je n'arrive pas à comprendre d'où cela vient et j'arrive encore moins à reproduire sur 2 smartphones différents.

Quelqu'un a-t-il une piste à proposer? Lan et Birkle, vous avez mis la main sur le problème?

Merci d'avance
Registered member
2 messages
Posted on March, 28 2020 - 9:02 PM
Cédric a écrit :
Bonjour,

Je reçois également régulièrement ce message d'erreur de la part de mes clients sur 2 applications différentes chacune déployée avec la dernière version de Windev Mobile 24 (77f)

Je n'arrive pas à comprendre d'où cela vient et j'arrive encore moins à reproduire sur 2 smartphones différents.

Quelqu'un a-t-il une piste à proposer? Lan et Birkle, vous avez mis la main sur le problème?

Merci d'avance



Afin d'être le plus clair possible, voici l'erreur dont je parle :

===== Error =====
Date and time=28/03/2020 03:46:35
Message=Attempt to invoke virtual method 'android.graphics.drawable.Drawable android.widget.Button.getBackground()' on a null object reference
Java stack=fr.pcsoft.wdjava.ui.champs.bouton.f.drawableStateChanged(Unknown Source)
android.view.View.refreshDrawableState(View.java:18049)
android.view.View.onWindowFocusChanged(View.java:10286)
android.widget.TextView.onWindowFocusChanged(TextView.java:8406)
android.view.View.dispatchWindowFocusChanged(View.java:10258)
android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1197)
android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1197)
android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1197)
android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1197)
android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:1197)
android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3613)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loop(Looper.java:154)
android.app.ActivityThread.main(ActivityThread.java:6121)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)
Thread=id=1
name=main
priority=5
groupName=main
Posted on May, 12 2020 - 2:36 PM
Bonjour,

Je permets de relancer ce sujet, car moi aussi, j'ai ce type de message.
Je suis en version 25 et je viens de tester avec l'update3, mais cela ne change rien.
Mon application peut fonctionner 7-8 heures sans aucun problème ou alors avoir des plantages toutes les 2 minutes.
Des fois elle se lance sans soucis, des fois, impossible d'avoir l'application qui fonctionne correctement.
J'ai essayé un peu tout, modifier les procédures, les découper pour trouver d'ou pouvait venir l'erreur.
Mais, rien n'y fait, j'ai à un moment donné ou un autre cette erreur.
Si quelqu'un avait une piste, cela me sortirait l'épine du pied.

D'avance un grand merci.

Date et heure=11/05/2020 18:20:44
Message=Erreur interne.
Message système=Attempt to invoke virtual method 'java.lang.String fr.pcsoft.wdjava.database.hf.e.a.b.a(fr.pcsoft.wdjava.ws.WDWSEntiteXSD, java.lang.String)' on a null object reference
Pile WLangage=Initialisation de TestMobile
Pile Java=fr.pcsoft.wdjava.database.hf.e.a.c.a(c.java:135)
fr.pcsoft.wdjava.database.hf.e.a.b.a(b.java:193)
fr.pcsoft.wdjava.database.hf.e.d.a(d.java:85)
fr.pcsoft.wdjava.api.WDAPISQL.sqlExec(WDAPISQL.java:31)
com.masociete.saf_mobile.wdgen.GWDCPCOL_sql.fWD_getAgendaHeuresMobiles(GWDCPCOL_sql.java:1876)
com.masociete.saf_mobile.wdgen.GWDFFEN_Calendrier.fWD_afficheAgenda(GWDFFEN_Calendrier.java:2092)
com.masociete.saf_mobile.wdgen.GWDFFEN_Calendrier.fWD_bouclemajagenda_autoWX(GWDFFEN_Calendrier.java:2404)
java.lang.reflect.Method.invoke(Native Method)
fr.pcsoft.wdjava.core.WDCallback.a(WDCallback.java:160)
fr.pcsoft.wdjava.core.WDCallback.execute(WDCallback.java:141)
fr.pcsoft.wdjava.c.c.a(c.java:46)
fr.pcsoft.wdjava.c.d.run(d.java:28)
android.os.Handler.handleCallback(Handler.java:888)
android.os.Handler.dispatchMessage(Handler.java:100)
android.os.Looper.loop(Looper.java:213)
android.app.ActivityThread.main(ActivityThread.java:8147)
java.lang.reflect.Method.invoke(Native Method)
com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
Thread=id=1
name=main
priority=5
groupName=main
Registered member
156 messages
Popularité : +3 (3 votes)
Posted on May, 12 2020 - 4:58 PM
Je confirme de notre côté depuis la 25 Update 2, des plantages sans raisons apparentes, constaté sur des parcs de plusieurs centaines de tablettes, on relance et cela fonctionne. C'est franchement perturbant pour les utilisateurs !
Posted on May, 19 2020 - 8:47 AM
Bonjour,

Avez-vous-vous trouvé une solution ?
De mon côté, avec des sémaphores, cela semble un peu plus stable, mais cela reste quand même aléatoire.

Bien à vous
Posted on July, 20 2020 - 5:55 PM
Bonjour,

Je me permets d'apporter une "solution" (avec de gros guillemets) à ce problème dont une de mes applications a aussi été victime.

Pour contourner, j'ai changé tous les BTN (qui généré l'erreur) par des IMG cliquables.
Pas génial comme "solution", surtout que j'ai du le faire sur une grande partie de l'application. Mais ça à le mérite de ne plus faire crash l'appli.

Bon dev à vous.
Posted on July, 20 2020 - 8:21 PM
Hi,

Not having this specific error or crashes, but I did have my list of crashes in other situations. and sometimes my app could run for hours, sometimes only minutes.

Three attention points that I have changed in my application that made it a lot more stable.
1. See the you never ever touch anything from the user interface (Button, edit field, table,....) from a thead. And this may also me a callback function or something that is call via any other trigger that may have started (without your knowledge) in a thread.
2. When you have long running applications/services make sure the Andriod system is not killing them. Depends on the make and model of your phone/tablet if there are some killing routines active te make a better battery life, and at randomly or when the phone went into sleep, just kills the app. And strange things can happen when part of your app is killed and then a notification/event/trigger om some kind is still executed. You get a very strange crash. On some systems you can put you application on a white list.
3. Don't block the main (gui) thread for to long. Long running processes belong in a seprate thread (but be aware of #1)

Hope this helps you in making your application more stable.
Posted on October, 11 2022 - 4:53 PM
Merciiiii !!!

Vous m'avez sauvé la vie d'une crise de nerf.

William