I turned on:
LIBVIRT_DEBUG=debug
which shows the deviation, indicated by "->". The working case, stdin
event followed by stream event is:
stapvirt: ##### stdin_event:1000 fd 0 events 0x1 stbuf_off 0 stbuf
0x7fff259eecb8 termbuf_off 58 buf "file 926928 stap_b861775"
2022-07-07 17:20:55.565+0000: 353069: debug :
virStreamEventUpdateCallback:1102 : stream=0x2013150, events=3
2022-07-07 17:20:55.565+0000: 353069: debug :
virNetClientStreamEventTimerUpdate:86 : Check timer rx=(nil) cbEvents=3
2022-07-07 17:20:55.565+0000: 353069: debug :
virNetClientStreamEventTimerUpdate:91 : Enabling event timer
2022-07-07 17:20:55.565+0000: 353069: info :
virEventGLibTimeoutUpdate:395 : EVENT_GLIB_UPDATE_TIMEOUT: timer=1
interval=0
2022-07-07 17:20:55.565+0000: 353069: debug :
virEventGLibTimeoutUpdate:406 : Update timeout data=0x2017e00 timer=1
interval=0 ms
2022-07-07 17:20:55.565+0000: 353069: debug :
virEventRunDefaultImpl:341 : running default event implementation
->2022-07-07 17:20:55.565+0000: 353069: debug :
virEventGLibTimeoutDispatch:303 : Dispatch timeout data=0x2017e00
cb=0x7fe5f98436a0 timer=1 opaque=0x200d170
2022-07-07 17:20:55.565+0000: 353069: info :
virEventGLibTimeoutDispatch:306 : EVENT_GLIB_DISPATCH_TIMEOUT: timer=1
cb=0x7fe5f98436a0 opaque=0x200d170
2022-07-07 17:20:55.565+0000: 353069: debug :
virNetClientStreamEventTimer:116 : Got Timer dispatch events=2
cbEvents=3 rx=(nil)
stapvirt: ##### stream_event:1043 st 0x2013150 events 0x2 stbuf_off 0
stbuf 0x7fff259eecb8
The case where stream event is not hit is:
stapvirt: ##### stdin_event:1000 fd 0 events 0x1 stbuf_off 0 stbuf
0x7fff259eecb8 termbuf_off 1024 buf "^?ELF^B^A^A"
2022-07-07 17:20:55.565+0000: 353069: debug :
virStreamEventUpdateCallback:1102 : stream=0x2013150, events=3
2022-07-07 17:20:55.565+0000: 353069: debug :
virNetClientStreamEventTimerUpdate:86 : Check timer rx=(nil) cbEvents=3
2022-07-07 17:20:55.565+0000: 353069: debug :
virNetClientStreamEventTimerUpdate:91 : Enabling event timer
2022-07-07 17:20:55.565+0000: 353069: info :
virEventGLibTimeoutUpdate:395 : EVENT_GLIB_UPDATE_TIMEOUT: timer=1
interval=0
2022-07-07 17:20:55.565+0000: 353069: debug :
virEventGLibTimeoutUpdate:406 : Update timeout data=0x2017e00 timer=1
interval=0 ms
2022-07-07 17:20:55.566+0000: 353069: debug :
virEventRunDefaultImpl:341 : running default event implementation
-> 2022-07-07 17:20:55.566+0000: 353069: debug :
virEventGLibHandleDispatch:113 : Dispatch handler data=0x201e600 watch=2
fd=0 events=1 opaque=0x7fff259ee8a0
2022-07-07 17:20:55.566+0000: 353069: info :
virEventGLibHandleDispatch:116 : EVENT_GLIB_DISPATCH_HANDLE: watch=2
events=1 cb=0x4046e9 opaque=0x7fff259ee8a0
stapvirt: ##### stdin_event:975 fd 0 events 0x1 termbuf_off 1024 1024
Hits stream Doesn't hit stream
... ...
virEventRunDefaultImpl:341 virEventRunDefaultImpl:341
virEventGLibHandleDispatch:113
virEventGLibTimeoutDispatch:303
virEventGLibTimeoutDispatch:306
virNetClientStreamEventTimer:116
virEventGLibHandleDispatch:116
stream_event stdin_event
What libvirt version are you testing with, and have you tried a
differnt
version ?
This is:
libvirt-8.1.0-2.fc36.x86_64
I have not tried another version but will give that a shot.