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 755347 - evolution-source-registry crashed with SIGABRT in g_assertion_message() (assertion hash_table->ref_count > 0 failed)
evolution-source-registry crashed with SIGABRT in g_assertion_message() (asse...
Status: RESOLVED INCOMPLETE
Product: evolution-data-server
Classification: Platform
Component: general
3.16.x (obsolete)
Other Linux
: Normal critical
: ---
Assigned To: Evolution Shell Maintainers Team
Evolution QA team
https://bugs.launchpad.net/evolution-...
Depends on:
Blocks:
 
 
Reported: 2015-09-21 13:09 UTC by Iain Lane
Modified: 2019-11-12 17:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Stacktrace with source (4.75 KB, text/plain)
2015-09-21 13:09 UTC, Iain Lane
Details

Description Iain Lane 2015-09-21 13:09:43 UTC
Created attachment 311750 [details]
Stacktrace with source

We've got some reports of this crash in Launchpad and errors.ubuntu.com from 3.16 (this trace is from 3.16.5 but there are some reports from 3.16.4 - this looks like the first affected version AFAICS).

I don't know what the cause is and I haven't yet reproduced a crash but I asked the reporter over there - if he comes back then I'll update this bug.

In the meantime maybe the trace is useful to you.

There's a comment in ghash.c around the assertion we're hitting:

  /* If this happens, then the application is probably doing too much work
   * from a destroy notifier. The alternative would be to crash any second
   * (as keys, etc. will be NULL).
   * Applications need to either use g_hash_table_destroy, or ensure the hash
   * table is empty prior to removing the last reference using g_hash_table_unref(). */
  g_assert (hash_table->ref_count > 0);
Comment 1 Milan Crha 2015-09-21 16:25:26 UTC
Thanks for a bug report. The code in the backtrace had been added within bug #749135, which is in 3.16.3 and beyond. I do not understand why this is the first instance of the crash, when it is out for so long (I would guess it'll strike much sooner, but it can be it has only something to do with Ubuntu Online Accounts?).

Could you ask the reporter:

* what accounts he/she has configured, whether any are from Ubuntu Online
  Accounts or GNOME Online Accounts
* whether it crashes also when he/she runs the evolution-source-registry
  from a terminal manually
* whether running the source registry under valgrind will also reproduce the
  crash (it can happen that other timing, due to all slowness caused by the
  memory checking, will not trigger the crash, but also that the valgrind will
  log about the issue and will keep the application running). The command
  might look like (I do not know exact location of the executable, thus
  it can differ in your distribution):
  $ G_SLICE=always-malloc valgrind /usr/libexec/evolution-source-registry &>log

please?

I'm pasting the bcaktrace for better searching:

 #0  0x00007f00a3f5f267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55
  [Error: raise.c was not found in source tree]
  • #1 __GI_abort
    at abort.c line 89
  • #2 g_assertion_message
  • #3 g_assertion_message_expr
    at /build/glib2.0-hcw3A1/glib2.0-2.45.7/./glib/gtestutils.c line 2444
  • #4 g_hash_table_lookup_node
    at /build/glib2.0-hcw3A1/glib2.0-2.45.7/./glib/ghash.c line 373
  • #5 g_hash_table_lookup
    at /build/glib2.0-hcw3A1/glib2.0-2.45.7/./glib/ghash.c line 1147
  • #6 e_source_get_extension
    at e-source.c line 3153
  • #7 collection_backend_dispose
    at e-collection-backend.c line 722
  • #8 g_object_unref
    at /build/glib2.0-hcw3A1/glib2.0-2.45.7/./gobject/gobject.c line 3143
  • #9 g_datalist_clear
    at /build/glib2.0-hcw3A1/glib2.0-2.45.7/./glib/gdataset.c line 273
  • #10 g_object_unref
    at /build/glib2.0-hcw3A1/glib2.0-2.45.7/./gobject/gobject.c line 3180
  • #11 async_context_free
    at e-source-credentials-provider.c line 590
  • #12 g_task_finalize
    at /build/glib2.0-hcw3A1/glib2.0-2.45.7/./gio/gtask.c line 633
  • #13 g_object_unref
    at /build/glib2.0-hcw3A1/glib2.0-2.45.7/./gobject/gobject.c line 3180
  • #14 g_task_thread_pool_thread
    at /build/glib2.0-hcw3A1/glib2.0-2.45.7/./gio/gtask.c line 1286
  • #15 g_thread_pool_thread_proxy
    at /build/glib2.0-hcw3A1/glib2.0-2.45.7/./glib/gthreadpool.c line 307
  • #16 g_thread_proxy
    at /build/glib2.0-hcw3A1/glib2.0-2.45.7/./glib/gthread.c line 778
  • #17 start_thread
    at pthread_create.c line 333
  • #18 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 109

Comment 2 Iain Lane 2015-09-21 16:46:04 UTC
Ah, I just looked and .4 was the first release in the 3.16 series that we shipped (starting on July 20). We have "only" 50 reports of this so I didn't notice until now, sorry about that.

I proxied your questions.
Comment 3 Sebastien Bacher 2015-09-22 11:46:53 UTC
Unsure if that's the same issue bug I reported and invalid read error triggered by turning ubuntu online accounts off/on, see bug #755410
Comment 4 Alexandre Franke 2019-11-12 17:37:55 UTC
Closing this bug report as no further information has been provided. Please feel free to reopen this bug report if you can provide the information that was asked for in a previous comment.
Thanks!