Bonsoir à tous,
Je viens vers vous car je ne trouve plus d'idées à explorer.
Nous avons dans ma société une application développée sous WD19.
Jusqu'à présent, j'effectuais la maintenance applicative et les updates sans problème.
Depuis 3 semaines, sans rien toucher, l'application est devenue instable.
J'ai des messages aléatoires et des fonctions tel qu'un simple pdfmerge pour fusionner une signature en gif sur un état qui n'en veut plus.
Les erreurs sont : mémoire insuffisante, freeze complet obligé de kill le process.
Dans les solutions testées :
Passage du SGBD HFSQL à 12gb
Config du cache mémoire dans le vert "normal"
Calcul des statistiques désactivé
Cache testé en auto puis sans limite et actuellement à 200mb
J'ai réinstallé complètement windev 19 jusqu'à la 044n
Idem état et requêtes.
Recompilation du projet, maj analyse, ras. Aucunes erreurs.
J'ai également fait une reinstall complète HFSQL en 044n.
Il est sur un physique 2008r2, il n'y a que manta dessus.
1to d'espace libre en disque. La mémoire virtuelle OK. Je ne sature jamais en usage ram.
Nous avons pas mal d'app sous windev et sous ce serveur et c'est la seule qui présente ces erreurs.
J'ai rechargé les dll depuis le site officiel, ras.
Niveau base :
Reindexation de toutes les tables
Puis correction et suppr. des memos endommagés
J'ai fait plusieurs restore à partir de dump quand tout était OK.
Bref problème toujours présent, j'ai même essayé de faire plusieurs threads sur l'application et de modifier des hmemo
Si quelqu'un à une piste à explorer..
C'est le flou complet
Exemple du code qui débloque :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 PROCEDURE recuperer_signature(fenetre) SI Rqt_nit_rap_etendue.loggin_signature<>"" ALORS HLitRecherchePremier(Signatures,loggin,Rqt_nit_rap_etendue.loggin_signature) SI HTrouve(Signatures) ALORS sResrep est une chaîne = SysRep(srMesDocuments)+"\temp_XXX" bRescreation est un booléen = fRepCrée(sResrep) nomfic est une chaîne="Signature_XXX_" + Signatures.loggin+".gif" nomfic=sResrep+"\"+SansEspace(Remplace(nomfic,"/","_")) SI HExtraitMémo(Signatures, signature, nomfic) ALORS SI Signatures.responsable1 ALORS fenetre.LABEL_VISA_RESPONSABLE=fenetre.LABEL_VISA_RESPONSABLE + RC + Gauche(Signatures.Prenom,1) + ". " + Signatures.Nom fenetre.IMAGE_VISA_RESPONSABLE..Image=nomfic SI fenetre.LABEL_VISA..Visible=Vrai ALORS fenetre.LABEL_VISA=fenetre.LABEL_VISA_RESPONSABLE fenetre.IMAGE_VISA..Image=nomfic FIN SINON SI Signatures.Responsable2 fenetre.LABEL_VISA_TECHNICIEN=fenetre.LABEL_VISA_TECHNICIEN + RC + Gauche(Signatures.Prenom,1) + ". " + Signatures.Nom fenetre.IMAGE_VISA_TECHNICIEN..Image=nomfic SI fenetre.LABEL_VISA..Visible=Vrai ALORS fenetre.LABEL_VISA=fenetre.LABEL_VISA_TECHNICIEN fenetre.IMAGE_VISA..Image=nomfic FIN SINON Info("Vous ne pouvez pas signer, vous nêtes pas responsable ") FIN FichierVersEcran() SINON Info("Le fichier GIF n'a pas été écrit sur disque : " + nomfic) FIN HRAZ(Signatures) SINON FIN FIN
Partager