-
Notifications
You must be signed in to change notification settings - Fork 243
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
invalid_execution_proof_should_not_work fails under high CPU load #1352
Comments
The issue is probably due to the unexpected behavior of Root cause of failing testsIn both the test Because Also because the node is initialized asynchronously if the first slot is produced before Thus the test is blocked on waiting for the slot acknowledgment due to there is a Potential damage beyond the test
In the block import pipeline, it will also wait for all the block importing acknowledgments from the subscriber before finishing, if a subscriber is dropped after the block importing notification is sent to it but before it handles, the block import pipeline will also block forever. But in our current usage, there seem only a few subscribers of the block import notification stream, the archiver, system domain executor, and core domain executor, both of them are essential and should not be dropped except for fatal errors. So the large damage is that when some fatal errors occur the node may hang unexpectedly, and it may also be a pitfall for the future subscriber of the block import notification stream. |
I think this should be reported back to Substrate and we should ping upstream |
…nt in MockPrimaryNode It is possible that the slot/block import subscriber is dropped after notification then we will block on waiting for acknowledgement forever, see #1352 for more details. This commit fix this issue by dynamically adjusting the expected acknowledgement during waiting. Signed-off-by: linning <linningde25@gmail.com>
|
…cknowledgements in MockPrimaryNode It is possible that the slot/block import subscriber is dropped after notification then we will block on waiting for acknowledgement forever, see #1352 for more details. This commit fix this issue by proactively drop closed subscribers while waiting acknowledgements. Signed-off-by: linning <linningde25@gmail.com>
It can be reproduced with busy CPUs. For example, run
openssl speed -multi 24 rsa
, and then run the test indivisually. You may need to have multiple runs as it sometimes passes even with 100% CPU usage on my machine.Originally posted by @liuchengxu in #1347 (comment)
The text was updated successfully, but these errors were encountered: