I've not seen this but... the only active thread is deep in Mir code:
Thread 4 (Thread 0x7ffbca8b1700 (LWP 4472)):
#0 0x00007ffbd2ff65c3 in std::vector<std::shared_ptr<mir::scene::Session>, std::allocator<std::shared_ptr<mir::scene::Session> > >::begin (this=0x55bdec7b03a8) at /usr/include/c++/6/bits/stl_vector.h:558
#1 0x00007ffbd2ff60b6 in mir::scene::DefaultSessionContainer::successor_of (this=0x55bdec7b03a0, session=std::shared_ptr (count 3, weak 4) 0x7ffbb4000b30)
at /home/bschaefer/src/trunk-pure-mir/src/server/scene/default_session_container.cpp:69
#2 0x00007ffbd3005492 in mir::scene::SessionManager::successor_of (this=0x55bdec7b11a0, session=std::shared_ptr (count 3, weak 4) 0x7ffbb4000b30) at /home/bschaefer/src/trunk-pure-mir/src/server/scene/session_manager.cpp:149
#3 0x00007ffbd30fa2e7 in mir::shell::AbstractShell::focus_next_session (this=0x55bdec7b1260) at /home/bschaefer/src/trunk-pure-mir/src/server/shell/abstract_shell.cpp:244
But I don't see any reason for this to be in an infinite loop. My only thought is that *if* this is an "invalid session" this *might* throw an exception and provoke odd behavior. Next time you see it could you set a breakpoint and step through this code?
I've not seen this but... the only active thread is deep in Mir code:
Thread 4 (Thread 0x7ffbca8b1700 (LWP 4472)): std::shared_ ptr<mir: :scene: :Session> , std::allocator< std::shared_ ptr<mir: :scene: :Session> > >::begin (this=0x55bdec7 b03a8) at /usr/include/ c++/6/bits/ stl_vector. h:558 :DefaultSession Container: :successor_ of (this=0x55bdec7 b03a0, session= std::shared_ ptr (count 3, weak 4) 0x7ffbb4000b30) /src/trunk- pure-mir/ src/server/ scene/default_ session_ container. cpp:69 :SessionManager ::successor_ of (this=0x55bdec7 b11a0, session= std::shared_ ptr (count 3, weak 4) 0x7ffbb4000b30) at /home/bschaefer /src/trunk- pure-mir/ src/server/ scene/session_ manager. cpp:149 :AbstractShell: :focus_ next_session (this=0x55bdec7 b1260) at /home/bschaefer /src/trunk- pure-mir/ src/server/ shell/abstract_ shell.cpp: 244
#0 0x00007ffbd2ff65c3 in std::vector<
#1 0x00007ffbd2ff60b6 in mir::scene:
at /home/bschaefer
#2 0x00007ffbd3005492 in mir::scene:
#3 0x00007ffbd30fa2e7 in mir::shell:
But I don't see any reason for this to be in an infinite loop. My only thought is that *if* this is an "invalid session" this *might* throw an exception and provoke odd behavior. Next time you see it could you set a breakpoint and step through this code?