Package: claws-mail Version: 3.8.0-1 Severity: minor Dear maintainer,
Claws-Mail crashes when one changes messages while checking a PGP signature. To reproduce: 1) Find a message which is signed by a key that you don’t have in your keychain yet 2) Press "c" to check the signature or click on the little icon ‘Check Signature’ 3) Quickly switch to another message, for example by a) clicking on another folder in the folder list b) clicking on another message in the message list 4) Observe how Claws-Mail crashes immediately. I assume that this will also happen if you have the key already in your keychain but manage to switch messages before checking succeeds. However, if the key is not in your keychain, it will be much easier to switch messages fast enough. I attached a backtrace which was created as follows: 1) $ gdb claws-mail 2) (gdb) run 3) open the folder gmane.linux.debian.devel.x 4) open the message <20120129132459.GH32587__5558.65256251327$1327843646$gmane$o...@mraw.org> by Cyril Brulebois (I don’t have the key yet). 5) press c 6) click on another message very fast 7) (gdb) set logging on 8) (gdb) bt full 9) (gdb) quit The bug is really only minor, although Claws-Mail crashes, because it will usually not result in data loss and because it is rather unlikely that one wants to switch messages while checking a signature. If you need any other backtraces, please do not hesitate to tell me! :) Best regards & thank you very much for your work! Claudius Hubig -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (990, 'testing'), (500, 'stable-updates'), (500, 'unstable'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 3.2.1.a2017.2 (SMP w/4 CPU cores) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages claws-mail depends on: ii libc6 2.13-24 ii libcairo2 1.10.2-6.2 ii libcompfaceg1 1:1.5.2-5 ii libdbus-glib-1-2 0.98-1 ii libenchant1c2a 1.6.0-7 ii libetpan15 1.0-5 ii libgdk-pixbuf2.0-0 2.24.0-2 ii libglib2.0-0 2.30.2-4 ii libgnutls26 2.12.16-1 ii libgtk2.0-0 2.24.8-3 ii libice6 2:1.0.7-2 ii libldap-2.4-2 2.4.28-1.1 ii libpango1.0-0 1.29.4-2 ii libpisock9 0.12.5-4+b1 ii libsm6 2:1.2.0-2 ii xdg-utils 1.1.0~rc1+git20111210-5 Versions of packages claws-mail recommends: ii aspell-de [aspell-dictionary] 20110609-1 ii aspell-en [aspell-dictionary] 7.1-0-1 ii claws-mail-i18n 3.8.0-1 ii xfonts-100dpi 1:1.0.3 ii xfonts-100dpi-transcoded 1:1.0.3 ii xfonts-75dpi 1:1.0.3 ii xfonts-75dpi-transcoded 1:1.0.3 Versions of packages claws-mail suggests: ii claws-mail-doc <none> ii claws-mail-tools 3.8.0-1 ii gedit | kwrite | mousepad | nedit <none> ii iceweasel [www-browser] 9.0.1-1 ii lynx-cur [www-browser] 2.8.8dev.9-3 ii opera-next [www-browser] 12.00.1256 ii w3m [www-browser] 0.5.3-5 -- no debconf information
#0 0x000000000051e681 in mimeview_check_data_reset (mimeview=0xe18a00) at mimeview.c:1101 must_free = 1 must_destroy = 0 #1 0x000000000051e757 in mimeview_check_sig_thread_cb (data=0xe18a00) at mimeview.c:1156 mimeview = 0xe18a00 mimeinfo = 0x10c9c70 #2 0x00000000005210ca in mimeview_clear (mimeview=0xe18a00) at mimeview.c:981 model = 0xddc2d0 #3 0x0000000000513eda in messageview_clear (messageview=0xe15900) at messageview.c:1436 No locals. #4 0x00000000005a1a60 in summary_clear_all (summaryview=0xdbdde0) at summaryview.c:1555 No locals. #5 0x00000000005a7a1c in summary_show (summaryview=0xdbdde0, item=0x0) at summaryview.c:1218 ctree = 0xbd4610 node = 0x0 mlist = 0x0 buf = 0x0 is_refresh = 0 selected_msgnum = 0 displayed_msgnum = 0 cur = <optimized out> not_killed = <optimized out> hidden_removed = 0 start = {tv_sec = 1327935851, tv_usec = 625939} end = {tv_sec = 17474160, tv_usec = 0} diff = <optimized out> timing_name = 0x64f9c2 "" __FUNCTION__ = "summary_show" #6 0x00000000004ceb72 in folderview_close_opened (folderview=0xd67660) at folderview.c:2090 buf = 0x114e600 "\360!\025\001" olditem = 0xf59ba0 #7 0x00000000004cee62 in folderview_selected (ctree=0xbd4420, row=0x1074380, column=-1, folderview=0xd67660) at folderview.c:2153 can_select = 0 opened = <optimized out> item = 0xf52650 buf = <optimized out> res = 0 old_opened = 0xfc8920 start = {tv_sec = 1327935851, tv_usec = 624000} end = {tv_sec = 3, tv_usec = 140737305917429} diff = <optimized out> timing_name = 0x64f9c2 "" __FUNCTION__ = "folderview_selected" #8 0x00007ffff51dc804 in g_closure_invoke (closure=0xd86030, return_value=0x0, n_param_values=3, param_values=0x114af20, invocation_hint=<optimized out>) at /tmp/buildd/glib2.0-2.30.2/./gobject/gclosure.c:774 marshal = 0x63a810 <claws_marshal_VOID__POINTER_INT> marshal_data = <optimized out> in_marshal = <optimized out> __PRETTY_FUNCTION__ = "g_closure_invoke" #9 0x00007ffff51ee78a in signal_emit_unlocked_R (node=<optimized out>, detail=0, instance=0xbd4420, emission_return=0x0, instance_and_params=0x114af20) at /tmp/buildd/glib2.0-2.30.2/./gobject/gsignal.c:3272 tmp = <optimized out> handler = 0xd86790 accumulator = 0x0 emission = {next = 0x7fffffffdf50, instance = 0xbd4420, ihint = {signal_id = 119, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 4} class_closure = 0xbf35a0 hlist = 0x7ffff54276d0 handler_list = 0xd86790 return_accu = 0x0 accu = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} signal_id = 119 max_sequential_handler_number = 3622 return_value_altered = 1 #10 0x00007ffff51f7e11 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=<optimized out>) at /tmp/buildd/glib2.0-2.30.2/./gobject/gsignal.c:3003 instance_and_params = 0x114af20 signal_return_type = 4 param_values = 0x114af38 node = 0xc17d20 i = <optimized out> n_params = 2 __PRETTY_FUNCTION__ = "g_signal_emit_valist" #11 0x00007ffff51f7fb2 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at /tmp/buildd/glib2.0-2.30.2/./gobject/gsignal.c:3060 var_args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fffffff8d00, reg_save_area = 0x7fffffff8c40}} #12 0x000000000060557a in gtk_cmctree_select (ctree=0xbd4420, node=0x1074380) at gtkcmctree.c:3899 No locals. #13 0x0000000000605ac1 in real_unselect_all (clist=0xbd4420) at gtkcmctree.c:2882 ctree = 0xbd4420 node = <optimized out> list = <optimized out> #14 0x0000000000627097 in gtk_sctree_real_unselect_all (clist=0xbd4420) at gtksctree.c:787 sctree = 0xbd4420 should_freeze = 0 #15 0x0000000000625429 in select_row (sctree=0xbd4420, row=15, col=2, state=<optimized out>, _node=0x0) at gtksctree.c:383 range = 0 additive = <optimized out> #16 0x0000000000627c9e in gtk_sctree_button_press (widget=<optimized out>, event=0xfb4150) at gtksctree.c:549 sctree = 0xbd4420 clist = 0xbd4420 on_row = 1 row = 15 col = 2 retval = 0 #17 0x00007ffff74992e8 in _gtk_marshal_BOOLEAN__BOXED (closure=0xc080e0, return_value=0x7fffffffdfa0, n_param_values=<optimized out>, param_values=0x7fffdc00b520, invocation_hint=<optimized out>, marshal_data=<optimized out>) at /tmp/buildd/gtk+2.0-2.24.8/gtk/gtkmarshalers.c:86 callback = 0x627700 <gtk_sctree_button_press> cc = 0xc080e0 data1 = 0xbd4420 data2 = <optimized out> v_return = <optimized out> __PRETTY_FUNCTION__ = "_gtk_marshal_BOOLEAN__BOXED" #18 0x00007ffff51dc804 in g_closure_invoke (closure=0xc080e0, return_value=0x7fffffffdfa0, n_param_values=2, param_values=0x7fffdc00b520, invocation_hint=<optimized out>) at /tmp/buildd/glib2.0-2.30.2/./gobject/gclosure.c:774 marshal = 0x7ffff51db0a0 <g_type_class_meta_marshal> marshal_data = <optimized out> in_marshal = <optimized out> __PRETTY_FUNCTION__ = "g_closure_invoke" #19 0x00007ffff51ee5bf in signal_emit_unlocked_R (node=<optimized out>, detail=0, instance=0xbd4420, emission_return=0x7fffffffe100, instance_and_params=0x7fffdc00b520) at /tmp/buildd/glib2.0-2.30.2/./gobject/gsignal.c:3310 accumulator = 0xbd2d40 emission = {next = 0x0, instance = 0xbd4420, ihint = {signal_id = 43, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = 12443552} class_closure = 0xc080e0 hlist = 0x0 handler_list = 0xd72130 return_accu = 0x7fffffffdfa0 accu = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} signal_id = 43 max_sequential_handler_number = 3622 return_value_altered = 1 #20 0x00007ffff51f7be3 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=<optimized out>) at /tmp/buildd/glib2.0-2.30.2/./gobject/gsignal.c:3013 return_value = {g_type = 20, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} error = 0x0 rtype = 20 static_scope = 0 instance_and_params = 0x7fffdc00b520 signal_return_type = 20 param_values = 0x7fffdc00b538 node = 0xc08b20 i = <optimized out> n_params = 1 __PRETTY_FUNCTION__ = "g_signal_emit_valist" #21 0x00007ffff51f7fb2 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at /tmp/buildd/glib2.0-2.30.2/./gobject/gsignal.c:3060 var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffffffe240, reg_save_area = 0x7fffffffe180}} #22 0x00007ffff75b2141 in gtk_widget_event_internal (widget=0xbd4420, event=0xfb4150) at /tmp/buildd/gtk+2.0-2.24.8/gtk/gtkwidget.c:4984 signal_num = <optimized out> return_val = 0 #23 0x00007ffff74974a3 in IA__gtk_propagate_event (widget=0xbd4420, event=0xfb4150) at /tmp/buildd/gtk+2.0-2.24.8/gtk/gtkmain.c:2489 tmp = <optimized out> handled_event = <optimized out> __PRETTY_FUNCTION__ = "IA__gtk_propagate_event" #24 0x00007ffff7497803 in IA__gtk_main_do_event (event=0xfb4150) at /tmp/buildd/gtk+2.0-2.24.8/gtk/gtkmain.c:1684 event_widget = <optimized out> grab_widget = 0xbd4420 window_group = <optimized out> rewritten_event = <optimized out> tmp_list = <optimized out> __PRETTY_FUNCTION__ = "IA__gtk_main_do_event" #25 0x00007ffff71031cc in gdk_event_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at /tmp/buildd/gtk+2.0-2.24.8/gdk/x11/gdkevents-x11.c:2377 display = <optimized out> event = 0xfb4150 #26 0x00007ffff4d170cf in g_main_dispatch (context=0xbdd6f0) at /tmp/buildd/glib2.0-2.30.2/./glib/gmain.c:2442 dispatch = 0x7ffff7103180 <gdk_event_dispatch> was_in_call = 0 user_data = 0x0 callback = 0 cb_funcs = 0x0 cb_data = 0x0 current_source_link = {data = 0xbdd600, next = 0x0} need_destroy = <optimized out> source = 0xbdd600 current = 0xe0fc60 i = <optimized out> #27 g_main_context_dispatch (context=0xbdd6f0) at /tmp/buildd/glib2.0-2.30.2/./glib/gmain.c:2998 No locals. #28 0x00007ffff4d178c8 in g_main_context_iterate (context=0xbdd6f0, block=<optimized out>, dispatch=1, self=<optimized out>) at /tmp/buildd/glib2.0-2.30.2/./glib/gmain.c:3076 max_priority = 2147483647 timeout = 446 some_ready = 1 nfds = 9 allocated_nfds = <optimized out> fds = <optimized out> #29 0x00007ffff4d17e02 in g_main_loop_run (loop=0x9a3300) at /tmp/buildd/glib2.0-2.30.2/./glib/gmain.c:3284 __PRETTY_FUNCTION__ = "g_main_loop_run" #30 0x00007ffff7496857 in IA__gtk_main () at /tmp/buildd/gtk+2.0-2.24.8/gtk/gtkmain.c:1256 tmp_list = <optimized out> functions = 0x0 init = <optimized out> loop = 0x9a3300 #31 0x000000000044dc70 in main (argc=1, argv=0x7fffffffe8b8) at main.c:1653 connection = 0xbe11f8 error = 0x0 nm_proxy = 0xbd6b10 userrc = <optimized out> mainwin = 0xc21a70 folderview = 0xd67660 icon = 0xc148f0 crash_file_present = <optimized out> num_folder_class = <optimized out> asked_for_migration = <optimized out> start_done = <optimized out> gui_manager = <optimized out> plug_list = 0x0 never_ran = 0 start = {tv_sec = 1327935847, tv_usec = 127508} end = {tv_sec = 1327935848, tv_usec = 283491} diff = {tv_sec = 1, tv_usec = 155983} timing_name = 0x65e8e8 "startup" __FUNCTION__ = "main" A debugging session is active. Inferior 1 [process 28742] will be killed. Quit anyway? (y or n)