-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possible data race in Rust runtime #780
Comments
@daviddrysdale any tips on how to investigate this further? I have a suspicion this is complaining there is a race on the Arc/Weak that corresponds to |
Yeah, it looks to be related to the various layers of indirection involved in passing around a |
The reference there is unnecessary, that seems to get rid of the data race warning. I think the original complaint was that the reference was being using in a closure and the sanitizer couldn't guarantee this wasn't an issue - not sure. It doesn't seem to mind it with a copy though However, there are now some potential lock inversion warnings im looking into. |
Ok the data race warning is a false positive due to Arc that is fixed in nightlies newer than 3/19 (c.f. rust-lang/rust#65097). Unfortunately there are components missing so updating the Docker image at this time would be a bad idea (clippy and rls are missing for example). There were some lock inversion warnings that seem legitimate that I have fixed in #784, this can be verified by
and seeing there are no errors/warnings. |
BTW, what were the lock inversion warnings? (I didn't spot any inversions (#779) from code-reading, but that's not a particularly reliable way to find them.) |
The warnings corresponded to one instance of inversion against your list "runtime.channels -> runtime.nodes". One other change in #784 was not strictly necessary but reduces lock scope. |
Ah yes, I see it now, thanks for the pointer. |
On trying a test run under Thread Sanitizer (cf #778) there's a possible data race between
wait_on_channels
by the logging node, andchannel_write
from the Wasm node.The text was updated successfully, but these errors were encountered: