I was trying to read an email from the Ubuntu security team and when I clicked on it in the message pane, at the bottom of the message viewer "Checking signature ..." appeared and the entire application froze. From what I can see, there's a lot of signal unsafe stuff being made in a signal handler: #0 __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135 #1 0x000000353c80a4dd in _L_lock_1109 () from /lib64/libpthread.so.0 #2 0x000000353c80a457 in __GI___pthread_mutex_lock (mutex=0x1ef9840) at ../nptl/pthread_mutex_lock.c:134 #3 0x0000003fcd08e9e1 in g_mutex_lock (mutex=mutex@entry=0x1efe330) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gthread-posix.c:209 #4 0x0000003fcd048318 in g_source_attach (source=0x20930ed0, context=0x1efe330) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:1142 #5 0x0000003fcd04b3b3 in g_timeout_add_full (priority=0, interval=<optimized out>, function=0x4b4040 <clean_quit>, data=0x0, notify=0x0) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:4593 #6 <signal handler called> #7 __lll_lock_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/lowlevellock.S:135 #8 0x000000353c80a4dd in _L_lock_1109 () from /lib64/libpthread.so.0 #9 0x000000353c80a457 in __GI___pthread_mutex_lock (mutex=0x1ef9840) at ../nptl/pthread_mutex_lock.c:134 #10 0x0000003fcd08e9e1 in g_mutex_lock (mutex=mutex@entry=0x1efe330) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gthread-posix.c:209 #11 0x0000003fcd048318 in g_source_attach (source=0x18dd0a40, context=0x1efe330) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:1142 #12 0x0000003fcd04b5a0 in g_idle_add_full (priority=200, function=0x345221dbc0 <gdk_threads_dispatch>, data=0x41dda220, notify=0x345221db90 <gdk_threads_dispatch_free>) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/glib/gmain.c:5382 #13 0x000000345283f3be in gtk_widget_queue_tooltip_query () from /usr/lib64/libgtk-x11-2.0.so.0 #14 0x0000003fcd817b58 in object_set_property (nqueue=<optimized out>, value=<optimized out>, pspec=<optimized out>, object=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gobject.c:1378 #15 g_object_set_valist (object=0x21e2520, first_property_name=0x1f12660 "\300A\360\001", var_args=0x7fff313bbdd0) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gobject.c:2104 #16 0x0000003fcd8183f4 in g_object_set (_object=0x21e2520, first_property_name=0x34528c28e6 "tooltip-text") at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gobject.c:2214 #17 0x00000000004db399 in update_signature_noticeview () #18 0x00000000004db660 in update_signature_info () #19 0x00000000004db6b3 in update_signature_info () #20 0x00000000004dbb11 in mimeview_selected () #21 0x0000003fcd810114 in _g_closure_invoke_va (closure=0x1ef9840, closure@entry=0x21de4e0, return_value=0x80, return_value@entry=0x0, instance=0x55, instance@entry=0x2011900, args=0xffffffffffffffff, args@entry=0x7fff313bf1c0, n_params=32479296, param_types=0x209304b0) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gclosure.c:831 #22 0x0000003fcd82a5d7 in g_signal_emit_valist (instance=0x2011900, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fff313bf1c0) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gsignal.c:3215 #23 0x0000003fcd82af37 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gsignal.c:3363 #24 0x000000345280d51b in gtk_tree_selection_select_path () from /usr/lib64/libgtk-x11-2.0.so.0 #25 0x000000345280d60d in gtk_tree_selection_select_iter () from /usr/lib64/libgtk-x11-2.0.so.0 #26 0x00000000004d94ba in icon_selected.isra () #27 0x00000000004d008c in messageview_show () #28 0x000000000055b8e8 in summary_display_msg_full () #29 0x000000000055c67a in summary_selected () #30 0x0000003fcd80fee5 in g_closure_invoke (closure=0x41948220, return_value=0x0, n_param_values=3, param_values=0x7fff313bf640, invocation_hint=0x7fff313bf5e0) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gclosure.c:768 #31 0x0000003fcd82248c in signal_emit_unlocked_R (node=node@entry=0x1f7fba0, detail=detail@entry=0, instance=instance@entry=0x1ef2610, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff313bf640) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gsignal.c:3551 #32 0x0000003fcd82acd4 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gsignal.c:3307 #33 0x0000003fcd82b48a in g_signal_emit_by_name (instance=0x1ef9840, detailed_signal=0x80 <error: Cannot access memory at address 0x80>) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gsignal.c:3403 #34 0x000000000061c8b4 in select_row () #35 0x000000000055c126 in summary_select_node () #36 0x000000000056f910 in toolbar_next_unread_cb () #37 0x0000003fcd810114 in _g_closure_invoke_va (closure=0x1ef9840, closure@entry=0x20ef750, return_value=0x80, return_value@entry=0x0, instance=0x55, instance@entry=0x20bdc60, args=0xffffffffffffffff, args@entry=0x7fff313c0c98, n_params=32479296, param_types=0x209304b0) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gclosure.c:831 #38 0x0000003fcd82a5d7 in g_signal_emit_valist (instance=0x20bdc60, signal_id=<optimized out>, detail=0, var_args=0x7fff313c0c98) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gsignal.c:3215 #39 0x0000003fcd82b48a in g_signal_emit_by_name (instance=0x1ef9840, detailed_signal=0x80 <error: Cannot access memory at address 0x80>) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gsignal.c:3403 #40 0x0000003fcd810114 in _g_closure_invoke_va (closure=0x1ef9840, closure@entry=0x20ef570, return_value=0x80, return_value@entry=0x0, instance=0x55, instance@entry=0x20b6650, args=0xffffffffffffffff, args@entry=0x7fff313c0fb0, n_params=32479296, param_types=0x209304b0) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gclosure.c:831 #41 0x0000003fcd82a5d7 in g_signal_emit_valist (instance=0x20b6650, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fff313c0fb0) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gsignal.c:3215 #42 0x0000003fcd82af37 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gsignal.c:3363 #43 0x000000345268c335 in gtk_real_button_released () from /usr/lib64/libgtk-x11-2.0.so.0 #44 0x0000003fcd810114 in _g_closure_invoke_va (closure=0x1ef9840, closure@entry=0x1f7d1a0, return_value=0x80, return_value@entry=0x0, instance=0x55, instance@entry=0x20b6650, args=0xffffffffffffffff, args@entry=0x7fff313c1280, n_params=32479296, param_types=0x209304b0) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gclosure.c:831 #45 0x0000003fcd82a5d7 in g_signal_emit_valist (instance=0x20b6650, signal_id=<optimized out>, detail=0, var_args=var_args@entry=0x7fff313c1280) at /var/tmp/portage/dev-libs/glib-2.40.0/work/glib-2.40.0/gobject/gsignal.c:3215 I assume the signal is SIGCHLD, because there's a zombie claws-mail process waiting to be reaped by its parent (claws-mail). Probably it was tasked to check the signature. I see this in '.xsession-errors': SSL Observatory: Cert submission failure 0: SSL Observatory: Planning to retry submission... SSL Observatory: Cert submission failure 0: SSL Observatory: Planning to retry submission... (claws-mail:5245): GLib-CRITICAL **: Source ID 4294967295 was not found when attempting to remove it (claws-mail:5245): GLib-CRITICAL **: Source ID 66119 was not found when attempting to remove it SSL Observatory: Cert submission failure 0: SSL Observatory: Retrying a submission... SSL Observatory: Retrying a submission... SSL Observatory: Retrying a submission...
can you reproduce this with the latest release?
I have no reliable way to reproduce this, even with the version on which I first observed it. As far as I can tell, 3.10.1 is behaving OK and since I use it on a daily basis, I'll wait another month or so before I'll declare this issue fixed.