You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hmm, it's great if you have an example to reproduce the bug. Otherwise, I do think of spawning a dedicated health check thread to handle deadlocks and other race condition issues
Unfortunately no example. We're still trying to add more logging to understand, why the deadlock happens. I assume we're leaving the consuming go routine in Run somewhere we shouldn't while the main go routine continues to run, but haven't found where or why yet.
In evcc-io/evcc#17925 (comment) we have a problem where the subscription client goes into a deadlock. Here's what I think happens based on additional logging added in master...andig:go-graphql-client:log:
The last log line then deadlocks on writing to the error channel in master...andig:go-graphql-client:log#diff-828fe8a645cf1a278fb0dfdca1eac3d6b4c691415c66dbe854d6286e2578031bR783 as the goroutine profile in linked issue shows:
maps to
in
Unfortunately, I can't find how that is possible since every
errRetry
should start a new receiver go routine.The text was updated successfully, but these errors were encountered: