[grisbi-bugs] [Grisbi 0002374]: Mon fichier de compte cause une erreur de segmentation à l'ouverture.

Grisbi Bug Tracker bugtracker at grisbi.org
Dim 15 Fév 16:37:39 CET 2026


Issue 0002374 is now monitored by user sanchezb. 
====================================================================== 
https://www.grisbi.org/bugsreports/view.php?id=2374 
====================================================================== 
Reported By:                brochignac
Assigned To:                
====================================================================== 
Project:                    Grisbi
Issue ID:                   2374
Category:                   Main
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     new
OS:                         Ubuntu 
Version exact Grisbi:       3.92.0 
Version OS:                 24.04 
Version GTK:                3.24.41 
====================================================================== 
Date Submitted:             2026-02-06 18:16 CET
Last Modified:              2026-02-15 16:37 CET
====================================================================== 
Summary:                    Mon fichier de compte cause une erreur de
segmentation à l'ouverture.
Description: 
Mon fichier de compte (~ 35 450 opérations) fait crasher Grisbi branche
"master".
Si j'ouvre le fichier "Example_3.0-fr.gsb", je n'ai pas de crash.

La branche "grisbi-3.0.x" ouvre normalement mon fichier de compte.

Grisbi version: 3.92.0
	~/grisbi-dev/master/bin/grisbi(+0x5ce69) [0x5e1696120e69]
	~/grisbi-dev/master/bin/grisbi(+0x5d465) [0x5e1696121465]
	/lib/x86_64-linux-gnu/libc.so.6(+0x45330) [0x7fae96445330]
	~/grisbi-dev/master/bin/grisbi(+0xadfb2) [0x5e1696171fb2]
	~/grisbi-dev/master/bin/grisbi(+0xc6cb1) [0x5e169618acb1]
	~/grisbi-dev/master/bin/grisbi(+0xd6f17) [0x5e169619af17]
	~/grisbi-dev/master/bin/grisbi(+0xd7914) [0x5e169619b914]
	/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x61f4c) [0x7fae96ff1f4c]
	/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_markup_parse_context_parse+0x10c9)
[0x7fae96ff5209]
	~/grisbi-dev/master/bin/grisbi(+0xd801d) [0x5e169619c01d]
	~/grisbi-dev/master/bin/grisbi(+0xcc2cd) [0x5e16961902cd]
	~/grisbi-dev/master/bin/grisbi(+0x1233a3) [0x5e16961e73a3]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x14a)
[0x7fae970ee2fa]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x4490c) [0x7fae9711d90c]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x35591) [0x7fae9710e591]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x41)
[0x7fae9710e7c1]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x93) [0x7fae9710e883]
	/lib/x86_64-linux-gnu/libgio-2.0.so.0(+0xeec05) [0x7fae9722ac05]
	/lib/x86_64-linux-gnu/libgio-2.0.so.0(g_action_activate+0x5f) [0x7fae9721e5df]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0xd978f) [0x7fae976d978f]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x356bd) [0x7fae9710e6bd]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x41)
[0x7fae9710e7c1]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x93) [0x7fae9710e883]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0xdaf08) [0x7fae976daf08]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x356bd) [0x7fae9710e6bd]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x41)
[0x7fae9710e7c1]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x93) [0x7fae9710e883]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0xdaccd) [0x7fae976daccd]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x99b43) [0x7fae97699b43]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x356bd) [0x7fae9710e6bd]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x41)
[0x7fae9710e7c1]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x93) [0x7fae9710e883]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1b62f3) [0x7fae977b62f3]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_cclosure_marshal_VOID__BOXEDv+0x9a)
[0x7fae970f28da]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x356bd) [0x7fae9710e6bd]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x41)
[0x7fae9710e7c1]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x93) [0x7fae9710e883]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1adf5c) [0x7fae977adf5c]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1b5ccb) [0x7fae977b5ccb]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x1b95ca) [0x7fae977b95ca]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_event_controller_handle_event+0x73)
[0x7fae97778ab3]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x35e6d8) [0x7fae9795e6d8]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x982f7) [0x7fae976982f7]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x356bd) [0x7fae9710e6bd]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x41)
[0x7fae9710e7c1]
	/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x93) [0x7fae9710e883]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x366bf4) [0x7fae97966bf4]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(+0x203390) [0x7fae97803390]
	/lib/x86_64-linux-gnu/libgtk-3.so.0(gtk_main_do_event+0xa3a) [0x7fae97803f2a]
	/lib/x86_64-linux-gnu/libgdk-3.so.0(+0x3a407) [0x7fae9753f407]
====================================================================== 

---------------------------------------------------------------------- 
 (0007449) LudovicRousseau (administrator) - 2026-02-06 21:20
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7449 
---------------------------------------------------------------------- 
Est-ce que c'est reproductible avec le fichier de compte anonymisé ? 

---------------------------------------------------------------------- 
 (0007450) brochignac (reporter) - 2026-02-06 21:44
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7450 
---------------------------------------------------------------------- 
Oui.
Le fichier anonymisé joint, avec la même erreur de segmentation. 

---------------------------------------------------------------------- 
 (0007451) LudovicRousseau (administrator) - 2026-02-06 23:26
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7451 
---------------------------------------------------------------------- 
Le fichier semble corrompu

La transaction 26790 n'est pas correcte.
	<Transaction Ac="-2" Nb="26790" Id="(null)" Dt="02/28/2018" Dv="(null)" Cu="1"
Am="0.00" Exb="0" Exr="0.00" Exf="0.00" Pa="600" Ca="2" Sca="1" Br="0"
No="(null)" Pn="26" Pc="(null)" Ma="0" Ar="1" Au="1" Re="0" Fi="-2" Bu="0"
Sbu="0" Vo="(null)" Ba="(null)" Trt="0" Mo="0" />
Elle utilise le compte numéro -2 et ça fait planter Grisbi.

Si je modifie le fichier pour utiliser Ac="1" ça ne plante plus mais c'est pas
forcement la bonne correction. 

---------------------------------------------------------------------- 
 (0007453) LudovicRousseau (administrator) - 2026-02-07 11:27
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7453 
---------------------------------------------------------------------- 
Idéalement il faudrait un code de chargement de fichier .gsb qui soit robuste
et qui indique clairement le problème quand il y en a un.
Mais ça va être très compliqué.

Il faudrait comprendre pourquoi/comment ton fichier s'est retrouvé avec Ac="-2"
Il y a aussi le problème dans les fichiers de sauvegardes ? 

---------------------------------------------------------------------- 
 (0007454) brochignac (reporter) - 2026-02-07 12:53
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7454 
---------------------------------------------------------------------- 
J'ai testé mes fichiers de sauvegarde jusqu'en 2018 :
- erreur de segmentation avec la version git "master"
- ouverture du fichier avec la version 3.90.1 "officielle" et la version git
"grisbi-3.0.x" sans problème.

Je n'ai pas pu testé avant 2018 pour cause de changement de chiffrement (il
faudrait que je réinstalle une ancienne version).

J'ai retrouvé l'opération fautive du 28/02/2018, avec Ac="-2"
Mon fichier a cette erreur (Ac="-2") depuis 2018.
Pourquoi, je ne saurait le dire.

J'ai débogué mon fichier, mais sans détection d'incohérence.

Deux questions :
- comment ce fait-il que seule, la version "master" à une erreur de
segmentation ?
- où peut-on trouver un descriptif des différents champs du fichier Grisbi
quand on l'ouvre avec un éditeur de texte ?

Merci 

---------------------------------------------------------------------- 
 (0007455) brochignac (reporter) - 2026-02-07 13:23
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7455 
---------------------------------------------------------------------- 
J'ai trouvé le descriptif du format du fichier sur sourceforge.net :
https://sourceforge.net/projects/grisbi/files/Documentation/Format-fichier-grisbi/


---------------------------------------------------------------------- 
 (0007456) brochignac (reporter) - 2026-02-07 13:44
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7456 
---------------------------------------------------------------------- 
J'ai trouvé les "presque" deux mêmes opérations avec le même montant à la
même date :
<Transaction Ac="-2" Nb="26790" Id="(null)" Dt="02/28/2018"  Ma="0"  Au="1"
Re="0" Fi="-2"  />
<Transaction Ac="6" Nb="26811" Id="(null)" Dt="02/28/2018"  Ma="3"  Au="0"
Re="999" Fi="0"  />

Peut-on supprimer "à la main" la transaction incorrecte, ou cela fera-t-il un
trou dans les Nb de transactions ? 

---------------------------------------------------------------------- 
 (0007457) LudovicRousseau (administrator) - 2026-02-07 16:43
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7457 
---------------------------------------------------------------------- 
je pense que tu peux supprimer la ligne à problème.
Passe un coup de "Déboguer le fichier de comptes" pour vérifier que tout va
bien.

Pierre est plus expert que moi sur ces questions. 

---------------------------------------------------------------------- 
 (0007459) LudovicRousseau (administrator) - 2026-02-08 22:53
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7459 
---------------------------------------------------------------------- 
ça plante depuis le commit
https://github.com/grisbi/grisbi/commit/55a5aaf18f0b5f40d6769c3e6c0501fa81eb821d
qui à remplacé l'utilisation de gsb_data_account_set_balances_are_dirty() par
la toute nouvelle fonction
gsb_data_account_set_marked_balance_from_transaction() introduite dans le commit
précédent.

Dans l'ancienne fonction on a ce code :
gboolean gsb_data_account_set_balances_are_dirty (gint account_number)
{
    AccountStruct *account;

    account = gsb_data_account_get_structure (account_number);
    if (!account)
        return FALSE;

    account->balances_are_dirty = TRUE;

    return TRUE;
}

Si account_number vaut -2 alors le compte n'est pas trouvé et account est NULL.
La fonction retourne FALSE et le code n'essaie pas de déréférencer
account->balances_are_dirty qui ferait crashé tout autant.
Peut-être que c'est pas plus mal que Grisbi plante, pour inciter à corriger le
fichier de compte. 

---------------------------------------------------------------------- 
 (0007460) brochignac (reporter) - 2026-02-09 18:43
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7460 
---------------------------------------------------------------------- 
<<Passe un coup de "Déboguer le fichier de comptes" pour vérifier que tout va
bien.>>
C'est ce que j'ai fais, sans que Grisbi y trouve une incohérence même avec
Ac="-2" (c'est là depuis 2018).

Comment as-tu fais pour trouver l'opération fautive ? 

---------------------------------------------------------------------- 
 (0007461) LudovicRousseau (administrator) - 2026-02-09 22:03
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7461 
---------------------------------------------------------------------- 
Avec un debugger.
Le programme s'est arrêté sur le code qui fait planter et c'est alors facile
de comprendre ce qui ne va pas.

Mais c'est pas du tout user-friendly. 

---------------------------------------------------------------------- 
 (0007462) brochignac (reporter) - 2026-02-11 20:24
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7462 
---------------------------------------------------------------------- 
Merci.
J'ai testé 2 méthodes pour annuler cette opération :
1 - suppression de la ligne dans un éditeur de texte (Kate),
2.1 - modification du <<Ac="-2">> par <<Ac="6">>, toujours dans l'éditeur de
texte,
2.2 - ouverture du fichier (modifié) avec Grisbi
2.3 - suppression de l'opération.
Pas de problèmes avec le fichier par la suite. 

---------------------------------------------------------------------- 
 (0007463) pbiava (administrator) - 2026-02-12 17:08
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7463 
---------------------------------------------------------------------- 
Le problème posé par la correction de cette erreur c'est de savoir où la
faire sans trop augmenter le temps d'exécution.  je regarde ça 

---------------------------------------------------------------------- 
 (0007465) brochignac (reporter) - 2026-02-15 16:28
 https://www.grisbi.org/bugsreports/view.php?id=2374#c7465 
---------------------------------------------------------------------- 
Le commit e0ecc32 / branch master créé systématiquement sur tous les comptes
l'avertissement de N° compte=-1 (voir capture d'écran) alors qu'il n'y a aucun
compte = -1.
De plus, petite coquille dans le texte "... account =-1s <=0 ...". 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2026-02-06 18:16 brochignac     New Issue                                    
2026-02-06 21:20 LudovicRousseauNote Added: 0007449                          
2026-02-06 21:44 brochignac     Note Added: 0007450                          
2026-02-06 21:44 brochignac     File Added: 2007-2026-obfuscated.gsb            
       
2026-02-06 23:26 LudovicRousseauNote Added: 0007451                          
2026-02-07 11:27 LudovicRousseauNote Added: 0007453                          
2026-02-07 12:53 brochignac     Note Added: 0007454                          
2026-02-07 13:23 brochignac     Note Added: 0007455                          
2026-02-07 13:44 brochignac     Note Added: 0007456                          
2026-02-07 16:43 LudovicRousseauNote Added: 0007457                          
2026-02-08 22:53 LudovicRousseauNote Added: 0007459                          
2026-02-09 18:43 brochignac     Note Added: 0007460                          
2026-02-09 22:03 LudovicRousseauNote Added: 0007461                          
2026-02-11 20:24 brochignac     Note Added: 0007462                          
2026-02-12 17:08 pbiava         Note Added: 0007463                          
2026-02-15 16:28 brochignac     Note Added: 0007465                          
2026-02-15 16:28 brochignac     File Added: N_compte_inf<0.png                  
 
======================================================================



Plus d'informations sur la liste de diffusion bugsreports