GTG

gtg hangs when syncing with e-d-s

Bug #1068933 reported by Muelli
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
GTG
New
Undecided
Unassigned

Bug Description

I run gtg from trunk, enable evolution sync and then it hangs.

(gdb) t a a bt full

Thread 6 (Thread 0x7fffe8f8e700 (LWP 2100)):
#0 sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86
No locals.
#1 0x0000003988307575 in PyThread_acquire_lock (lock=lock@entry=0xbe0a90, waitflag=waitflag@entry=1) at /usr/src/debug/Python-2.7.3/Python/thread_pthread.h:321
        success = <optimized out>
        thelock = 0xbe0a90
        status = <optimized out>
        error = 0
#2 0x00000039882d6b34 in PyEval_RestoreThread (tstate=tstate@entry=0x7fffd0003cb0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:379
        err = 11
#3 0x000000398830b090 in lock_PyThread_acquire_lock (self=0x7ffff7f49170, args=<optimized out>) at /usr/src/debug/Python-2.7.3/Modules/threadmodule.c:53
        _save = 0x7fffd0003cb0
        i = 1
#4 0x0000003988249a7e in PyObject_Call (func=func@entry=<built-in method __enter__ of thread.lock object at remote 0x7ffff7f49170>, arg=arg@entry=(), kw=kw@entry=0x0) at /usr/src/debug/Python-2.7.3/Objects/abstract.c:2529
        result = <optimized out>
        call = 0x3988281750 <PyCFunction_Call>
#5 0x000000398824a25e in PyObject_CallFunctionObjArgs (callable=<built-in method __enter__ of thread.lock object at remote 0x7ffff7f49170>) at /usr/src/debug/Python-2.7.3/Objects/abstract.c:2760
        args = ()
        tmp = <optimized out>
        vargs = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 0x7fffe8f8d650, reg_save_area = 0x7fffe8f8d580}}
#6 0x00000039882da01f in PyEval_EvalFrameEx (f=<optimized out>, throwflag=throwflag@entry=0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:2629
        exit = '__exit__'
        enter = '__enter__'
        stack_pointer = 0x7fffd4000c80
        next_instr = 0xb13934 "\001|"
        opcode = <optimized out>
        oparg = <optimized out>
        why = WHY_NOT
        err = 0
        x = <built-in method __exit__ of thread.lock object at remote 0x7ffff7f49170>
        v = <optimized out>
        w = <thread.lock at remote 0x7ffff7f49170>
        u = <optimized out>
        t = <optimized out>
        stream = 0x0
        fastlocals = <optimized out>
        freevars = <optimized out>
        retval = 0x0
        tstate = <optimized out>
        co = 0xa429b0
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0xb13914 "z\322\001|"
        names = ('_set_ident', '_Thread__started', 'set', '_active_limbo_lock', '_active', '_Thread__ident', '_limbo', '_note', '_trace_hook', '_sys', 'settrace', '_profile_hook', 'setprofile', 'run', 'SystemExit', 'stderr', 'write', 'name', '_format_exc', '_Thread__exc_info', '_Thread__stderr', 'tb_frame', 'f_code', 'co_filename', 'tb_lineno', 'co_name', 'tb_next', '_Thread__exc_clear', '_Thread__stop', '_get_ident')
        consts = (None, '%s.__bootstrap(): thread started', '%s.__bootstrap(): registering trace hook', '%s.__bootstrap(): registering profile hook', '%s.__bootstrap(): raised SystemExit', '%s.__bootstrap(): unhandled exception', 'Exception in thread %s:\n%s\n', 'Exception in thread ', ' (most likely raised during interpreter shutdown):', 'Traceback (most recent call last):', ' File "%s", line %s, in %s', '%s: %s', '%s.__bootstrap(): normal return')
#7 0x00000039882dcd51 in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0x7fffe8f8da08, func=<function at remote 0xb2c1b8>) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4184
        retval = 0x0
        i = <optimized out>
        fastlocals = <optimized out>
        f = <optimized out>
        tstate = 0x7fffd0003cb0
        stack = <optimized out>
        co = <optimized out>
        nd = 0
        globals = <optimized out>
        argdefs = <optimized out>
        d = 0x0
#8 call_function (oparg=<optimized out>, pp_stack=0x7fffe8f8da08) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4119
        func = <function at remote 0xb2c1b8>
        w = <optimized out>
        na = 1
        nk = <optimized out>
        n = <optimized out>
        pfunc = 0x7fffd4000a90
        x = <optimized out>
#9 PyEval_EvalFrameEx (f=f@entry=Frame 0x7fffd4000910, for file /usr/lib64/python2.7/threading.py, line 524, in __bootstrap (self=<_Timer(function=<instancemethod at remote 0x16a5910>, kwargs={}, _Thread__ident=140737102014208, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1143c90>, acquire=<built-in method acquire of thread.lock object at remote 0x1143c90>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1143c90>) at remote 0x16a44d0>, _Thread__name='Thread-2', _Thread__daemonic=True, args=[], interval=<float at remote 0xcee720>, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1143bb0>, acquire=<built-in method acquire of thread.lock object at remote 0x1143bb0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1143bb0>) at remote 0x16a4410>) at remote 0x16a45d0>, _Thread__stderr=<file at remote 0x7f...(truncated), throwflag=throwflag@entry=0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:2740
        sp = 0x7fffd4000a98
        stack_pointer = <optimized out>
        next_instr = 0xa33d20 "\001Wn#"
        opcode = <optimized out>
        oparg = <optimized out>
        why = WHY_NOT
        err = 0
        x = <optimized out>
        v = <optimized out>
        w = <optimized out>
        u = <optimized out>
        t = <optimized out>
        stream = 0x0
        fastlocals = 0x7fffd4000a88
        freevars = 0x7fffd4000a90
        retval = 0x0
        tstate = <optimized out>
        co = 0xa428b0
        instr_ub = -1
        instr_lb = 0
        instr_prev = -1
        first_instr = 0xa33d14 "y\016"
        names = ('_Thread__bootstrap_inner', '_Thread__daemonic', '_sys', 'None')
        consts = (None,)
#10 0x00000039882ddb1f in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=locals@entry=0x0, args=args@entry=0x16a4168, argcount=1, kws=kws@entry=0x0, kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, closure=0x0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:3330
        f = <optimized out>
        retval = 0x0
        fastlocals = <optimized out>
        freevars = <optimized out>
        tstate = 0x7fffd0003cb0
        x = <optimized out>
        u = <optimized out>
#11 0x000000398826d796 in function_call (func=<function at remote 0xb2c0c8>, arg=(<_Timer(function=<instancemethod at remote 0x16a5910>, kwargs={}, _Thread__ident=140737102014208, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1143c90>, acquire=<built-in method acquire of thread.lock object at remote 0x1143c90>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1143c90>) at remote 0x16a44d0>, _Thread__name='Thread-2', _Thread__daemonic=True, args=[], interval=<float at remote 0xcee720>, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1143bb0>, acquire=<built-in method acquire of thread.lock object at remote 0x1143bb0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1143bb0>) at remote 0x16a4410>) at remote 0x16a45d0>, _Thread__stderr=<file at remote 0x7ffff7fa0270>, _Thread__target=None, finished=<_Event(_Verbose__verbose=False, _Event__flag=False,...(truncated), kw=0x0) at /usr/src/debug/Python-2.7.3/Objects/funcobject.c:526
        result = <optimized out>
        argdefs = <optimized out>
        kwtuple = 0x0
        d = 0x0
        k = 0x0
        nk = 0
        nd = 0
#12 0x0000003988249a7e in PyObject_Call (func=func@entry=<function at remote 0xb2c0c8>, arg=arg@entry=(<_Timer(function=<instancemethod at remote 0x16a5910>, kwargs={}, _Thread__ident=140737102014208, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1143c90>, acquire=<built-in method acquire of thread.lock object at remote 0x1143c90>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1143c90>) at remote 0x16a44d0>, _Thread__name='Thread-2', _Thread__daemonic=True, args=[], interval=<float at remote 0xcee720>, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1143bb0>, acquire=<built-in method acquire of thread.lock object at remote 0x1143bb0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1143bb0>) at remote 0x16a4410>) at remote 0x16a45d0>, _Thread__stderr=<file at remote 0x7ffff7fa0270>, _Thread__target=None, finished=<_Event(_Verbose__verbose=False, _Event__flag=False,...(truncated), kw=kw@entry=0x0) at /usr/src/debug/Python-2.7.3/Objects/abstract.c:2529
        result = <optimized out>
        call = 0x398826d6e0 <function_call>
#13 0x0000003988258070 in instancemethod_call (func=<function at remote 0xb2c0c8>, arg=(<_Timer(function=<instancemethod at remote 0x16a5910>, kwargs={}, _Thread__ident=140737102014208, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1143c90>, acquire=<built-in method acquire of thread.lock object at remote 0x1143c90>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1143c90>) at remote 0x16a44d0>, _Thread__name='Thread-2', _Thread__daemonic=True, args=[], interval=<float at remote 0xcee720>, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1143bb0>, acquire=<built-in method acquire of thread.lock object at remote 0x1143bb0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1143bb0>) at remote 0x16a4410>) at remote 0x16a45d0>, _Thread__stderr=<file at remote 0x7ffff7fa0270>, _Thread__target=None, finished=<_Event(_Verbose__verbose=False, _Event__flag=False,...(truncated), kw=0x0) at /usr/src/debug/Python-2.7.3/Objects/classobject.c:2578
        self = <_Timer(function=<instancemethod at remote 0x16a5910>, kwargs={}, _Thread__ident=140737102014208, _Thread__block=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1143c90>, acquire=<built-in method acquire of thread.lock object at remote 0x1143c90>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1143c90>) at remote 0x16a44d0>, _Thread__name='Thread-2', _Thread__daemonic=True, args=[], interval=<float at remote 0xcee720>, _Thread__started=<_Event(_Verbose__verbose=False, _Event__flag=True, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0x1143bb0>, acquire=<built-in method acquire of thread.lock object at remote 0x1143bb0>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0x1143bb0>) at remote 0x16a4410>) at remote 0x16a45d0>, _Thread__stderr=<file at remote 0x7ffff7fa0270>, _Thread__target=None, finished=<_Event(_Verbose__verbose=False, _Event__flag=False, ...(truncated)
        klass = <optimized out>
        result = <optimized out>
#14 0x0000003988249a7e in PyObject_Call (func=func@entry=<instancemethod at remote 0x16a5c80>, arg=arg@entry=(), kw=<optimized out>) at /usr/src/debug/Python-2.7.3/Objects/abstract.c:2529
        result = <optimized out>
        call = 0x3988257fd0 <instancemethod_call>
#15 0x00000039882d71c7 in PyEval_CallObjectWithKeywords (func=<instancemethod at remote 0x16a5c80>, arg=(), kw=<optimized out>) at /usr/src/debug/Python-2.7.3/Python/ceval.c:3967
        result = <optimized out>
#16 0x000000398830b432 in t_bootstrap (boot_raw=0x7fffd00019d0) at /usr/src/debug/Python-2.7.3/Modules/threadmodule.c:614
        boot = 0x7fffd00019d0
        tstate = 0x7fffd0003cb0
        res = <optimized out>
#17 0x000000396d807d14 in start_thread (arg=0x7fffe8f8e700) at pthread_create.c:309
        __res = <optimized out>
        pd = 0x7fffe8f8e700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737102014208, 575139946973909421, 1, 246639886336, 140737102014208, 0, -575159696266866259, 543129868824105389}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
#18 0x000000396d0f167d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
No locals.

Thread 5 (Thread 0x7fffe978f700 (LWP 2099)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:166
No locals.
#1 0x000000396f483bff in g_cond_wait (cond=0x160c210, mutex=<optimized out>) at gthread-posix.c:746
        _g_boolean_var_ = <optimized out>
        status = <optimized out>
#2 0x0000003843221e1c in e_flag_wait (flag=0x15eb940) at e-flag.c:130
        __PRETTY_FUNCTION__ = "e_flag_wait"
#3 0x0000003843222d59 in e_gdbus_proxy_call_sync (proxy=0x1a43c40 [EGdbusCalProxy], cancellable=cancellable@entry=0x0, error=error@entry=0x7fffe978d488, start_func=start_func@entry=0x3843a47560, finish_func=finish_func@entry=0x3843a47cf0, in_type=in_type@entry=8, in_value=0x7fffeb2bdb17, out_type=out_type@entry=16, out_value=out_value@entry=0x7fffe978d3f0) at e-gdbus-templates.c:1490
        sync_data = {flag = 0x15eb940, error = 0x7fffe978d488, out_type = 16, out_arg = {out_boolean = 0x7fffe978d3f0, out_string = 0x7fffe978d3f0, out_strv = 0x7fffe978d3f0, out_uint = 0x7fffe978d3f0}, finish_func = {finish_void = 0x3843a47cf0 <e_gdbus_cal_call_get_object_list_finish>, finish_boolean = 0x3843a47cf0 <e_gdbus_cal_call_get_object_list_finish>, finish_string = 0x3843a47cf0 <e_gdbus_cal_call_get_object_list_finish>, finish_strv = 0x3843a47cf0 <e_gdbus_cal_call_get_object_list_finish>, finish_uint = 0x3843a47cf0 <e_gdbus_cal_call_get_object_list_finish>}, finish_result = 0}
        __PRETTY_FUNCTION__ = "e_gdbus_proxy_call_sync"
#4 0x0000003843226689 in e_gdbus_proxy_call_sync_string__strv (proxy=<optimized out>, in_string=<optimized out>, out_strv=out_strv@entry=0x7fffe978d3f0, cancellable=cancellable@entry=0x0, error=error@entry=0x7fffe978d488, start_func=start_func@entry=0x3843a47560 <e_gdbus_cal_call_get_object_list>, finish_func=finish_func@entry=0x3843a47cf0 <e_gdbus_cal_call_get_object_list_finish>) at e-gdbus-templates.c:1670
        __PRETTY_FUNCTION__ = "e_gdbus_proxy_call_sync_string__strv"
#5 0x0000003843a49ddb in e_gdbus_cal_call_get_object_list_sync (proxy=<optimized out>, in_sexp=<optimized out>, out_objects=out_objects@entry=0x7fffe978d3f0, cancellable=cancellable@entry=0x0, error=error@entry=0x7fffe978d488) at e-gdbus-cal.c:464
No locals.
#6 0x0000003843a20be3 in e_cal_get_object_list (ecal=ecal@entry=0x839310 [ECal], query=query@entry=0x7fffeb2bdb17 "#t", objects=objects@entry=0x7fffe978d448, error=error@entry=0x7fffe978d488) at e-cal.c:2801
        priv = 0x839330
        object_array = 0x0
        gdbus_query = 0x0
#7 0x0000003843a20ff9 in e_cal_get_object_list_as_comp (ecal=0x839310 [ECal], query=query@entry=0x7fffeb2bdb17 "#t", objects=objects@entry=0x7fffe978d480, error=error@entry=0x7fffe978d488) at e-cal.c:2856
        ical_objects = 0x0
        l = <optimized out>
#8 0x00007fffeb2bcf51 in _wrap_evo_cal_source_get_all_objects (self=0x16a5780) at ecal.override:92
        objects = 0x0
        error = 0x0
#9 0x00000039882dce36 in call_function (oparg=<optimized out>, pp_stack=0x7fffe978d658) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4082
        meth = <optimized out>
        self = <optimized out>
        flags = <optimized out>
        tstate = <optimized out>
        func = <built-in method get_all_objects of ecal.ECal object at remote 0x16a5780>
        w = <optimized out>
        na = 0
        nk = <optimized out>
        n = <optimized out>
        pfunc = 0x7fffd0004518
        x = <optimized out>

#8 0x00007fffeb2bcf51 in _wrap_evo_cal_source_get_all_objects (self=0x16a5780) at ecal.override:92

That's apparently where it hangs. That corresponds to line 112 of GTG/backends/backend_evolution.py

However, doing that by hand, i.e. in IPython doesn't hang, i.e.

In [1]: import evolution

In [2]: ecal = evolution.ecal.open_calendar_source(evolution.ecal.list_task_sources()[0][1], evolution.ecal.CAL_SOURCE_TYPE_TODO)

In [3]: ecal.get_all_objects()
Out[3]: [<ecal.ECalComponent object at 0x1741be0 (ECalComponent at 0x18270b0)>]

In [4]:

I experienced other issues around e-d-s and calendaring. I would imagine gtg to be resist outages like these.

Revision history for this message
Muelli (ubuntu-bugs-auftrags-killer) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.