[Users] [Bug 3205] New: deadlock while checking the signature

noreply at thewildbeast.co.uk noreply at thewildbeast.co.uk
Fri Jun 6 10:03:12 CEST 2014


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

            Bug ID: 3205
           Summary: deadlock while checking the signature
    Classification: Unclassified
           Product: Claws Mail
           Version: 3.9.3
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: Other
          Assignee: users at lists.claws-mail.org
          Reporter: mihai.dontu at gmail.com

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 at 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 at 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 at entry=0x21de4e0, return_value=0x80, return_value at entry=0x0,
instance=0x55, instance at entry=0x2011900, args=0xffffffffffffffff, 
    args at 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 at 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 at entry=0x1f7fba0,
detail=detail at entry=0, instance=instance at entry=0x1ef2610,
emission_return=emission_return at entry=0x0, 
    instance_and_params=instance_and_params at 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 at entry=0x20ef750, return_value=0x80, return_value at entry=0x0,
instance=0x55, instance at entry=0x20bdc60, args=0xffffffffffffffff, 
    args at 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 at entry=0x20ef570, return_value=0x80, return_value at entry=0x0,
instance=0x55, instance at entry=0x20b6650, args=0xffffffffffffffff, 
    args at 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 at 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 at entry=0x1f7d1a0, return_value=0x80, return_value at entry=0x0,
instance=0x55, instance at entry=0x20b6650, args=0xffffffffffffffff, 
    args at 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 at 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...

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



More information about the Users mailing list