PB à toute heure et à tout moment. (à parcourir avec modération)

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 20-10-2010 20:30:41

RAZORBACK  
Membre Geek
Date d'inscription: 29-07-2010
Messages: 75
Pépites: 365
Banque: 0

PowerBuilder 11.5.1 build 4740 - Crash applicatif

Bonsoir à tous,

nous rencontrons un problème dans une de nos applications développés dans la version citée en objet.
En fait, le bug est introuvable car il se produit quand on ouvre plusieurs fenêtres et ferme l'application sans aucun message. De ce fait, très difficile d'effectuer des recherches d'autant plus que les dites fenêtres ne plantent jamais quand on les ouvre seules.
Ca donne l'impression d'un plantage du à une mauvaise gestion de la mémoire.

Nous avons fait appel au Support Sybase qui ne trouve rien et ne peut aller plus loin car nous avons seulement acheté un ticket de Support sans contrat de Support.
Ils nous ont dit de télécharger un outil de debug depuis le site Microsoft.
Cet outil nous permet de générer un fichier dump que nous envoyons à Sybase afin qu'ils l'analysent.

Voilà les diverses analyses du Support PowerBuilder :

Support a écrit:

" Il est difficile de trouver l'origine du probleme sans connaitre les actions effectues par les utilisateurs ou le script PowerBuilder execute pour ces memes actions.

La stack PB montre un probleme au niveau de l'appel a la methode OpenSheetWithParm : de nombreux d'evenements de fenetres sont declenches et beaucoup de controles crees a la volee.

PRIMARY_PROBLEM_CLASS:  NULL_POINTER_WRITE
BUGCHECK_STR:  APPLICATION_FAULT_NULL_POINTER_WRITE
LAST_CONTROL_TRANSFER:  from 10b54893 to 116e979e
STACK_TEXT: 
0012c5b4 10b54893 00e7b324 04bd2ab4 00000001 PBDWE115!DWExternalFunctions::SetRichTextColumnToolbarActivation+0xe [e:\pb115\dw\engine\external\dweef.cpp @ 3492]
0012c934 10b55657 00f076d8 0487a960 00131de4 PBVM115!FN_CtlCreate+0x503 [e:\pb115\runtime\function\fnctl.cpp @ 536]
0012c978 10b58fe9 00f076d8 046c0e9c 00131de4 PBVM115!FN_CtlCreateAll+0x167 [e:\pb115\runtime\function\fnctl.cpp @ 1124]
0012c9e4 10b574ad 00f076d8 04878ac0 00000000 PBVM115!CtlInitUO+0xd9 [e:\pb115\runtime\function\fnctl.cpp @ 3371]
0012ca08 10b5549e 00f076d8 04878ac0 0012e1d0 PBVM115!CtlInit+0x1bd [e:\pb115\runtime\function\fnctl.cpp @ 2356]
0012cd84 10b55657 00f076d8 04878ac0 00161e74 PBVM115!FN_CtlCreate+0x110e [e:\pb115\runtime\function\fnctl.cpp @ 1005]
0012cdc8 10b58fe9 00f076d8 046c066c 00161e74 PBVM115!FN_CtlCreateAll+0x167 [e:\pb115\runtime\function\fnctl.cpp @ 1124] ......
0012eb54 10bbe9ff 00eb0432 00000220 00000000 user32!SendMessageW+0x7f 0012ec10 10bce4b2 00f076d8 046acb18 01a502f0 PBVM115!WndCreateSheet+0x40f [e:\pb115\runtime\function\fnwnd.cpp @ 1122]
0012ecc4 10c3ab1c 00f076d8 00000005 00000001 PBVM115!fnOpenSheetWithParm+0x452 [e:\pb115\runtime\function\fnshow.cpp @ 1408]

Le crash arrive suite a l'exception NULL POINTER WRITE dans la procedure SetRichTextColumnToolbarActivation.

Est-il possible que cela soit du a un probleme de resource memoire (GDI) pour lequel la creation d'un controle echoue ?

Utilisez-vous des colonnes de DataWindow pour lesquels la methode SetRichTextColumnToolbarActivation est utilisee?

Puis :

Support a écrit:

* Sur le fichier PID-1044__GAGI.EXE__1st_chance_Process_Shut_Down__full_0bc0_2010-10-13_10-22-51-593_0414.dmp apparait l'exception sur la DLL sqlncli.dll
FAILURE_BUCKET_ID: STATUS_BREAKPOINT_80000003_sqlncli.dll!SNIAsyncWait
BUCKET_ID: APPLICATION_FAULT_STATUS_BREAKPOINT_sqlncli!SNIAsyncWait+9e

* Sur le fichier PID-1044__GAGI.EXE__2nd_chance_AccessViolation__full_0bc0_2010-10-13_10-22-44-375_0414.dmp apparait l'exception lorsque la fonction Modify de Datawindow est appelée force le Redraw de cette même DataWindow

* Il nous faut savoir précisément quels types d'opérations sont effectués lorsque ce crash arrive (en termes de séquences d'instructions par exemple). Sans cela, il ne nous est pas possible de connaitre l'origine du problème.

* Utilisez vous des colonnes de type RichText avec des toolbars?

Ceci :

Support a écrit:

Le dernier fichier dump montre l'appel à la fonction Modify sur une table SYSMEDIA avec un Redraw forçé sur la DataWindow.
syntax        0x08ccffa8 "datawindow.table.updatekeyinplace=yes        datawindow.table.updatewhere=0"        unsigned short *

Il semble étrange qu'un caractère de tabulation soit inséré entre les propriétés datawindow.table.updatekeyinplaceet datawindow.table.updatewhere...

Et enfin :

Support a écrit:

Les premières analyses du fichier montrent la séquence suivante:
- une fenêtre se crée avec ses contrôles,
- un contrôle DataWindow est créé         avec l'appel à la fonction SetRichTextColumnToolbarActivation et l'affectation de la valeur OnEdit à la propriété Activation d'une colonne RichText de la Datawindow.
- Or, l'objet DataWindow sur lequel cette propriété doit être changée semble être NULL, d'où l'exception NULL POINTER EXCEPTION et le crash.

Nous ne savons toujours pas pourquoi ce pointeur est NULL. Il est possible que la structure de données de cet objet DataWindow n'a pas été créée à cause d'un problème de ressource (cela reste à vérifier mais c'est une supputation).

L'objet DataWindow posant problème est dwle_mandat_commercial.

P.S.: sur l'ancien dump, l'obet DataWindow en cause est dwe_bail_info_gen

J'avoue que je ne comprends pas grand chose. Nous avons fait quelques modification mais qui n'ont rien donné.
Si quelqu'un a la moindre indication à me donner, je suis preneur car c'est vraiment une tuile.

Razorback

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22