Bug 2329

Summary: claws-mail segfault when sending message
Product: Claws Mail (GTK 2) Reporter: alexandre bustico <alexandre.bustico>
Component: UI/Compose Window/Spell CheckerAssignee: users
Status: RESOLVED FIXED    
Severity: normal    
Priority: P3    
Version: 3.7.6   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
valgrind log when segfaulting none

Description alexandre bustico 2010-12-17 15:11:38 UTC
Created attachment 928 [details]
valgrind  log when segfaulting

mandriva 2010.1 64 bits
lang = FR_fr
no module loaded.

packaged claws-mail 3.7.5 works fine, but since 3.7.6, claws segfault when sending mail. compose windows open fine, then when i hit "send", the message is sent, but after the compose windows closed, app segfault in :

g_main_context_prepare (in /usr/lib64/libglib-2.0.so.0.2400.1)


configure line :
./configure --prefix=/usr/local --disable-ldap --disable-jpilot --disable-ipv6 --libdir=/usr/local/lib64 CFLAGS=-g


Thanks for any help

I attach valgring log.
Comment 1 Paul 2011-01-06 08:57:44 UTC
is this still reproducible with version 3.7.8?
re-open this bug report if it is.
Comment 2 alexandre bustico 2011-01-06 10:02:10 UTC
yes, the version i had tested and the valgrind log is done with  version 3.7.8.
Comment 3 alexandre bustico 2011-04-12 14:42:56 UTC
Same problem with new 3.7.9 version.

I have tried to :
  
Comment 4 alexandre bustico 2011-04-12 15:33:20 UTC
In fact, the segfault is relative to spell checker.
If i remove enchant at configure, it will not segfault.

When setting debug trace to TRUE, i have this :

gtkaspell.c:639:Aspell: Created a new gtkaspeller 0x1051590
gtkaspell.c:647:Aspell: number of existing checkers 1
gtkaspell.c:639:Aspell: Created a new gtkaspeller 0x1069af0
gtkaspell.c:647:Aspell: number of existing checkers 2
gtkaspell.c:435:Aspell: created gtkaspell 0x106a0c0
gtkaspell.c:1537:Aspell: found dictionary fr fr
gtkaspell.c:1537:Aspell: found dictionary fr_CH fr_CH
gtkaspell.c:1537:Aspell: found dictionary fr_FR fr_FR
gtkaspell.c:1537:Aspell: found dictionary en_GB en_GB
template.c:162:template.c:163 reading templates dir /home/bustico/.claws-mail/templates
addr_compl.c:673:end_address_completion ref count 0
gtkaspell.c:696:Aspell: Deleting gtkaspeller 0x1051590.
gtkaspell.c:717:Aspell: gtkaspeller 0x1051590 deleted.
gtkaspell.c:701:Aspell: number of existing checkers 1
gtkaspell.c:696:Aspell: Deleting gtkaspeller 0x1069af0.
gtkaspell.c:717:Aspell: gtkaspeller 0x1069af0 deleted.
gtkaspell.c:701:Aspell: number of existing checkers 0
gtkaspell.c:464:Aspell: deleting gtkaspell 0x106a0c0


So we can see that it tries to deleting a gtkaspell object after saying that  number of existing checkers is 0

Alexandre
Comment 5 alexandre bustico 2011-04-12 17:10:45 UTC
commenting out line 463 of  gtkaspeel.c
	  gtkaspeller_delete(gtkaspell->alternate_speller);

resolve the segfault, but this naive fix probably transform a crash in memory leak :-(
Comment 6 Ricardo Mones 2013-04-18 10:15:59 UTC
Given current state of src/gtk/gtkaspell.c and the comments here I think this was fixed around 3.8.1 or later.

Please reopen if you can reproduce with 3.9.0 or current git version.