Bug 4029 - segfault after deleting message in a window
Summary: segfault after deleting message in a window
Status: RESOLVED FIXED
Alias: None
Product: Claws Mail (GTK 2)
Classification: Unclassified
Component: UI/Message View (show other bugs)
Version: 3.17.0
Hardware: PC Linux
: P3 normal
Assignee: users
URL:
Depends on:
Blocks:
 
Reported: 2018-05-21 15:38 UTC by kardan
Modified: 2019-05-14 16:06 UTC (History)
0 users

See Also:


Attachments

Description kardan 2018-05-21 15:38:19 UTC
EXPECTED BEHAVIOR

1. pressing "d" in a focused message window should delete the message and close the window
2. no segfault

OBSERVED BEHAVIOR

1. Yesterday I opened a received message in a new window to work on it later. After work has been done I pressed "d" to delete it, however the currently selected message in the main window was  deleted.
I clicked the paper bin symbol and hit ESC to delete the message and close the window. The window showed a text saying the message has been moved to trash.

2. Additionally claws caught a segfault:

summaryview.c:1625:                                                                                             
summaryview.c:1630:called inc_unlock (lock count 0)                                                             
summaryview.c:1631:TIMING summary_show : 0s228ms                                                                
procheader.c:155:generic_get_one_field: empty line                                                              
msgcache.c:173:Cache size: 4591 messages, 2342546 bytes                                                         
procmsg.c:2019:Changing flags for message 4593 in folder trash                                                  
msgcache.c:277:TIMING msgcache_get_msg_list : 0s001ms                                                           
                                                                                                                
Thread 1 "claws-mail" received signal SIGSEGV, Segmentation fault.                                              
0xb74d3940 in g_slist_copy_deep () from /usr/lib/i386-linux-gnu/libglib-2.0.so.0                                
(gdb) bt                                                                                                        

#0  0xb74d3940 in g_slist_copy_deep () at /usr/lib/i386-linux-gnu/libglib-2.0.so.0                              
#1  0xb74d396c in g_slist_copy () at /usr/lib/i386-linux-gnu/libglib-2.0.so.0                                   
#2  0x080cde9a in copy_msginfo_flags (source=source@entry=0x891a8a0, dest=dest@entry=0x97ddc10) at folder.c:3082
#3  0x080cdfba in add_msginfo_to_cache (item=0x8c390b0, newmsginfo=0x97ddc10, flagsource=0x891a8a0)             
    at folder.c:3116
#4  0x080cecfe in do_copy_msgs (dest=dest@entry=0x8c390b0, msglist=msglist@entry=0xbfffd8d0, remove_source=remove_source@entry=1) at folder.c:3623
#5  0x080cf359 in folder_item_move_msg (dest=0x8c390b0, msginfo=0x891a8a0) at folder.c:3689                     
#6  0x0811256a in messageview_delete (msgview=0x8fd2580) at messageview.c:1704                                  
#7  0x081bf3d4 in toolbar_trash_cb (widget=0x94e21f0, data=0x955a700) at toolbar.c:1181                         
#8  0xb75a9cc8 in g_closure_invoke () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                            
#9  0xb75bcf62 in  () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                                            
#10 0xb75c59a3 in g_signal_emit_valist () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                        
#11 0xb75c6639 in g_signal_emit_by_name () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                       
#12 0xb7ca9a1d in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                            
#13 0xb75a9cc8 in g_closure_invoke () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                            
#14 0xb75bcf62 in  () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                                            
#15 0xb75c59a3 in g_signal_emit_valist () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                        
#16 0xb75c6155 in g_signal_emit () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                               
#17 0xb7b2cad9 in gtk_button_clicked () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                          
#18 0xb7b2dc8d in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                            
#19 0xb75a9cc8 in g_closure_invoke () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                            
#20 0xb75bd04d in  () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                                            
#21 0xb75c59a3 in g_signal_emit_valist () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                        
#22 0xb75c6155 in g_signal_emit () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                               
#23 0xb7b2ca09 in gtk_button_released () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                         
#24 0xb7b2ca74 in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                            
#25 0xb7bd8d27 in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                            
#26 0xb75a9cc8 in g_closure_invoke () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                            
#27 0xb75bc921 in  () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                                            
#28 0xb75c56c9 in g_signal_emit_valist () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                        
#29 0xb75c6155 in g_signal_emit () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                               
#30 0xb7cf9484 in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                            
#31 0xb7bd6a89 in gtk_propagate_event () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                         
#32 0xb7bd6f0d in gtk_main_do_event () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                           
#33 0xb7a4a739 in  () at /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0                                            
#34 0xb74b4f30 in g_main_context_dispatch () at /usr/lib/i386-linux-gnu/libglib-2.0.so.0                        
#35 0xb74b51a9 in  () at /usr/lib/i386-linux-gnu/libglib-2.0.so.0                                               
#36 0xb74b5559 in g_main_loop_run () at /usr/lib/i386-linux-gnu/libglib-2.0.so.0                                
#37 0xb7bd5c95 in gtk_main () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                    
#0  0xb74d3940 in g_slist_copy_deep () at /usr/lib/i386-linux-gnu/libglib-2.0.so.0                              
#1  0xb74d396c in g_slist_copy () at /usr/lib/i386-linux-gnu/libglib-2.0.so.0                                   
#2  0x080cde9a in copy_msginfo_flags (source=source@entry=0x891a8a0, dest=dest@entry=0x97ddc10) at folder.c:3082
#3  0x080cdfba in add_msginfo_to_cache (item=0x8c390b0, newmsginfo=0x97ddc10, flagsource=0x891a8a0)             
    at folder.c:3116
#4  0x080cecfe in do_copy_msgs (dest=dest@entry=0x8c390b0, msglist=msglist@entry=0xbfffd8d0, remove_source=remove_source@entry=1) at folder.c:3623
#5  0x080cf359 in folder_item_move_msg (dest=0x8c390b0, msginfo=0x891a8a0) at folder.c:3689                     
#6  0x0811256a in messageview_delete (msgview=0x8fd2580) at messageview.c:1704                                  
#7  0x081bf3d4 in toolbar_trash_cb (widget=0x94e21f0, data=0x955a700) at toolbar.c:1181                         
#8  0xb75a9cc8 in g_closure_invoke () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                            
#9  0xb75bcf62 in  () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                                            
#10 0xb75c59a3 in g_signal_emit_valist () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                        
#11 0xb75c6639 in g_signal_emit_by_name () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                       
#12 0xb7ca9a1d in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                            
#13 0xb75a9cc8 in g_closure_invoke () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                            
#14 0xb75bcf62 in  () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                                            
#15 0xb75c59a3 in g_signal_emit_valist () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                        
#16 0xb75c6155 in g_signal_emit () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                               
#17 0xb7b2cad9 in gtk_button_clicked () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                          
#18 0xb7b2dc8d in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                            
#19 0xb75a9cc8 in g_closure_invoke () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                            
#20 0xb75bd04d in  () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                                            
#21 0xb75c59a3 in g_signal_emit_valist () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                        
#22 0xb75c6155 in g_signal_emit () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                               
#23 0xb7b2ca09 in gtk_button_released () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                         
#24 0xb7b2ca74 in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                            
#25 0xb7bd8d27 in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                            
#26 0xb75a9cc8 in g_closure_invoke () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                            
#27 0xb75bc921 in  () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                                            
#28 0xb75c56c9 in g_signal_emit_valist () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                        
#29 0xb75c6155 in g_signal_emit () at /usr/lib/i386-linux-gnu/libgobject-2.0.so.0                               
#30 0xb7cf9484 in  () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                            
#31 0xb7bd6a89 in gtk_propagate_event () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                         
#32 0xb7bd6f0d in gtk_main_do_event () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                           
#33 0xb7a4a739 in  () at /usr/lib/i386-linux-gnu/libgdk-x11-2.0.so.0                                            
#34 0xb74b4f30 in g_main_context_dispatch () at /usr/lib/i386-linux-gnu/libglib-2.0.so.0                        
#35 0xb74b51a9 in  () at /usr/lib/i386-linux-gnu/libglib-2.0.so.0                                               
#36 0xb74b5559 in g_main_loop_run () at /usr/lib/i386-linux-gnu/libglib-2.0.so.0                                
#37 0xb7bd5c95 in gtk_main () at /usr/lib/i386-linux-gnu/libgtk-x11-2.0.so.0                                    
#38 0x08080012 in main (argc=<optimized out>, argv=<optimized out>) at main.c:1623
Comment 1 kardan 2018-05-21 15:48:35 UTC
correction: I hit DEL instead of d.
So far I was not able to reproduce it.
Comment 2 Andrej Kacian 2019-05-14 16:06:10 UTC
Fixed in https://git.claws-mail.org/?p=claws.git;a=commitdiff;h=1452caa

Note You need to log in before you can comment on or make changes to this bug.