[grisbi-devel] plantage sur changement de résolution de l'écran

Pierre pierre at pierre.biava.name
Tue Feb 16 20:11:12 CET 2021


Le 16/02/2021 à 13:38, Ludovic Rousseau a écrit :
> Le mar. 16 févr. 2021 à 10:45, Jean-Luc Duflot <jielbil at jld78.fr> a écrit :
>>
>> Le 14/02/2021 à 20:48, Ludovic Rousseau a écrit :
> 
>>> Il faut entrer la commande "backtrace" après le prompt "(gdb)".
>>>
>>> Merci
>>>
>>
>> D'accord.
>> Après gdb run, Grisbi se lance, et quand je clique sur «utiliser un
>> écran...», rien ne se passe.
>>
>> (gdb) run
>> Starting program: /usr/bin/grisbi
>> [Thread debugging using libthread_db enabled]
>> Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
>> [New Thread 0xb25e6b40 (LWP 3967)]
>> [New Thread 0xb1bffb40 (LWP 3968)]
>> [New Thread 0xb0df9b40 (LWP 3970)]
>> [New Thread 0xb05f8b40 (LWP 3971)]
>> [Thread 0xb0df9b40 (LWP 3970) exited]
>> [New Thread 0xb0df9b40 (LWP 3986)]
>> [New Thread 0xaf9ffb40 (LWP 3987)]
>> [Thread 0xb05f8b40 (LWP 3971) exited]
>> [New Thread 0xb05f8b40 (LWP 4008)]
>> [Thread 0xaf9ffb40 (LWP 3987) exited]
>> [New Thread 0xaf9ffb40 (LWP 4010)]
>> [Thread 0xaf9ffb40 (LWP 4010) exited]
>> [New Thread 0xaf9ffb40 (LWP 4011)]
>> [Thread 0xb05f8b40 (LWP 4008) exited]
>>
>> Thread 1 "grisbi" received signal SIGSEGV, Segmentation fault.
>> 0xb68cf140 in g_utf8_strlen () from /usr/lib/i386-linux-gnu/libglib-2.0.so.0
>>
>>
>> backtrace donne :
>>
>> (gdb) backtrace
>> #0  0xb68cf140 in g_utf8_strlen () at
>> /usr/lib/i386-linux-gnu/libglib-2.0.so.0
>> #1  0x004ab64e in utils_str_break_form_name_field
>>       (text=0x1107200 "Dépenses vacances Marseille avril-mai 2016 ",
>> trunc=20)
>>       at utils_str.c:1429
>> #2  0x0049086c in gsb_gui_navigation_create_report_list (model=0x1108990)
>>       at navigation.c:621
>> #3  0x00510c78 in prefs_page_display_gui_definition_screen_toggled
>>       (toggle_button=0x1d80288, prefs=0x18c21f0) at
>> prefs_page_display_gui.c:176
>> #4  0xb69a74e6 in g_closure_invoke ()
>>       at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
>> #5  0xb69b9d01 in  () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
>> #6  0xb69bfa5a in g_signal_emit_valist ()
>>       at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
>> #7  0xb69bfdb5 in g_signal_emit ()
>>       at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0
>> #8  0xb725ed29 in gtk_toggle_button_toggled ()
>>       at /usr/lib/i386-linux-gnu/libgtk-3.so.0
> 
> Super.
> Maintenant on sait que le problème vient de l'appel à g_utf8_strlen()
> à la ligne 1429 de utils_str.c.
> Et on connait aussi les 2 arguments passés à
> utils_str_break_form_name_field() et qui font planter.

J'ai nommé un rapport avec le texte soumis à la fonction sans plantage 
mais ça ne veut pas dire que le problème ne vient pas de cette fonction.
> 
> La fonction utils_str_break_form_name_field() m'a l'air bien
> compliquée. Il faut regarder ça au calme.
> 

Effectivement en la regardant elle me parait aussi bien complexe. Il y a 
sûrement un moyen de la simplifier.

> Merci pour ton aide Jean-Luc !
> 
> à+
> 


-- 

A+

Pierre Biava


More information about the devel mailing list