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 753659 - SIGABRT due to failed assert
SIGABRT due to failed assert
Status: RESOLVED DUPLICATE of bug 732018
Product: evolution-data-server
Classification: Platform
Component: Mailer
3.12.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: evolution-mail-maintainers
Evolution QA team
Depends on:
Blocks:
 
 
Reported: 2015-08-15 16:13 UTC by Paul Menzel
Modified: 2015-08-19 15:05 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Paul Menzel 2015-08-15 16:13:57 UTC
With a slow mobile connection Evolution 3.12 terminated with a SIGABRT. I found a similar backtrace in the Launchpad bug tracker.

Here is the backtrace I have.

```Core was generated by `evolution'.
Program terminated with signal SIGABRT, Aborted.
  • #0 __kernel_vsyscall
  • #0 __kernel_vsyscall
  • #1 __GI_raise
    at ../nptl/sysdeps/unix/sysv/linux/raise.c line 56
  • #2 __GI_abort
    at abort.c line 89
  • #3 g_assertion_message
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./glib/gtestutils.c line 2291
  • #4 g_assertion_message_expr
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./glib/gtestutils.c line 2306
  • #5 end_gnutls_io
    at gtlsconnection-gnutls.c line 688
  • #6 g_tls_connection_gnutls_read
    at gtlsconnection-gnutls.c line 1492
  • #7 g_tls_input_stream_gnutls_read
    at gtlsinputstream-gnutls.c line 60
  • #8 g_input_stream_read
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./gio/ginputstream.c line 195
  • #9 g_pollable_stream_read
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./gio/gpollableutils.c line 203
  • #10 fill_input_buffer
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./gio/gconverterinputstream.c line 358
  • #11 read_internal
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./gio/gconverterinputstream.c line 421
  • #12 g_input_stream_read
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./gio/ginputstream.c line 195
  • #13 imapx_input_stream_fill
    at camel-imapx-input-stream.c line 77
  • #14 camel_imapx_input_stream_token
    at camel-imapx-input-stream.c line 707
  • #15 imapx_parse_fetch
    at camel-imapx-utils.c line 2050
  • #16 imapx_untagged_fetch
    at camel-imapx-server.c line 2166
  • #17 imapx_untagged
    at camel-imapx-server.c line 3037
  • #18 imapx_step
    at camel-imapx-server.c line 3428
  • #19 imapx_ready_to_read
    at camel-imapx-server.c line 7666
  • #20 pollable_source_dispatch
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./gio/gpollableutils.c line 50
  • #21 g_main_dispatch
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./glib/gmain.c line 3111
  • #22 g_main_context_dispatch
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./glib/gmain.c line 3710
  • #23 g_main_context_iterate
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./glib/gmain.c line 3781
  • #24 g_main_loop_run
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./glib/gmain.c line 3975
  • #25 imapx_parser_thread
    at camel-imapx-server.c line 7782
  • #26 g_thread_proxy
    at /build/glib2.0-EvFudu/glib2.0-2.42.1/./glib/gthread.c line 764
  • #27 start_thread
    at pthread_create.c line 309
  • #28 clone
    at ../sysdeps/unix/sysv/linux/i386/clone.S line 129

```

[1] https://lists.launchpad.net/desktop-packages/msg74154.html
Comment 1 Emmanuele Bassi (:ebassi) 2015-08-15 16:27:45 UTC
The trace is an assertion failure because a GError argument was not passed as NULL, or as a pointer to NULL, to g_tls_connection_gnutls_read()

Looking through the stack and its implementation, we can see that the GErrors are just passed through from GIO to the GnuTLS implementation — and the first function that does not have a GError, but creates it and passes it down, is imapx_ready_to_read().

This means it's an Evolution issue.

I've briefly looked at the code, and it seems that imapx_ready_to_read() is either not there any more in master, or it's in a separate library; which may mean that the error may be gone in the next major release of Evolution.

In the meantime, I'm going to reassign the bug to the right component.
Comment 2 Milan Crha 2015-08-19 15:05:10 UTC
(In reply to Emmanuele Bassi (:ebassi) from comment #1)
> This means it's an Evolution issue.

True, together with the investigation above it.

> I've briefly looked at the code, and it seems that imapx_ready_to_read() is
> either not there any more in master

True

> which may mean that the error may be gone in the next major release
> of Evolution.

And also true. :)

> In the meantime, I'm going to reassign the bug to the right component.

Thanks. The bug report where the fixes (for 3.16.x) were done is bug #732018.

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