Mir

handle failures during input dispatch when client disconnet

Bug #1521529 reported by Andreas Pokorny
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mir
New
Undecided
Unassigned
mir (Ubuntu)
New
Undecided
Unassigned

Bug Description

Clients may disconnect while an input dispatch is in progress. InputSender keeps track of Surfaces by picking up the channel fds attached to surfaces. If the request to send an event to a surface happens using a reference to a surface that was already notified for removal InputSender will throw an exception.

08:54 < slvn_> Just want to let you know that I have publish a few games, native game based on sdl2
08:55 < slvn_> so there are directly using mirclient, through sdl2, and they can be a way to test mir
08:55 < slvn_> (indeed, it seemed one app have made mir crashed, when disconnecting)
08:56 < slvn_> so if you want to try, here's the link : https://uappexplorer.com/app/com.ubuntu.developer.1bsyl.cartes
...
09:48 <anpok> slvn_: hm mir as in the unity8 nested server? or unity-system-compostior? or really a shutdown crash of the application?
09:49 < slvn_> I just copy paste, since it's short ...
09:49 < slvn_> qtmir.mir: SessionListener::stopping - this= SessionListener(0xb194a134) session= 0x5f935c
09:49 < slvn_> terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error> >'
09:49 < slvn_> what(): Failure sending input event : Unknown channel provided
09:49 < slvn_> ()
09:50 < slvn_> to be confirmed ...
09:51 <*> Joins[#ubuntu-mir] ->willcooke [~willcooke@ubuntu/member/willcooke]
09:51 <anpok> ah
09:52 <anpok> this is actually possible.. and if not handled by the input dispatcher the server would be affected
09:52 <anpok> *plausible
09:53 <anpok> hm since qtmir has its own we need to fix that there too

description: updated
Revision history for this message
Michał Sawicz (saviq) wrote :

Syncing task from Mir.

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.