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
Merge dev into main #1441
Merge dev into main #1441
Conversation
We want the default mode to be that Shadow calculates the number of processors to use based on the number of hosts specified in the configuration file. (See #1251.) In this case, we do not want to run the forkproxy workaround, because the fact that waitpid is O(n) won't matter when each processor only runs a few pids. Closes #1261
When notified of process exit, we can't catch the ptrace exit event if we're not still attached. Trying to do so will instead reap the final exit status, which will cause the Process to fail to do so.
Disable forkproxy by default * Disable forkproxy / O(n)-waitpid-workaround by default * Fix a shutdown bug in thread_ptrace that this exposed Closes #1261
Not clear yet how best to handle these; avoid using them until we do. Some options * Avoid ever wrapping them; ideal but maybe difficult. * Just go ahead and wrap them. bindgen's static assertions *should* catch if any structs are a different size than expected. They won't catch if fields are reordered, but that's probably unlikely. * Wrap them as opaque types. This would also protect us from reordering, though we'd then need to create C accessors for those fields. * Dynamically generate bindings instead of checking them in. This would guarantee that the types match the types on the machine where it's built. It wouldn't help with distributed binaries, though.
Don't ignore unknown topology attributes
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.125 to 1.0.126. - [Release notes](https://github.com/serde-rs/serde/releases) - [Commits](serde-rs/serde@v1.0.125...v1.0.126) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Add Rust bindings for Host * Create a Rust type `SimulationTime` to help avoid mixing with other time types. * Add a Host struct in Rust to wrap host_*, and expose name and IP for logging * Add methods to Worker to get current host, sim time, and thread-id Progress on #1301
Renamed topology 'ip' to 'ip_address', and removed the 'asn' and 'packet_loss' node attributes
* Copy file names instead of holding a reference when we also need to get a mutable reference. Holding an immutable + mutable reference simultaneously would break Rust's soundness contract, and currently results in a run-time panic in the C wrappers. * Fix missing NULL checks for return values of process_getReadablePtr and process_getWriteablePtr. * Remove unnecessary NULL checks for user pointers. The MemoryManager functions will themselves return NULL if the user pointer isn't accessible.
Fix fstatat * TypedPluginPtr: make slice method generic over RangeBounds * MemoryManager.read_ptr: let caller slice instead of taking offset * MemoryManager: generalize read_ptr -> readv_ptr * Split MemoryReader.copy to read_some and read_exact * MemoryReader: split as_ref into ref_some and ref_exact * Reimplement process_getReadableString using new Reader API * Add process_readString * fileat syscalls: fix memory access bugs * Add test for fstatat Fixes #1332
- Rename vertex to node, since gml calls them nodes - Use host instead of node where appropriate - Use network node instead of node for clarity - Replace some use of topology with graph or network graph
Update docs for 2.x Includes: - more details about what shadow is and why it's important on the top-level readme - re-ordered the ToC in docs/readme to better organize contents into sections - added line breaks to long lines across all docs - more consistent use of terms like vertices->nodes, topology->graph - separate tgen example from shadow log parsing and more...
Bumps [vsprintf](https://github.com/sporksmith/vsprintf) from `ad76219` to `1269b19`. - [Release notes](https://github.com/sporksmith/vsprintf/releases) - [Commits](sporksmith/vsprintf@ad76219...1269b19) --- updated-dependencies: - dependency-name: vsprintf dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
…printf-1269b19 Bump vsprintf from `ad76219` to `1269b19` in /src/main
Formatting changes to docs
Minor updates to top-level readme
Final merge main
Note that the checks that are listed as "required" for the main branch are no longer applicable to the dev branch and will not run here. I'll update the list of required checks on main after merging this PR. |
Codecov Report
@@ Coverage Diff @@
## main #1441 +/- ##
=======================================
Coverage ? 54.10%
=======================================
Files ? 138
Lines ? 20456
Branches ? 5171
=======================================
Hits ? 11067
Misses ? 6468
Partials ? 2921
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report at Codecov.
|
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.
Careful not to squash ;)
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.
I read all 190,000 changed lines and they look good to me! :)
Woh, exciting! 🥳 🎉 |
The day has finally arrived!