It seems that when spawning the "SPICE worker" in the bad case
the worker passes events before the other side is ready.
In both cases the spawn goes through the same control path
#0 __pthread_create_2_1 (newthread=0x5555572d4f10, attr=0x0, start_routine=0x7ffff7e33950, arg=0x5555572d4f10) at ./nptl/pthread_create.c:621
#1 0x00007ffff7eb11e6 in () at /lib/x86_64-linux-gnu/libspice-server.so.1
#2 0x00007ffff7e2c4eb in spice_server_add_interface () at /lib/x86_64-linux-gnu/libspice-server.so.1
#3 0x0000555555a8c078 in qemu_spice_add_interface (sin=0x555557194c08) at ../ui/spice-core.c:874
#4 0x0000555555a8c2d1 in qemu_spice_add_display_interface (qxlin=0x555557194c08, con=0x555557133c00) at ../ui/spice-core.c:944
...
#0 __pthread_create_2_1 (newthread=0x5555572d1690, attr=0x0, start_routine=0x7ffff7e3d140, arg=0x5555572d1690) at pthread_create.c:597
#1 0x00007ffff7e362f0 in spice_server_add_interface () from /lib/x86_64-linux-gnu/libspice-server.so.1
#2 0x0000555555a8c078 in qemu_spice_add_interface (sin=0x555557191c08) at ../ui/spice-core.c:874
#3 0x0000555555a8c2d1 in qemu_spice_add_display_interface (qxlin=0x555557191c08, con=0x5555567d3450) at ../ui/spice-core.c:944
...
It seems that when spawning the "SPICE worker" in the bad case
the worker passes events before the other side is ready.
In both cases the spawn goes through the same control path
#0 __pthread_ create_ 2_1 (newthread= 0x5555572d4f10, attr=0x0, start_routine= 0x7ffff7e33950, arg=0x5555572d4f10) at ./nptl/ pthread_ create. c:621 64-linux- gnu/libspice- server. so.1 add_interface () at /lib/x86_ 64-linux- gnu/libspice- server. so.1 add_interface (sin=0x55555719 4c08) at ../ui/spice- core.c: 874 add_display_ interface (qxlin= 0x555557194c08, con=0x555557133c00) at ../ui/spice- core.c: 944
#1 0x00007ffff7eb11e6 in () at /lib/x86_
#2 0x00007ffff7e2c4eb in spice_server_
#3 0x0000555555a8c078 in qemu_spice_
#4 0x0000555555a8c2d1 in qemu_spice_
...
#0 __pthread_ create_ 2_1 (newthread= 0x5555572d1690, attr=0x0, start_routine= 0x7ffff7e3d140, arg=0x5555572d1690) at pthread_ create. c:597 add_interface () from /lib/x86_ 64-linux- gnu/libspice- server. so.1 add_interface (sin=0x55555719 1c08) at ../ui/spice- core.c: 874 add_display_ interface (qxlin= 0x555557191c08, con=0x5555567d3450) at ../ui/spice- core.c: 944
#1 0x00007ffff7e362f0 in spice_server_
#2 0x0000555555a8c078 in qemu_spice_
#3 0x0000555555a8c2d1 in qemu_spice_
...
Maybe it is libspice-server.so ?
libspice-server1 | 0.14.3-2.1ubuntu1 | impish | amd64, arm64, armhf, ppc64el, riscv64
libspice-server1 | 0.15.0-2ubuntu3 | jammy | amd64, arm64, armhf, ppc64el, riscv64
They have the same soname, so they could be interchangeable
And indeed replacing the lib with the older one it works as it did in the past.
So we are actually looking for a libspice-server change.
Updating the bug-tasks ...