[Users] [Bug 3375] Crash (SEGV) at gtkcmctree.c:4514 after deleting an unread message

noreply at thewildbeast.co.uk noreply at thewildbeast.co.uk
Sat Jan 31 22:58:24 CET 2015


http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=3375

--- Comment #5 from Deweloper <deweloper at wp.pl> ---
It seems that the real problem is simpler. Everything happens in a single
thread. Look what callstack I catched just before SIGSEGV:

#0  summary_clear_list (summaryview=summaryview at entry=0x8630d08) at
summaryview.c:1617
#1  0x081c1d30 in summary_show (summaryview=summaryview at entry=0x8630d08,
item=0x8729180) at summaryview.c:1311
#2  0x081c166f in summary_execute (summaryview=summaryview at entry=0x8630d08) at
summaryview.c:4989
#3  0x081c4ed0 in summary_move_selected_to
(summaryview=summaryview at entry=0x8630d08, to_folder=to_folder at entry=0x87294f0)
at summaryview.c:4580
#4  0x081c5064 in summary_delete_trash
(summaryview=summaryview at entry=0x8630d08) at summaryview.c:4460
#5  0x081c534e in summary_key_pressed (widget=widget at entry=0x84e6458,
event=0x914e9f8, summaryview=summaryview at entry=0x8630d08) at summaryview.c:6803
#6  0x417439ae in _gtk_marshal_BOOLEAN__BOXED (closure=0x86dbcd0,
return_value=0xbfffddfc, n_param_values=2, param_values=0xbfffde70,
invocation_hint=0xbfffde18, marshal_data=0x0) at gtkmarshalers.c:86
#7  0x4a0597de in g_closure_invoke (closure=0x86dbcd0,
return_value=return_value at entry=0xbfffddfc, n_param_values=2,
param_values=param_values at entry=0xbfffde70,
invocation_hint=invocation_hint at entry=0xbfffde18) at gclosure.c:777
#8  0x4a06c56e in signal_emit_unlocked_R (node=node at entry=0x84d49f8, detail=0,
instance=0x84e6458, emission_return=emission_return at entry=0xbfffdefc,
instance_and_params=0xbfffde70) at gsignal.c:3586
#9  0x4a0740ab in g_signal_emit_valist (instance=instance at entry=0x84e6458,
signal_id=signal_id at entry=52, detail=detail at entry=0, var_args=0xbfffdfc0
"\330\337\377\277ЉJ\b\260DN\b\b", var_args at entry=0xbfffdfbc
"\370\351\024\t\330\337\377\277ЉJ\b\260DN\b\b") at gsignal.c:3340
#10 0x4a074654 in g_signal_emit (instance=instance at entry=0x84e6458,
signal_id=52, detail=detail at entry=0) at gsignal.c:3386
#11 0x41895783 in gtk_widget_event_internal (widget=widget at entry=0x84e6458,
event=event at entry=0x914e9f8) at gtkwidget.c:5017
#12 0x41895a56 in IA__gtk_widget_event (widget=widget at entry=0x84e6458,
event=event at entry=0x914e9f8) at gtkwidget.c:4814
#13 0x418adf30 in IA__gtk_window_propagate_key_event
(window=window at entry=0x84a0228, event=event at entry=0x914e9f8) at
gtkwindow.c:5199
#14 0x418b1054 in gtk_window_key_press_event (widget=widget at entry=0x84a0228,
event=0x914e9f8) at gtkwindow.c:5229
#15 0x417439ae in _gtk_marshal_BOOLEAN__BOXED (closure=0x84d49e0,
return_value=0xbfffe18c, n_param_values=2, param_values=0xbfffe200,
invocation_hint=0xbfffe1a8, marshal_data=0x418b1000
<gtk_window_key_press_event>) at gtkmarshalers.c:86
#16 0x4a058275 in g_type_class_meta_marshal (closure=0x84d49e0,
return_value=0xbfffe18c, n_param_values=2, param_values=0xbfffe200,
invocation_hint=0xbfffe1a8, marshal_data=0xcc) at gclosure.c:970
#17 0x4a0597de in g_closure_invoke (closure=closure at entry=0x84d49e0,
return_value=return_value at entry=0xbfffe18c, n_param_values=2,
param_values=param_values at entry=0xbfffe200,
invocation_hint=invocation_hint at entry=0xbfffe1a8) at gclosure.c:777
#18 0x4a06c1ca in signal_emit_unlocked_R (node=node at entry=0x84d49f8, detail=0,
instance=0x84a0228, emission_return=emission_return at entry=0xbfffe28c,
instance_and_params=0xbfffe200) at gsignal.c:3624
#19 0x4a0740ab in g_signal_emit_valist (instance=instance at entry=0x84a0228,
signal_id=signal_id at entry=52, detail=detail at entry=0, var_args=0xbfffe350
"h\343\377\277ЉJ\b\340\032N\b\b", var_args at entry=0xbfffe34c
"\370\351\024\th\343\377\277ЉJ\b\340\032N\b\b") at gsignal.c:3340
#20 0x4a074654 in g_signal_emit (instance=instance at entry=0x84a0228,
signal_id=52, detail=detail at entry=0) at gsignal.c:3386
#21 0x41895783 in gtk_widget_event_internal (widget=widget at entry=0x84a0228,
event=event at entry=0x914e9f8) at gtkwidget.c:5017
#22 0x41895a56 in IA__gtk_widget_event (widget=widget at entry=0x84a0228,
event=event at entry=0x914e9f8) at gtkwidget.c:4814
#23 0x4174174c in IA__gtk_propagate_event (widget=widget at entry=0x84a0228,
event=event at entry=0x914e9f8) at gtkmain.c:2464
#24 0x41741ab0 in IA__gtk_main_do_event (event=0x914e9f8) at gtkmain.c:1685
#25 0x41b15619 in gdk_event_dispatch (source=source at entry=0x84a15f0,
callback=0x0, user_data=0x0) at gdkevents-x11.c:2403
#26 0x49f51556 in g_main_dispatch (context=0x84a1638) at gmain.c:3066
#27 g_main_context_dispatch (context=context at entry=0x84a1638) at gmain.c:3642
#28 0x49f51920 in g_main_context_iterate (context=context at entry=0x84a1638,
block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at
gmain.c:3713
#29 0x49f519e9 in g_main_context_iteration (context=0x84a1638,
context at entry=0x0, may_block=may_block at entry=1) at gmain.c:3774
#30 0x417409a2 in IA__gtk_main_iteration () at gtkmain.c:1345
#31 0x08231965 in threaded_run (folder=0x86ff260, param=param at entry=0xbfffe5cc,
result=result at entry=0xbfffe5b8, func=func at entry=0x8231a70 <connect_ssl_run>) at
imap-thread.c:445
#32 0x0823475d in imap_threaded_connect_ssl (folder=folder at entry=0x86ff260,
server=0x8711948 "poczta.interia.pl", port=port at entry=993) at imap-thread.c:577
#33 0x080e6dd3 in imap_session_new (account=0x86f4850, folder=0x86ff260) at
imap.c:1154
#34 imap_session_get (folder=folder at entry=0x86ff260) at imap.c:1040
#35 0x080edfc0 in imap_change_flags (folder=0x86ff260, item=0x8729180,
msginfo=0x8c25e98, newflags=81920) at imap.c:4899
#36 0x080ce6c0 in folder_item_change_msg_flags (item=0x8729180,
msginfo=msginfo at entry=0x8c25e98, newflags=newflags at entry=81920) at
folder.c:3882
#37 0x081a011a in procmsg_msginfo_unset_flags (msginfo=msginfo at entry=0x8c25e98,
perm_flags=perm_flags at entry=3, tmp_flags=tmp_flags at entry=0) at procmsg.c:2068
#38 0x081b72ff in summary_msginfo_unset_flags (msginfo=0x8c25e98, flags=3,
tmp_flags=0) at summaryview.c:3448
#39 0x081bc67c in msginfo_mark_as_read (summaryview=0x8630d08,
msginfo=<optimized out>, row=0x8703530) at summaryview.c:3533
#40 0x081bc755 in msginfo_mark_as_read_timeout (data=data at entry=0x9174b98) at
summaryview.c:3551
#41 0x49f52262 in g_timeout_dispatch (source=source at entry=0x8f1d940,
callback=0x81bc700 <msginfo_mark_as_read_timeout>, user_data=0x9174b98) at
gmain.c:4451
#42 0x49f51556 in g_main_dispatch (context=0x84a1638) at gmain.c:3066
#43 g_main_context_dispatch (context=context at entry=0x84a1638) at gmain.c:3642
#44 0x49f51920 in g_main_context_iterate (context=0x84a1638,
block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at
gmain.c:3713
#45 0x49f51dc3 in g_main_loop_run (loop=loop at entry=0x8411980) at gmain.c:3907
#46 0x41740720 in IA__gtk_main () at gtkmain.c:1257
#47 0x08082e44 in main (argc=1, argv=0xbffff1e4) at main.c:1559

Frame #39 - msginfo_mark_as_read() - calls summary_msginfo_unset_flags(msginfo,
MSG_NEW | MSG_UNREAD, 0) what passes control to IMAP session and then GTK main
loop.
GTK chooses to handle DELETE key press at this moment.
This rebuilds list of messages in summaryview and turns old
summaryview->selected (stored in frame #39 as "row") into garbage.
Control passes back to frame #39 and msginfo_mark_as_read() at
summaryview.c:3534 tries to use the just destroyed message held in "row", what
causes a segmentation fault already known from backtraces in previous comments.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Users mailing list