Bug 4515 - segfault using move-to-trash (ctrl-d)
Summary: segfault using move-to-trash (ctrl-d)
Status: RESOLVED WORKSFORME
Alias: None
Product: Claws Mail
Classification: Unclassified
Component: UI/Message List (show other bugs)
Version: 4.0.0
Hardware: PC Linux
: P3 normal
Assignee: users
URL:
Depends on:
Blocks:
 
Reported: 2021-08-06 08:05 UTC by Brian
Modified: 2021-08-18 12:08 UTC (History)
0 users

See Also:


Attachments

Description Brian 2021-08-06 08:05:18 UTC
i have been having a problem with claws-mail segfaulting for a long time.
i built it with debugging and finally caught it segfaulting
it only happens when using move-to-trash (ctrl-d) in the message window

here is the backtrace
i really hope somebody can figure this out. it's incredibly annoying.

Thread 1 "claws-mail" received signal SIGSEGV, Segmentation fault.
0x000000000063b203 in gtk_cmctree_node_get_row_data (
    ctree=ctree@entry=0xb8e9a0, node=node@entry=0x10) at gtkcmctree.c:4518
4518	  return node ? GTK_CMCTREE_ROW (node)->row.data : NULL;
(gdb) thread apply all bt

Thread 3 (Thread 0x7ffff283a700 (LWP 8856)):
#0  0x00007ffff6dcbaff in __GI___poll (fds=0x89b870, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff734436e in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff73446f3 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff7599f8a in  () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007ffff736dad1 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff717b609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007ffff6dd8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7ffff303b700 (LWP 8855)):
#0  0x00007ffff6dcbaff in __GI___poll (fds=0x889cd0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff734436e in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007ffff73444a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007ffff73444f1 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007ffff736dad1 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007ffff717b609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007ffff6dd8293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7ffff5731140 (LWP 8851)):
#0  0x000000000063b203 in gtk_cmctree_node_get_row_data (ctree=ctree@entry=0xb8e9a0, node=node@entry=0x10) at gtkcmctree.c:4518
#1  0x000000000058cbbb in summary_find_next_flagged_msg (current_node=<optimized out>, flags=flags@entry=2, start_from_next=start_from_next@entry=1, summaryview=<optimized out>) at summaryview.c:2458
#2  0x0000000000592276 in summary_select_next_unread (summaryview=0xd1da50) at summaryview.c:1972
#3  0x00007ffff742f802 in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#4  0x00007ffff7443814 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#5  0x00007ffff744ebbe in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/l--Type <RET> for more, q to quit, c to continue without paging--
ibgobject-2.0.so.0
#6  0x00007ffff744f0f3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#7  0x00007ffff78a48e5 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#8  0x00007ffff78a4eb1 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#9  0x00007ffff742f802 in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff7443814 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff744e47d in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#12 0x00007ffff744f0f3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#13 0x00007ffff78fd251 in gtk_accel_group_activate () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#14 0x00007ffff78feba5 in gtk_accel_groups_activate () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#15 0x00007ffff7ba3572 in gtk_window_activate_key () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#16 0x00007ffff7ba3856 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#17 0x00007ffff7bd34fb in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#18 0x00007ffff742f708 in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#19 0x00007ffff7442f96 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#20 0x00007ffff744e47d in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff744f0f3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff7b7dc23 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#23 0x00007ffff7a391df in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#24 0x00007ffff7a3b3db in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#25 0x00007ffff7723f79 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#26 0x00007ffff7757106 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#27 0x00007ffff734417d in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007ffff7344400 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007ffff73444a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007ffff7a3a429 in gtk_main_iteration () at /usr/lib/x86_64-linux-gnu/lib--Type <RET> for more, q to quit, c to continue without paging--
gtk-3.so.0
#31 0x00000000005916d5 in summary_select_node (summaryview=0xd1da50, node=0xa05a60, display_msg=0) at summaryview.c:2330
#32 0x0000000000595b24 in summary_execute (summaryview=summaryview@entry=0xd1da50) at summaryview.c:5164
#33 0x0000000000598c88 in summary_move_selected_to (to_folder=0x1045770, summaryview=0xd1da50) at summaryview.c:4733
#34 summary_move_selected_to (summaryview=0xd1da50, to_folder=0x1045770) at summaryview.c:4699
#35 0x00007ffff742f802 in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#36 0x00007ffff7443814 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#37 0x00007ffff744ebbe in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#38 0x00007ffff744f0f3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#39 0x00007ffff78a48e5 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#40 0x00007ffff78a4eb1 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#41 0x00007ffff742f802 in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#42 0x00007ffff7443814 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#43 0x00007ffff744e47d in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#44 0x00007ffff744f0f3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#45 0x00007ffff78fd251 in gtk_accel_group_activate () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#46 0x00007ffff78feba5 in gtk_accel_groups_activate () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#47 0x00007ffff7ba3572 in gtk_window_activate_key () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#48 0x00007ffff7ba3856 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#49 0x00007ffff7bd34fb in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#50 0x00007ffff742f802 in g_closure_invoke () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#51 0x00007ffff7442f96 in  () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#52 0x00007ffff744e47d in g_signal_emit_valist () at /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#53 0x00007ffff744f0f3 in g_signal_emit () at /usr/lib/x86_64-linux-gnu/libgobje--Type <RET> for more, q to quit, c to continue without paging--c
ct-2.0.so.0
#54 0x00007ffff7b7dc23 in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#55 0x00007ffff7a391df in  () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#56 0x00007ffff7a3b3db in gtk_main_do_event () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#57 0x00007ffff7723f79 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#58 0x00007ffff7757106 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#59 0x00007ffff734417d in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#60 0x00007ffff7344400 in  () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#61 0x00007ffff73446f3 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#62 0x00007ffff7a3a37d in gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#63 0x000000000044d04f in main (argc=<optimized out>, argv=<optimized out>) at main.c:1632
(gdb) quit
A debugging session is active.

	Inferior 1 [process 8851] will be killed.

Quit anyway? (y or n) y
Comment 1 Paul 2021-08-06 12:33:47 UTC
This is not reproducible. More information is needed.

* When you say "in the message window", do you mean that you are using the separate message view when viewing messages?

* Are there other messages in the folder? Are they read, unread or new?

* What are your message selection prefs? (/Configuration/Preferences/Display/Summaries, 'open message when selected')

* Does the crash happen every time, or just some times?

Some --debug output could/would be useful also.
Comment 2 Brian 2021-08-07 03:03:28 UTC
No i expect it's not reproducible since it only happens sometimes.  it can happen 2 or 3 times in a row and then not happen the next 5 or 6 times i use claws-mail. 

No i'm in the summary view, i guess i would call it.  so list of mail messages, with the message body display below the subject/fdrom/date/etc... list.

yes there are other messages in the folder. it is my inbox, so it is the usual mix of read, unread and new of course.  i'm not sure if it happens in any of the other message folders, but i believe it has.  also i'm unsure if it only happens when i do "move-to-trash" on a new unread message.  that might be one good test.  make sure the messages are all read, and then run move-to-trash on each one.

When i look at the message selection prefs, "open message when selected" - all of the boxes are unchecked.

the crash only happens sometimes.

next time it happens i will grab the entire debug output.
Comment 3 Paul 2021-08-18 12:08:26 UTC
re-open when you have more info.

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