After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 672688 - imapx: Deleting message while its contents are being downloaded causes crash
imapx: Deleting message while its contents are being downloaded causes crash
Status: RESOLVED DUPLICATE of bug 672717
Product: evolution
Classification: Applications
Component: Mailer
3.4.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2012-03-23 12:52 UTC by Priit Laes (IRC: plaes)
Modified: 2013-09-13 01:07 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Priit Laes (IRC: plaes) 2012-03-23 12:52:33 UTC
Select message that doesn't have its contents downloaded and delete it. Observe crash.

Evolution-3.3.92

Backtrace:

(evolution:23742): camel-imapx-CRITICAL **: camel_imapx_command_unref: assertion `real_ic->ref_count > 0' failed

(evolution:23742): GLib-WARNING **: GError set over the top of a previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before it's set.
The overwriting error message was: Operatsioon tühistati

(evolution:23742): camel-imapx-CRITICAL **: camel_imapx_command_unref: assertion `real_ic->ref_count > 0' failed

(evolution:23742): camel-imapx-WARNING **: camel_imapx_command_queue_delete_link: Link not found in queue

Program received signal SIGSEGV, Segmentation fault.

Thread 2849659760 (LWP 23772)

  • #0 camel_imapx_command_close
    at camel-imapx-command.c line 481
  • #1 imapx_command_start
    at camel-imapx-server.c line 499
  • #2 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #3 imapx_command_queue
    at camel-imapx-server.c line 830
  • #4 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #5 imapx_command_start
    at camel-imapx-server.c line 553
  • #6 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #7 imapx_command_queue
    at camel-imapx-server.c line 830
  • #8 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #9 imapx_command_start
    at camel-imapx-server.c line 553
  • #10 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #11 imapx_command_queue
    at camel-imapx-server.c line 830
  • #12 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #13 imapx_command_start
    at camel-imapx-server.c line 553
  • #14 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #15 imapx_command_queue
    at camel-imapx-server.c line 830
  • #16 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #17 imapx_command_start
    at camel-imapx-server.c line 553
  • #18 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #19 imapx_command_queue
    at camel-imapx-server.c line 830
  • #20 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #21 imapx_command_start
    at camel-imapx-server.c line 553
  • #22 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #23 imapx_command_queue
    at camel-imapx-server.c line 830
  • #24 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #25 imapx_command_start
    at camel-imapx-server.c line 553
  • #26 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #27 imapx_command_queue
    at camel-imapx-server.c line 830
  • #28 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #29 imapx_command_start
    at camel-imapx-server.c line 553
  • #30 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #31 imapx_command_queue
    at camel-imapx-server.c line 830
  • #32 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #33 imapx_command_start
    at camel-imapx-server.c line 553
  • #34 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #35 imapx_command_queue
    at camel-imapx-server.c line 830
  • #36 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #37 imapx_command_start
    at camel-imapx-server.c line 553
  • #38 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #39 imapx_command_queue
    at camel-imapx-server.c line 830
  • #40 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #41 imapx_command_start
    at camel-imapx-server.c line 553
  • #42 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #43 imapx_command_queue
    at camel-imapx-server.c line 830
  • #44 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #45 imapx_command_start
    at camel-imapx-server.c line 553
  • #46 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #47 imapx_command_queue
    at camel-imapx-server.c line 830
  • #48 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #49 imapx_command_start
    at camel-imapx-server.c line 553
  • #50 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #51 imapx_command_queue
    at camel-imapx-server.c line 830
  • #52 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #53 imapx_command_start
    at camel-imapx-server.c line 553
  • #54 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #55 imapx_command_queue
    at camel-imapx-server.c line 830
  • #56 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177

Comment 1 Priit Laes (IRC: plaes) 2012-03-23 12:54:11 UTC
"Operatsioon tühistati" means "Operation cancelled"
Comment 2 Matthew Barnes 2012-03-23 13:28:03 UTC
If this is repeatable, can you try running Evolution with "G_DEBUG=fatal_criticals" and get a backtrace where that first CRITICAL warning hits?

This looks very much like the reference counting issue I'm currently trying to hunt down, but I've not yet found the source of the problem.  Knowing where that first warning is coming from would help immensely.
Comment 3 Priit Laes (IRC: plaes) 2012-03-23 13:35:29 UTC
Here we go (just moving around in message list causes that):

(evolution:24149): camel-imapx-CRITICAL **: camel_imapx_command_unref: assertion `real_ic->ref_count > 0' failed

Program received signal SIGTRAP, Trace/breakpoint trap.

Thread 2908740464 (LWP 24179)

  • #0 g_logv
    at gmessages.c line 765
  • #1 g_log
    at gmessages.c line 792
  • #2 g_return_if_fail_warning
    at gmessages.c line 801
  • #3 camel_imapx_command_unref
    at camel-imapx-command.c line 112
  • #4 camel_imapx_command_queue_delete_link
    at camel-imapx-command.c line 665
  • #5 imapx_command_start_next
    at camel-imapx-server.c line 731
  • #6 imapx_command_queue
    at camel-imapx-server.c line 830
  • #7 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #8 imapx_command_start
    at camel-imapx-server.c line 553
  • #9 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #10 imapx_command_queue
    at camel-imapx-server.c line 830
  • #11 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #12 imapx_completion
    at camel-imapx-server.c line 1778
  • #13 imapx_step
    at camel-imapx-server.c line 1805
  • #14 parse_contents
    at camel-imapx-server.c line 5122
  • #15 imapx_parser_thread
    at camel-imapx-server.c line 5169
  • #16 g_thread_proxy
    at gthread.c line 801
  • #17 start_thread
    at pthread_create.c line 301
  • #18 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 133
  • #0 g_logv
    at gmessages.c line 765
  • #1 g_log
    at gmessages.c line 792
  • #2 g_return_if_fail_warning
    at gmessages.c line 801
  • #3 camel_imapx_command_unref
    at camel-imapx-command.c line 112
  • #4 camel_imapx_command_queue_delete_link
    at camel-imapx-command.c line 665
  • #5 imapx_command_start_next
    at camel-imapx-server.c line 731
  • #6 imapx_command_queue
    at camel-imapx-server.c line 830
  • #7 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #8 imapx_command_start
    at camel-imapx-server.c line 553
  • #9 imapx_command_start_next
    at camel-imapx-server.c line 730
  • #10 imapx_command_queue
    at camel-imapx-server.c line 830
  • #11 imapx_command_fetch_message_done
    at camel-imapx-server.c line 3177
  • #12 imapx_completion
    at camel-imapx-server.c line 1778
  • #13 imapx_step
    at camel-imapx-server.c line 1805
  • #14 parse_contents
    at camel-imapx-server.c line 5122
  • #15 imapx_parser_thread
    at camel-imapx-server.c line 5169
  • #16 g_thread_proxy
    at gthread.c line 801
  • #17 start_thread
    at pthread_create.c line 301
  • #18 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 133

Comment 4 Christian Hilberg 2012-03-23 14:00:37 UTC
This will also affect evolution-kolab, since it uses Camel IMAPX as mail engine.
Comment 5 Matthew Barnes 2012-03-23 21:18:09 UTC

*** This bug has been marked as a duplicate of bug 672717 ***