Unity eats cpu after switching to the greeter/back in the session

Bug #1526868 reported by Sebastien Bacher
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
unity (Ubuntu)
Invalid
High
Andrea Azzarone

Bug Description

That started in xenial, often Unity is eating cpu after going to unity-greeter/switching users and coming back to the session

gdb indicates that some code is "stucked" in pam (while the session is unlocked)

"Thread 2 (Thread 0xa881cb40 (LWP 26675)):
#0 0xb77c1c38 in __kernel_vsyscall ()
#1 0xb744d5d7 in syscall () at ../sysdeps/unix/sysv/linux/i386/syscall.S:29
#2 0xb75dd1b6 in std::__atomic_futex_unsigned_base::_M_futex_wait_until(unsigned int*, unsigned int, bool, std::chrono::duration<long long, std::ratio<1ll, 1ll> >, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >) () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#3 0xafa5af4f in std::__atomic_futex_unsigned<2147483648u>::_M_load_and_test_until (__ns=..., __s=..., __has_timeout=<optimized out>, __mo=<optimized out>,
    __equal=<optimized out>, __operand=<optimized out>, __assumed=<optimized out>, this=<optimized out>) at /usr/include/c++/5/bits/atomic_futex.h:104
#4 std::__atomic_futex_unsigned<2147483648u>::_M_load_and_test (__mo=<optimized out>, __equal=<optimized out>, __operand=<optimized out>, __assumed=<optimized out>,
    this=<optimized out>) at /usr/include/c++/5/bits/atomic_futex.h:122
#5 std::__atomic_futex_unsigned<2147483648u>::_M_load_when_equal (__mo=std::memory_order_acquire, __val=1, this=0xa0bf74ec) at /usr/include/c++/5/bits/atomic_futex.h:162
#6 std::__future_base::_State_baseV2::wait (this=0xa0bf74e4) at /usr/include/c++/5/future:322
#7 std::__basic_future<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::_M_get_result (this=<synthetic pointer>)
    at /usr/include/c++/5/future:681
#8 std::future<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::get (this=<synthetic pointer>) at /usr/include/c++/5/future:760
#9 unity::lockscreen::UserAuthenticatorPam::ConversationFunction (num_msg=1, msg=0xa881c098, resp=0xa881c094, appdata_ptr=0xb06370c)
    at /build/unity-QwPAJG/unity-7.4.0+16.04.20151211/lockscreen/UserAuthenticatorPam.cpp:151
#10 0xae955243 in pam_vprompt (pamh=0xb343d38, style=1, response=0xa881c144, fmt=0xaab31b7f "%s", args=0xa881c110 "\374F\034\254\005") at pam_vprompt.c:83
#11 0xae95540c in pam_prompt (pamh=0xb343d38, style=1, response=0xa881c144, fmt=0xaab31b7f "%s") at pam_vprompt.c:111
#12 0xaab2ca7e in _unix_read_password (pamh=0xb343d38, ctrl=276824064, comment=0x0, prompt1=0xac1c46fc "Mot de passe : ", prompt2=0x0, data_name=0xaab31ab9 "-UN*X-PASS",
    pass=0xa881c1a8) at support.c:957
#13 0xaab2a093 in pam_sm_authenticate (pamh=0xb343d38, flags=0, argc=1, argv=0xa9e2480) at pam_unix_auth.c:160
#14 0xae950450 in _pam_dispatch_aux (use_cached_chain=0, resumed=<optimized out>, h=<optimized out>, flags=0, pamh=0xb343d38) at pam_dispatch.c:110
#15 _pam_dispatch (pamh=0xb343d38, flags=0, choice=1) at pam_dispatch.c:395
#16 0xae94fc7a in pam_authenticate (pamh=0xb343d38, flags=0) at pam_auth.c:34
#17 0xafa59892 in unity::lockscreen::UserAuthenticatorPam::<lambda(GTask*, gpointer, gpointer, GCancellable*)>::operator() (__closure=0x0, task=0xa371198, data=0xb06370c)
    at /build/unity-QwPAJG/unity-7.4.0+16.04.20151211/lockscreen/UserAuthenticatorPam.cpp:55
#18 unity::lockscreen::UserAuthenticatorPam::<lambda(GTask*, gpointer, gpointer, GCancellable*)>::_FUN(GTask *, gpointer, gpointer, GCancellable *) ()
    at /build/unity-QwPAJG/unity-7.4.0+16.04.20151211/lockscreen/UserAuthenticatorPam.cpp:62
#19 0xb45f365d in g_task_thread_pool_thread (thread_data=0xa371198, pool_data=0x0) at /build/glib2.0-4hziuO/glib2.0-2.47.3/./gio/gtask.c:1288
#20 0xb707f9f4 in g_thread_pool_thread_proxy (data=0xb3b0b8a8) at /build/glib2.0-4hziuO/glib2.0-2.47.3/./glib/gthreadpool.c:307
#21 0xb707ef9a in g_thread_proxy (data=0x9d28c00) at /build/glib2.0-4hziuO/glib2.0-2.47.3/./glib/gthread.c:780
#22 0xb6fe818a in start_thread (arg=0xa881cb40) at pthread_create.c:333
#23 0xb745200e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:122"

Changed in unity (Ubuntu):
importance: Undecided → High
summary: - Unity eats cpu after switch to greeter/back to session
+ Unity eats cpu after switching to the greeter/back in the session
tags: added: rls-x-incoming
Changed in unity (Ubuntu):
assignee: nobody → Andrea Azzarone (azzar1)
Will Cooke (willcooke)
tags: added: u7-trello-import
tags: removed: u7-trello-import
Revision history for this message
Sebastien Bacher (seb128) wrote :

it stopped doing it for me and there is no other report, let's close it

Changed in unity (Ubuntu):
status: New → Invalid
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.