Bug 1374840

Summary: gnome-contacts-search-provider eats 100% CPU and Memory
Product: [Fedora] Fedora Reporter: Parag Warudkar <parag.lkml>
Component: gnome-contactsAssignee: Elad Alfassa <elad>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 24CC: alexl, elad, fedoraparked
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-08 17:13:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Backtraces none

Description Parag Warudkar 2016-09-09 19:11:20 UTC
Created attachment 1199592 [details]
Backtraces

Description of problem:

I have a EWS account setup in Evolution. gnome-contacts-search-provider seems to be stuck using 100% CPU and ever increasing amounts of memory (20GB+ until I kill it). Killing just restarts the process and same problem happens again. Cache Offline Addressbook is set but unsure if that matters. 

Version-Release number of selected component (if applicable):
3.20.0-1.fc24.x86_64

How reproducible:
Always reproducible.

Steps to Reproduce:
1. Setup EWS account, check cache global address book after fetching it during setup.
2. Fetch mail
3. Watch top for the process taking up all your memory and 100% CPU.

Actual results:
Very high/ever increasing CPU and memory utilization only cured by killing the process after which it restart and lands into the same problem again.

Expected results:
Should not use considerable amount of CPU and RAM and finish running.

Additional info:
I managed to install debug-info for related packages and get a core dump and usable back traces from the running process. They are attached, one from the core is below.

Core was generated by `/usr/libexec/gnome-contacts-search-provider'.
#0  g_unichar_tolower (c=57) at guniprop.c:571
571	  if (t == G_UNICODE_UPPERCASE_LETTER)
[Current thread is 1 (Thread 0x7f5710d94ac0 (LWP 17607))]
(gdb) bt
#0  g_unichar_tolower (c=57) at guniprop.c:571
#1  0x00007f57072d9ecf in g_utf8_casefold (str=<optimized out>, len=len@entry=-1) at guniprop.c:1171
#2  0x00005568793dec7e in contacts_contact_update_filter_data (self=0x556b5f8e8290)
    at /home/mcatanzaro/src/jhbuild/checkout/gnome-contacts/src/contacts-contact.vala:931
#3  contacts_contact_update (self=self@entry=0x556b5f8e8290)
    at /home/mcatanzaro/src/jhbuild/checkout/gnome-contacts/src/contacts-contact.vala:947
#4  0x00005568793e4d0a in contacts_contact_construct (object_type=<optimized out>, store=store@entry=0x55687b55e910, 
    i=i@entry=0x556b053ddcd0) at /home/mcatanzaro/src/jhbuild/checkout/gnome-contacts/src/contacts-contact.vala:444
#5  0x00005568793e6575 in contacts_contact_new (store=store@entry=0x55687b55e910, i=i@entry=0x556b053ddcd0)
    at /home/mcatanzaro/src/jhbuild/checkout/gnome-contacts/src/contacts-contact.vala:425
#6  0x00005568793eff5c in _contacts_store___lambda27_ (changes=0x556a93a7cd60, self=0x55687b55e910)
    at /home/mcatanzaro/src/jhbuild/checkout/gnome-contacts/src/contacts-store.vala:207
#7  __contacts_store___lambda27__folks_individual_aggregator_individuals_changed_detailed (_sender=<optimized out>, 
    changes=changes@entry=0x556a93a7cd60, self=0x55687b55e910)
    at /home/mcatanzaro/src/jhbuild/checkout/gnome-contacts/src/contacts-store.vala:173
#8  0x00007f5707582470 in g_cclosure_marshal_VOID__OBJECTv (closure=0x55687b59f590, return_value=<optimized out>, 
    instance=0x55687b58adc0, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, 
    param_types=0x55687b594a10) at gmarshal.c:2102
#9  0x00007f570757f614 in _g_closure_invoke_va (closure=closure@entry=0x55687b59f590, 
    return_value=return_value@entry=0x0, instance=instance@entry=0x55687b58adc0, args=args@entry=0x7ffd23824208, 
    n_params=<optimized out>, param_types=0x55687b594a10) at gclosure.c:867
#10 0x00007f5707599dd9 in g_signal_emit_valist (instance=instance@entry=0x55687b58adc0, 
    signal_id=signal_id@entry=72, detail=detail@entry=0, var_args=var_args@entry=0x7ffd23824208) at gsignal.c:3294
#11 0x00007f570759a8eb in g_signal_emit_by_name (instance=instance@entry=0x55687b58adc0, 
    detailed_signal=detailed_signal@entry=0x7f57103c5538 "individuals-changed-detailed") at gsignal.c:3481
#12 0x00007f57103a1a13 in _folks_individual_aggregator_emit_individuals_changed (self=0x55687b58adc0, 
    added=<optimized out>, removed=<optimized out>, changes=<optimized out>, 
    reason=FOLKS_GROUP_DETAILS_CHANGE_REASON_NONE, actor=0x0, message=0x0) at individual-aggregator.c:3522
#13 0x00007f57103a2c51 in _folks_individual_aggregator_personas_changed_cb (self=<optimized out>, 
    store=<optimized out>, added=0x556a93a5d640, removed=0x556a93a5d6b0, reason=<optimized out>, 
    actor=<optimized out>, message=<optimized out>) at individual-aggregator.c:5511
#14 0x00007f57103ab3fb in g_cclosure_user_marshal_VOID__OBJECT_OBJECT_STRING_OBJECT_ENUM (closure=<optimized out>
    urn_value=<optimized out>, n_param_values=<optimized out>, param_values=0x7ffd238246d0, invocation_hint=<optimized out>, 
    marshal_data=<optimized out>) at persona-store.c:754
#15 0x00007f570757f3e5 in g_closure_invoke (closure=0x55687b5e4750, return_value=return_value@entry=0x0, n_param_values=6, 
    param_values=param_values@entry=0x7ffd238246d0, invocation_hint=invocation_hint@entry=0x7ffd23824650) at gclosure.c:804
#16 0x00007f5707591432 in signal_emit_unlocked_R (node=node@entry=0x55687b5948a0, detail=detail@entry=0, instance=instance@entry=0x7f56d80b46d0, 
    emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd238246d0) at gsignal.c:3629
#17 0x00007f570759a05f in g_signal_emit_valist (instance=instance@entry=0x7f56d80b46d0, signal_id=signal_id@entry=97, detail=detail@entry=0, 
    var_args=var_args@entry=0x7ffd23824948) at gsignal.c:3385
#18 0x00007f570759a8eb in g_signal_emit_by_name (instance=instance@entry=0x7f56d80b46d0, 
    detailed_signal=detailed_signal@entry=0x7f57103c2090 "personas-changed") at gsignal.c:3481
#19 0x00007f57103ab737 in _folks_persona_store_emit_personas_changed (self=0x7f56d80b46d0, added=<optimized out>, removed=<optimized out>, 
    message=0x0, actor=0x0, reason=FOLKS_GROUP_DETAILS_CHANGE_REASON_NONE) at persona-store.c:442
#20 0x00007f57105fa0db in _edsf_persona_store_contacts_complete_idle_cb (err=<optimized out>, self=0x7f56d80b46d0) at edsf-persona-store.c:11594
#21 __lambda14_ (_data9_=<optimized out>, _data9_=<optimized out>) at edsf-persona-store.c:11530
#22 ___lambda14__gsource_func (self=<optimized out>) at edsf-persona-store.c:11538
#23 0x00007f5710602c03 in _edsf_persona_store_idle_process (self=0x7f56d80b46d0) at edsf-persona-store.c:10882
#24 __edsf_persona_store_idle_process_gsource_func (self=0x7f56d80b46d0) at edsf-persona-store.c:10810
#25 0x00007f57072ab6ba in g_main_dispatch (context=0x55687b54e4c0) at gmain.c:3154
#26 g_main_context_dispatch (context=context@entry=0x55687b54e4c0) at gmain.c:3769
#27 0x00007f57072aba70 in g_main_context_iterate (context=context@entry=0x55687b54e4c0, block=block@entry=0, dispatch=dispatch@entry=1, 
    self=<optimized out>) at gmain.c:3840
#28 0x00007f57072abb1c in g_main_context_iteration (context=context@entry=0x55687b54e4c0, may_block=may_block@entry=0) at gmain.c:3901
#29 0x00007f570786e532 in g_application_run (application=0x55687b54d8b0, argc=<optimized out>, argv=0x0) at gapplication.c:2405
#30 0x00005568793eeb9a in _vala_main () at /home/mcatanzaro/src/jhbuild/checkout/gnome-contacts/src/contacts-shell-search-provider.vala:179
#31 0x00007f5706ec0731 in __libc_start_main (main=0x5568793de130 <main>, argc=1, argv=0x7ffd23824d78, init=<optimized out>, 
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd23824d68) at ../csu/libc-start.c:289
#32 0x00005568793de169 in _start ()
(gdb)

Comment 1 Fedora End Of Life 2017-07-25 22:56:31 UTC
This message is a reminder that Fedora 24 is nearing its end of life.
Approximately 2 (two) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 24. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '24'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 24 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 2 Fedora End Of Life 2017-08-08 17:13:38 UTC
Fedora 24 changed to end-of-life (EOL) status on 2017-08-08. Fedora 24 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.