[Bug 122] New - Segmentation fault ?ch?ancier
[email protected] Tue, 14 Oct 2003 18:30:51 +0200
Newsgroups
gmane.linux.grisbi.bugs
Message-ID
<[email protected] >
============================================================================
THIS MESSAGE WAS GENERATED BY THE BUGTRACKER SOFTWARE PLEASE DO NOT REPLY
INSTEAD FOLLOW BUG'S URL BELOW IN ORDER TO DETAIL BUG:
============================================================================
Bug #: 122 (http://www.grisbi.org/bugtracking/bug.php?op=show&bugid=122)
Reported By: [email protected]
----------------------------------------------------------------------------
Summary: Segmentation fault échéancier
URL:
Product: Grisbi stables versions
Version: 0.4.1
Component: Grisbi - Main
Status: Assigned
Resolution:
Severity: Unassigned
OS/Version: Linux (all)
Version GTK:
Priority: 5 - High
Assigned To:
============================================================================
COMMENTS
----- Posted by dOm at 6:30 PM on 10-14-2003 -----
J'utilise Grisbi 0.4.1
Voici l'erreur que je reçois lorsque je
double-clique sur certaines opérations de l'échéancier.
Program
received signal SIGSEGV, Segmentation fault.
0x080a33d9 in
edition_echeance () at echeancier_liste.c:1170
1170 categorie =
g_slist_find_custom ( liste_struct_categories,
Voici le backtrace
des appels au moment du plantage.
#0 0x080a33d9 in edition_echeance
() at echeancier_liste.c:1170
#1 0x080a2da6 in click_ligne_echeance
(liste=0x82488f0, evenement=0x81d8634,
data=0x0) at
echeancier_liste.c:980
Le problÚme se situe dans la fonction
edition_echeance à la ligne 1170 du fichier
"echeancier_liste.c" . Voici l'extrait de code.
categorie =
g_slist_find_custom ( liste_struct_categories,
GINT_TO_POINTER
( echeance_selectionnnee -> categorie ),
(GCompareFunc)
recherche_categorie_par_no ) ->data;
Il se trouve que, dans mon
cas, la fonction g_slist_find_custom renvoit un pointeur nul, ce qui
fait que l'acces au membre "->data" plante puisque le
pointeur est nul.
J'ai cherché à comprendre pourquoi la fonction
renvoyait NULL.
En regardant dans le fichier de grisbi (xml), il se
trouve que la catégorie associée est la numéro 15.
Cette catégorie
n'existe plus dans la liste des catégories (toujours dans le fichier
XML).
J'ai certainement demandé la suppression de cette catégorie et
les échéances liées à cette catégorie n'ont pas été réinitialisée Ã
"sans-catégorie".
Pour corriger mon problÚme, j'ai modifié
le fichier XML pour que les échéances soient à nouveau liées à une
catégorie et une sous catégorie.
Piste pour corriger le problÚme :
- faire des tests au chargement du fichier XML pour vérifier la
cohérence du fichier chargé.
- vérifier si les échéances associées Ã
une catégorie sont bien réinitialisées à "sans-catégorie"
lorsque cette catégorie est supprimée.
- d'une facon générale, tester
que le résultat renvoyé par une fonction n'est pas NULL.
J'espÚre
vous avoir aidé.
Cordialement
dOm
--
Pour vous desabonner envoyez un mail a [email protected]