handle failures during input dispatch when client disconnet
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:/
...
09:48 <anpok> slvn_: hm mir as in the unity8 nested server? or unity-system-
09:49 < slvn_> I just copy paste, since it's short ...
09:49 < slvn_> qtmir.mir: SessionListener
09:49 < slvn_> terminate called after throwing an instance of 'boost:
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@
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 |
Syncing task from Mir.