* On migration between two hosts with the same spice version, while playing some playback audio in a RHEL 7 Guest: - spice 0.12.4, we still have audio playing after migration - spice 0.13.3, we don't have audio after migration I used spice 0.13.3 from nightly copr at [0] which is basically git master (tagged version + 222 commits) [0] https://copr-be.cloud.fedoraproject.org/results/@spice/nightly/fedora-25-x86_64/00522879-spice/ Client is also upstream being spice-gtk at ecb4de270587fba and remote-viewer at 4fc66ec46c4 I'll attach the qemu + spice-server and remote-viewer logs from both situations.
Created attachment 130138 [details] (0.13.3) target host
Created attachment 130139 [details] (0.13.3) source host
Created attachment 130140 [details] (0.13.3) remote-viewer
Created attachment 130141 [details] (0.12.4) target host
Created attachment 130142 [details] (0.12.4) source host
Created attachment 130143 [details] (0.12.4) remote-viewer
Here are some call traces with a recent 0.13 snapshot, and then with 0.12 0 qemu-system-x86(16634):->spice_server_playback_set_volume sin=0x55a2eba807d8 nchannels=0x2 volume=0x55a2ef2f9ce0 26 qemu-system-x86(16634): ->snd_channel_set_volume channel=0x55a2ee6ec980 nchannels=0x2 volume=0x55a2ef2f9ce0 408 qemu-system-x86(16634): <-0x55a2ea0eb9d4 414 qemu-system-x86(16634):<-0x55a2ea0eb9d4 0 qemu-system-x86(16634):->spice_server_playback_set_mute sin=0x55a2eba807d8 mute=0x0 6 qemu-system-x86(16634): ->snd_channel_set_mute channel=0x55a2ee6ec980 mute=0x0 22 qemu-system-x86(16634): <-0x55a2ea0eb9e0 26 qemu-system-x86(16634):<-0x55a2ea0eb9e0 0 qemu-system-x86(16634):->spice_server_record_set_volume sin=0x55a2ee6ea078 nchannels=0x2 volume=0x55a2ef2f9ce0 6 qemu-system-x86(16634): ->snd_channel_set_volume channel=0x55a2ee6eca50 nchannels=0x2 volume=0x55a2ef2f9ce0 26 qemu-system-x86(16634): <-0x55a2ea0eb7d1 30 qemu-system-x86(16634):<-0x55a2ea0eb7d1 0 qemu-system-x86(16634):->spice_server_record_set_mute sin=0x55a2ee6ea078 mute=0x0 4 qemu-system-x86(16634): ->snd_channel_set_mute channel=0x55a2ee6eca50 mute=0x0 19 qemu-system-x86(16634): ->snd_send client=0x55a2ed2981b0 35 qemu-system-x86(16634): ->record_channel_send_item rcc=0x55a2ed2981b0 item=0x55a2ed2989a0 40 qemu-system-x86(16634): ->record_channel_client_get_type 44 qemu-system-x86(16634): <-record_channel_send_item return=0x55a2eb9cf3b0 47 qemu-system-x86(16634): ->snd_channel_client_get_type 51 qemu-system-x86(16634): <-record_channel_send_item return=0x55a2eb9ced20 56 qemu-system-x86(16634): ->snd_send_mute.constprop.5 client=0x55a2ed2981b0 msg=0x68 cap=0x1 60 qemu-system-x86(16634): ->snd_channel_get_type 64 qemu-system-x86(16634): <-snd_send_mute.constprop.5 return=0x55a2eb9cea10 117 qemu-system-x86(16634): <-record_channel_send_item return=0x1 121 qemu-system-x86(16634): ->snd_send client=0x55a2ed2981b0 126 qemu-system-x86(16634): <-record_channel_send_item 128 qemu-system-x86(16634): <-red_channel_client_push 133 qemu-system-x86(16634): ->snd_persistent_pipe_item_free item=0x55a2ed2989a0 138 qemu-system-x86(16634): <-red_channel_client_push 143 qemu-system-x86(16634): <-0x55a2ea0eb7dd 147 qemu-system-x86(16634): <-0x55a2ea0eb7dd 151 qemu-system-x86(16634):<-0x55a2ea0eb7dd 0 qemu-system-x86(18427):->spice_server_playback_set_volume sin=0x559a318727d8 nchannels=0x2 volume=0x559a3407bce0 60 qemu-system-x86(18427): ->snd_playback_send_volume playback_channel=0x559a343da000 69 qemu-system-x86(18427): ->snd_send_volume.isra.2 channel=0x559a343da000 msg=0x69 st=? st=? 320 qemu-system-x86(18427): ->snd_begin_send_message channel=0x559a343da000 331 qemu-system-x86(18427): ->snd_send_data channel=0x559a343da000 393 qemu-system-x86(18427): ->snd_playback_on_message_done channel=0x559a343da000 400 qemu-system-x86(18427): <-snd_send_data 403 qemu-system-x86(18427): <-snd_send_volume.isra.2 return=0x1 406 qemu-system-x86(18427): <-snd_send_volume.isra.2 return=0x1 408 qemu-system-x86(18427): <-0x559a2e3a99d4 return=0x1 422 qemu-system-x86(18427): <-0x559a2e3a99d4 return=0x1 426 qemu-system-x86(18427):<-0x559a2e3a99d4 0 qemu-system-x86(18427):->spice_server_playback_set_mute sin=0x559a318727d8 mute=0x0 34 qemu-system-x86(18427): ->snd_playback_send_mute playback_channel=0x559a343da000 42 qemu-system-x86(18427): ->snd_begin_send_message channel=0x559a343da000 48 qemu-system-x86(18427): ->snd_send_data channel=0x559a343da000 80 qemu-system-x86(18427): ->snd_playback_on_message_done channel=0x559a343da000 85 qemu-system-x86(18427): <-snd_send_data 88 qemu-system-x86(18427): <-snd_playback_send_mute return=0x1 90 qemu-system-x86(18427): <-snd_playback_send_mute return=0x1 93 qemu-system-x86(18427): <-0x559a2e3a99e0 return=0x1 97 qemu-system-x86(18427):<-0x559a2e3a99e0 0 qemu-system-x86(18427):->spice_server_record_set_volume sin=0x559a3311c078 nchannels=0x2 volume=0x559a3407bce0 22 qemu-system-x86(18427): ->snd_record_send_volume record_channel=0x559a32ac4000 30 qemu-system-x86(18427): ->snd_send_volume.isra.2 channel=0x559a32ac4000 msg=0x67 st=? st=? 38 qemu-system-x86(18427): ->snd_begin_send_message channel=0x559a32ac4000 44 qemu-system-x86(18427): ->snd_send_data channel=0x559a32ac4000 75 qemu-system-x86(18427): ->snd_record_on_message_done channel=0x559a32ac4000 80 qemu-system-x86(18427): <-snd_send_data 82 qemu-system-x86(18427): <-snd_send_volume.isra.2 return=0x1 84 qemu-system-x86(18427): <-snd_send_volume.isra.2 return=0x1 87 qemu-system-x86(18427): <-0x559a2e3a97d1 return=0x1 91 qemu-system-x86(18427): <-0x559a2e3a97d1 return=0x1 94 qemu-system-x86(18427):<-0x559a2e3a97d1 0 qemu-system-x86(18427):->spice_server_record_set_mute sin=0x559a3311c078 mute=0x0 18 qemu-system-x86(18427): ->snd_record_send_mute record_channel=0x559a32ac4000 25 qemu-system-x86(18427): ->snd_begin_send_message channel=0x559a32ac4000 31 qemu-system-x86(18427): ->snd_send_data channel=0x559a32ac4000 57 qemu-system-x86(18427): ->snd_record_on_message_done channel=0x559a32ac4000 62 qemu-system-x86(18427): <-snd_send_data 64 qemu-system-x86(18427): <-snd_record_send_mute return=0x1 66 qemu-system-x86(18427): <-snd_record_send_mute return=0x1 69 qemu-system-x86(18427): <-0x559a2e3a97dd return=0x1 73 qemu-system-x86(18427):<-0x559a2e3a97dd For the playback channel, the volume is never actually sent on the wire (no calls to playback_channel_send_item). This is because when snd_channel_set_volume() is called, channel->connection is NULL for the playback channel, and thus we return early. channel->connection is set by on_new_playback_channel_client() which is not called during migration, so that's expected. In 0.12.8, this was unconditionally set in snd_set_playback_peer() I did not have time yet to check whether setting it would fix that bug, but it 's likely.
See https://cgit.freedesktop.org/spice/spice/commit/?id=590acf3c556 which changed this.
https://lists.freedesktop.org/archives/spice-devel/2017-April/037177.html should fix this.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/spice/spice-server/issues/2.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.