-
Notifications
You must be signed in to change notification settings - Fork 19
fix tests #264
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
fix tests #264
Conversation
To test you must use this PR, this kit, and this core_tests. You'll have to edit the |
Some notes:
|
kinode/src/kernel/process.rs
Outdated
let our = self.metadata.our.clone(); | ||
let timeout_handle = tokio::spawn(async move { | ||
tokio::time::sleep(std::time::Duration::from_secs(timeout_secs)).await; | ||
print(&send_to_terminal, 0, format!("{our}: timed out")).await; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah, controversial indeed.. i don't think this is a good timeout-tracking solution
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this actually necessary or just a visual debugging tool?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is quite hard to debug timeouts without an indication of what is going on. We could increase verbosity level or try to figure out some alternative way to do help devs debug, but the status quo of not informing devs is bad (I spent a day tracking down timeout-related bug because it wasn't clear to me what timeouts were happening, whereas if there were some type of print, it would've been much faster).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's hard for me to relate since timeouts do show up in the event loop trace, and unless there's a kernel bug in how they get sent back to processes, they should come up in the receive() message queue. In almost all the programs I've written, I have a print that shows any errors that come into my process. Is this an issue that's specific to runtime extension development?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You are correct. I think maybe this was due to the specific path I followed in bringing run-tests
into a more usable state or perhaps getting confused about multiple timeouts hitting. Regardless, I've removed the print in f2b8d38
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, everything looks good now
Problem
kit run-tests
not workingSolution
Docs Update
Corresponding docs PR
Notes
Solution 3 may be controversial, so please take a look at it.