Uh oh!
There was an error while loading. Please reload this page.
Fix potential OCE in graph processing - #17921
Conversation
|
psfinaki
commented
Oct 25, 2024
psfinaki
commented
Oct 25, 2024
Oh I see you're addressing this in a sibling PR, sorry, reviewing this in order :D |
majocha
commented
Oct 25, 2024
Yes I should mention it here, my guess is that failing test is unrelated, I just introduced flakiness recently and it's coincidental that it's about cancellation. |
jj-548
commented
Oct 25, 2024
I've seen Rider hanging in a situation that looks like could be caused by this issue - indefinitely waiting for some FCS work that never happens, according to the debugger. It's a ~400 projects mixed C# & F# solution with parallel projects analysis enabled, so I can imagine race conditions are more likely than in smaller codebases. So I'm definitely cheering for this to get merged 👍 |
0101
commented
Oct 25, 2024
Is Rider using Graph checking for analysis somehow? |
vzarytovskii
commented
Oct 25, 2024
Is it plumbed in checker at all? |
0101
commented
Oct 25, 2024
Only through Transparent Compiler. |
vzarytovskii
commented
Oct 25, 2024
Yeah. I don't know if Rider exposes it. Probably @auduchinok should know. |
majocha
commented
Oct 28, 2024
Now I think my analysis here is rubbish, because |
Surveying the code base for unobserved background jobs that may throw I noticed this
Async.Startthat takes a cancellation token but is not effectively catching cancellations. Theoretically it is possible that the cancellation occurs beforeprocessNodestarts, resulting in an unhandled OperationCancelledException.This could potentially impact Transparent Compiler (?), I might have also observed it when running tests concurrently in #17872.