GNOME Bugzilla – Bug 617557
Can close composer while message is sending
Last modified: 2012-06-26 16:30:18 UTC
Hi there, I have installed Ubuntu 10.04, which doesn't include the latest stable release, but 2.28.3. And I experience a weird issue: when I quit the program with an unfinished message, evolution doesn't ask whether I want to save the message. This might be a bug and it is easily reproducible: start Evolution, start a new message and quit Evolution. Could you please check and fix this? Thanks for your help, Pablo PS: I guessed the component. Sorry if this was wrong.
But on restarting evolution, don't you get message - Do you want to recover unfinished message ?
I get the message, but not always and most of the time the recovered text is complete. Sorry, but I don't understand your question: the autosave feature was thought for accidental program crashes, not for the lack of a warning message before quitting evolution with unfinished (or even unsent) messages. After seven years using evolution, this is the first time (after switching to Ubuntu), that I experience this. If this is not a bug, the feature is hardly indistinguishable from a bug. Thanks for your help, Pablo
(In reply to comment #2) > I get the message, but not always and most of the time the recovered text is > complete. I mean, most of the time the recovered text is *in*complete. Sorry for the typo.
I have discovered that is a real bug, since evolution 2.28.x crashes when quitting with an unfinished message. Ubuntu doesn't come with Bug Buddy (or evolution doesn't include its functionality), it seemed that there was no crash. I have tested it live with both Mandriva and openSUSE stable versions. Would you be so kind to fix this? Thanks for your help, Pablo Distribution: openSUSE 11.2 (i586) Gnome Release: 2.28.0 (null) (SUSE) BugBuddy Version: 2.28.0 System: Linux 2.6.31.5-0.1-default #1 SMP 2009-10-26 15:49:03 +0100 i686 X Vendor: The X.Org Foundation X Vendor Release: 10605000 Selinux: No Accessibility: Disabled GTK+ Theme: Sonar Icon Theme: Gilouche GTK+ Modules: canberra-gtk-module, gnomebreakpad Memory status: size: 0 vsize: 0 resident: 0 share: 0 rss: 0 rss_rlim: 0 CPU usage: start_time: 0 rtime: 0 utime: 0 stime: 0 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 0 ---- Critical and fatal warnings logged during execution ---- ** e-attachment-view.c **: e_attachment_view_get_store: assertion `E_IS_ATTACHMENT_VIEW (view)' failed ** composer **: e_composer_header_table_get_subject: assertion `E_IS_COMPOSER_HEADER_TABLE (table)' failed ** composer **: e_composer_header_table_get_account: assertion `E_IS_COMPOSER_HEADER_TABLE (table)' failed ** composer **: e_composer_header_table_get_reply_to: assertion `E_IS_COMPOSER_HEADER_TABLE (table)' failed ** composer **: e_composer_header_table_get_header: assertion `E_IS_COMPOSER_HEADER_TABLE (table)' failed ** composer **: e_composer_header_get_visible: assertion `E_IS_COMPOSER_HEADER (header)' failed ** composer **: e_composer_header_table_get_header: assertion `E_IS_COMPOSER_HEADER_TABLE (table)' failed ** composer **: e_composer_header_get_visible: assertion `E_IS_COMPOSER_HEADER (header)' failed ** Gtk **: gtk_ui_manager_get_action_groups: assertion `GTK_IS_UI_MANAGER (self)' failed ** gtkhtml-editor **: gtkhtml_editor_get_action: assertion `action != NULL' failed ** Gtk **: gtk_toggle_action_get_active: assertion `GTK_IS_TOGGLE_ACTION (action)' failed ** Gtk **: gtk_ui_manager_get_action_groups: assertion `GTK_IS_UI_MANAGER (self)' failed ** gtkhtml-editor **: gtkhtml_editor_get_action: assertion `action != NULL' failed ** Gtk **: gtk_toggle_action_get_active: assertion `GTK_IS_TOGGLE_ACTION (action)' failed ** gtkhtml **: gtk_html_export: assertion `html != NULL' failed ----------- .xsession-errors (108 sec old) --------------------- INFO (main:38) No docking station detected, exiting... ** (bluetooth-applet:3203): WARNING **: Could not open RFKILL control device, please verify your installation (gnome-power-manager:3200): GLib-GObject-WARNING **: value "-0.000000" of type `gdouble' is invalid or out of range for property `energy' of type `gdouble' (gnome-power-manager:3200): GLib-GObject-WARNING **: value "nan" of type `gdouble' is invalid or out of range for property `percentage' of type `gdouble' (gnome-settings-daemon:3120): GLib-GObject-CRITICAL **: g_param_spec_flags: assertion `G_TYPE_IS_FLAGS (flags_type)' failed (gnome-settings-daemon:3120): GLib-GObject-CRITICAL **: g_object_class_install_property: assertion `G_IS_PARAM_SPEC (pspec)' failed Failed to play sound: File or data not found Initializing nautilus-share extension Initializing nautilus-open-terminal extension -------------------------------------------------- Distribution: Mandriva Linux release 2010.0 (Official) for i586 Gnome Release: 2.28.0 2009-10-22 (Mandriva) BugBuddy Version: 2.28.0 System: Linux 2.6.31.5-desktop586-1mnb #1 SMP Fri Oct 23 00:21:26 EDT 2009 i686 X Vendor: The X.Org Foundation X Vendor Release: 10605000 Selinux: No Accessibility: Disabled GTK+ Theme: Ia Ora Steel Icon Theme: gnome GTK+ Modules: canberra-gtk-module, gnomebreakpad Memory status: size: 0 vsize: 0 resident: 0 share: 0 rss: 0 rss_rlim: 0 CPU usage: start_time: 0 rtime: 0 utime: 0 stime: 0 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 0 ---- Critical and fatal warnings logged during execution ---- ** e-attachment-view.c **: e_attachment_view_get_store: assertion `E_IS_ATTACHMENT_VIEW (view)' failed ** composer **: e_composer_header_table_get_subject: assertion `E_IS_COMPOSER_HEADER_TABLE (table)' failed ** composer **: e_composer_header_table_get_account: assertion `E_IS_COMPOSER_HEADER_TABLE (table)' failed ** composer **: e_composer_header_table_get_reply_to: assertion `E_IS_COMPOSER_HEADER_TABLE (table)' failed ** composer **: e_composer_header_table_get_header: assertion `E_IS_COMPOSER_HEADER_TABLE (table)' failed ** composer **: e_composer_header_get_visible: assertion `E_IS_COMPOSER_HEADER (header)' failed ** composer **: e_composer_header_table_get_header: assertion `E_IS_COMPOSER_HEADER_TABLE (table)' failed ** composer **: e_composer_header_get_visible: assertion `E_IS_COMPOSER_HEADER (header)' failed ** Gtk **: gtk_ui_manager_get_action_groups: assertion `GTK_IS_UI_MANAGER (self)' failed ** gtkhtml-editor **: gtkhtml_editor_get_action: assertion `action != NULL' failed ** Gtk **: gtk_toggle_action_get_active: assertion `GTK_IS_TOGGLE_ACTION (action)' failed ** Gtk **: gtk_ui_manager_get_action_groups: assertion `GTK_IS_UI_MANAGER (self)' failed ** gtkhtml-editor **: gtkhtml_editor_get_action: assertion `action != NULL' failed ** Gtk **: gtk_toggle_action_get_active: assertion `GTK_IS_TOGGLE_ACTION (action)' failed ** gtkhtml **: gtk_html_export: assertion `html != NULL' failed ----------- .xsession-errors --------------------- (evolution:6260): composer-CRITICAL **: e_composer_header_get_visible: assertion `E_IS_COMPOSER_HEADER (header)' failed (evolution:6260): Gtk-CRITICAL **: gtk_ui_manager_get_action_groups: assertion `GTK_IS_UI_MANAGER (self)' failed (evolution:6260): gtkhtml-editor-CRITICAL **: gtkhtml_editor_get_action: assertion `action != NULL' failed (evolution:6260): Gtk-CRITICAL **: gtk_toggle_action_get_active: assertion `GTK_IS_TOGGLE_ACTION (action)' failed (evolution:6260): Gtk-CRITICAL **: gtk_ui_manager_get_action_groups: assertion `GTK_IS_UI_MANAGER (self)' failed (evolution:6260): gtkhtml-editor-CRITICAL **: gtkhtml_editor_get_action: assertion `action != NULL' failed (evolution:6260): Gtk-CRITICAL **: gtk_toggle_action_get_active: assertion `GTK_IS_TOGGLE_ACTION (action)' failed (evolution:6260): gtkhtml-CRITICAL **: gtk_html_export: assertion `html != NULL' failed --------------------------------------------------
Hi Akhil, you marked this message as NEEDINFO and I provided both the reply to your question and the report for the bug. Could you please update the status? Thanks for your help, Pablo
I have installed bug-buddy in Ubuntu 10.04, but it doesn't seem to work with evolution, since evolution still crashes, but bug-buddy doesn't launch. BTW, I have discovered that the crash might not be caused by having unfinished messages or it also crashes when having an autosaved message. I mean, yesterday I replied to a message with a lengthy message from me. Before quitting, I sent the message. But when I started evolution today, I was asked if I wanted to recover an unfinished message. I discovered that was the lengthy message and it wasn't completely saved. I think that the crash might be due to autosaved messages, but since bug-buddy doesn't work here, I cannot check this. Could you check and confirm this? Thanks for your help, Pablo
Reproducer steps from duplicate downstream bug: https://bugzilla.redhat.com/show_bug.cgi?id=590373 When I closed the message window, there was no dialogue asking whether I wanted to save the message (I don't know whether there was a crash or not). After restarting, there was no message to recover the unfinished message. 1. Start evolution. 2. Compose a new message. 3. Write "test" in the body. 4. Switch to evolution main window and close it. 5. If it hasn't been closed, close the new message window. If there is no message in 4 or 5 asking whether the user wants to save the message, there is a bug there.
I have been editing a reply and I closed the message saving it and closed evolution after that. After restarting evolution again, I find that evolution wants me to recover unfinished messages and provides me with two different versions from the same message, which is already saved. There must be something wrong with message saving, since opening messages from the Drafts folder and closing it without any modification prompts the user for saving them. The original bug describes the malfunction in 2.28.x and Matthew Barnes has posted my bug report about version 2.30 (https://bugzilla.redhat.com/show_bug.cgi?id=590373). These two bugs are slightly different from one another. I would really appreciate if you could fix both bugs (Ubuntu won't ship 2.30 in 10.04). Thanks for your help, Pablo
Hi Pablo, pity, but there is not planned any update to 2.28, that the Evolution products had 2.28.3 update was also rather an exception than a rule, as since this year only .2 updates were officially planned by Gnome release team. Thus any changes regarding this bug will be done on actual master (2.31) and maybe the stable (2.30), but you can always ask your distribution maintainers to backport fix to the version they are offering to users. (I do not have any fix for this, thus even 2.3x versions can shift.)
Created attachment 161658 [details] [review] evo patch for evolution; This change makes it behave as expected for me. I suspect EShell's notifier prevented call of the default handler. Nonetheless, let's have it go through the signal handler mechanism like anyone else.
Created commit 8e3af30 in evo master (2.31.2+) Created commit 6139fb4 in evo gnome-2-30 (2.30.2+)
Thanks, Milan, for the patch. I also experience a weird bug when opening drafts. If I open and I close them without modifying them, the "Warning: Modified Message" dialog appears and this is wrong, since the message isn't modified. Should I open a new bug report? Thanks again for your help, Pablo
Yes, preferably a new bugreport, even, there is one closed already about asking for saving changes when not changed, so it seems patch from there didn't catch everything. You can reopen that bug too. (I do not have the number handy.)
I have only checked this in version 2.28.3, so if this was fixed later, the patch might have cached everything. Do your remember whether it was fixed in version 2.30?
I tested your scenario before writing comment #13 on actual master and it's still there.
Reopening. Downstream bug reporter found one more way of this, when using File->Quit in the main application window, then the composed message is lost, no question for save.
Created attachment 163673 [details] [review] evo patch ][ for evolution; Using quit mechanism properly with the message composer. I also noticed one bug with the previous patch, I changed a returned value to FALSE in msg_composer_delete_event_cb, which made composer window gone before it had time to save draft. It's fixed now too.
Created commit dfb3b91 in evo master (2.31.4+) Created commit a7f5355 in evo gnome-2-30 (2.30.2+) (slightly modified patch)
*** Bug 621637 has been marked as a duplicate of this bug. ***
I reopen this bug after composing a reply to a message I got and loosing it without evolution prompting to save the message. I'm using evolution-3.2.3. The problem was that I started to send the message, but I cancelled it when asked for the password, after that I closed the window and it disappeared. To reproduce the bug: ctrl+r, write something on the message, ctrl+enter, cancel (when prompted for the password), alt+f4. If you write anything after the sending was cancelled, the saving dialog will appear (unluckily, I hadn't done it). Would it be possible that evolution prompts for message saving when composing window is closed ***no matter what happened before***? Sorry, but this is a basic bug and I lost 90 minutes working on the reply. Many thanks for your great work, Pablo
I have just discovered that it hasn't to be a reply. Composing a new message, ctrl+enter and esc when prompted for password and closing window hits the bug. Just in case it helps, Pablo
Created attachment 208772 [details] [review] evo patch ]I[ for evolution; Nice catch, the composer didn't respond to errors very well, left it in unchanged state. I hope I covered most of the error cases with this patch.
Created commit 78cd0d0 in evo master (3.3.91+)
Many thanks for your fix, Milan. Would it be possible to create a patch for the latest stable version? (Loosing messages isn't something pleasant to experience.) Many thanks again for your help, Pablo
It should be identical, more or less. The 3.2.3 is basically obsolete these days for upstream, thus your distro maintainer can take the patch and backport it.
Well I'm reopening the bug, since I lost another message again. The issue is that I loose messages that took me hours to compose (about 180 minutes) and that I have to compose the message again. You can reduplicate the bug following the steps: -Compose a new message. -Send the message. -Before the password window appears, press Esc three times. -Message is lost forever. I wanted to cancel the sending of the message (to proofread it), In any case, canceling the sending of the message should never cancel the message itself. Many thanks for your help, Pablo
Sorry, I was mistaken. You must press Esc many times (more than five to get message lost). Many thanks, Pablo
I suppose you are on 3.4.x now, are you?
No, I'm afraid I'm on 3.2.3. I cannot easily check this on 3.4.x (although I guess the bug persists in that version). Can't you reproduce it on 3.4.x? Many thanks for your help, Pablo
I tried with 3.4.3 and I cannot reproduce exactly the same issue as you describe here. I tried your steps from comment #26 and even I store password for the account I have a little time to press Esc to "cancel' sending. The thing is that the Esc press is not treated as message send cancellation, it just "closes" (it hid it) the composer window. After I get an error prompt from the sending, I press Esc again, but then I receive a crash of evolution (see the backtrace below). I suppose making sure that closing window during message sending will not be possible, it'll cancel sending instead, is the way to go.
+ Trace 230434
Thread 1 (Thread 0x7f3393800a00 (LWP 16497))
Created attachment 217272 [details] [review] evo patch IV for evolution; This makes sure the composer is not closed when an asynchronous operation is running. The is no access to the cancellable of the asynchronous operation from the close action, thus, with this patch, the Esc press does nothing during the asynchronous operation being run. Use mouse to cancel it.
Created commit 137eec9 in evo master (3.5.4+) Created commit e09846d in evo gnome-3-4 (3.4.4+)
Many thanks for the fix. Pablo