Description
hiya there
some background for starters
recently as part of an upgrade to fedora41 I have come across release 14 of websockets
so I have taken that chance to upgrade my code to use this new API
turns out it is used in a monitoring process, that acts as a ws client to push its results upstream; and I am now facing a nasty sneaky issue with that, because after some unpredicatable amount of time - typically hours - the monitor stops looking at some nodes in a seemingly random way; that is to say, its focus shrinks overtime, and it reports the status of fewer and fewer nodes.
admittedly there have been many moving pieces since last time where this code was working fine
however after a week patiently adding debugging instructions, I have been able to nail it down a bit
and I have evidence that in my application, it is the call to
websockets.asyncio.client.ClientConnection.send()
that essentially never returns; like in, never ever even after hours
specifically I am using 14.1, and the websockets.asyncio.client
flavour
so, that's all I have as hard evidence for now
I am still miles away from being able to reproduce on a simple example - I can't even do that reliably in my complex app, I only know to wait for the bug to manifest itself...
at this point I have opted for rolling back to using websockets.legacy
instead, still with 14.1
and so far this has been performing all right for a full day, so I'm optimistic my issue is fixed with that older API
other than that:
as far as I can tell - but that's probably not that far - the first suspect could be this pair of lines here
websockets/src/websockets/asyncio/connection.py
Lines 451 to 452 in 0403823
but of course I don't know that for sure, I reckon this is just a wild guess
so, that's where I am at right now, I thought this was still worth reporting, so here I am
thanks for any hint or insight wrt to this situation