[Spice-devel] [PATCH spice-server v4 1/1] video-stream: prevent crash on stream reattach
Frediano Ziglio
fziglio at redhat.com
Mon Mar 18 10:44:13 UTC 2019
>
> I experienced some crashes with qemu 3.1.0 compiled with libspice-server
> 0.14.0 on Gentoo.
>
> The problem reproduced reliably with a guest running Ubuntu 18.04.2 LTS.
> If I connect a viewer at system startup, I would get a crash just after
> the fade-in of the login prompt in GDM.
>
> Interestingly, I usually was unable to reproduce the issue if I waited
> to connect until after the greeter was fully displayed.
>
> The patch I used to correct the issue for me applies to the master
> branch cleanly, so I suspect the problem may still exist.
>
> The only other references to this issue I could find were two abrt
> reports in CentOS:
> https://bugs.centos.org/view.php?id=15171
> https://bugs.centos.org/view.php?id=15441
>
> I'm not sure if the agent->video_encoder is supposed to be guaranteed to
> exist when this function is called.
>
> Signed-off-by: Douglas Paul <doug at bogon.ca>
Acked-by: Frediano Ziglio <fziglio at redhat.com>
if the client does not support some encoding it sends back a specific
report and video_encoder is closed. This probably is causing the issue
you reported.
> ---
> server/video-stream.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/server/video-stream.c b/server/video-stream.c
> index b624093e..19795098 100644
> --- a/server/video-stream.c
> +++ b/server/video-stream.c
> @@ -369,7 +369,9 @@ static void before_reattach_stream(DisplayChannel
> *display,
> #ifdef STREAM_STATS
> agent->stats.num_drops_pipe++;
> #endif
> -
> agent->video_encoder->notify_server_frame_drop(agent->video_encoder);
> + if (agent->video_encoder) {
> +
> agent->video_encoder->notify_server_frame_drop(agent->video_encoder);
> + }
> }
> }
> }
Frediano
More information about the Spice-devel
mailing list