Skip to content
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

chore(drun): Disable DTS for deterministic debug outputs #991

Merged
merged 3 commits into from
Sep 16, 2024

Conversation

luc-blaeser
Copy link
Contributor

Disable DTS in drun for system subnets to enable deterministic debug output testing.

Background information:
DTS aborts uncompleted messsages if they reach a checkpoint and retries them later. However, debug prints of such DTS-aborted executions leak, which leads to non-deterministic debug outputs and can disturb testing with drun. Therefore, disable DTS on system subnets in drun for deterministic debug outputs as required by Motoko's tests.

This testing issue has become noticeable with #621.

@luc-blaeser luc-blaeser self-assigned this Aug 19, 2024
@luc-blaeser luc-blaeser requested a review from a team as a code owner August 19, 2024 12:09
@github-actions github-actions bot added the chore label Aug 19, 2024
Copy link
Contributor

@ggreif ggreif left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@luc-blaeser
Copy link
Contributor Author

Thank you, Gabor!

mergify bot pushed a commit to dfinity/motoko that referenced this pull request Sep 9, 2024
Using IC 2024-08-16 with some adjustments:
* `drun` adjustments for better testing
   - dfinity/ic#662 (Lift 8GB memory boundary from drun)
   - dfinity/ic#988 (Enable Wasm64 with 16GB main memory capacity)
   - dfinity/ic#991 (Disable DTS for deterministic debug outputs)
   - dfinity/ic#992 (Increase batch limit for longer running tests)
   - dfinity/ic#1240 (Enable canister snapshots)
* IC build fixes for `nix`:
   - Remove duplicate entries of same crate with same versions in `Cargo.toml`.
   - dfinity/ic#993 (Fix MacOS `rocksdb` dependency).
* Other IC fixes:
   - dfinity/ic#1250 (Fix canister snapshots)
Copy link

@crusso crusso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I wonder if those replicated effects make it into the logs!

rs/drun/src/lib.rs Show resolved Hide resolved
@luc-blaeser
Copy link
Contributor Author

Just checked: The output of DTS-aborted messages are not written to the log. So, just a local testing phenomenon.

@luc-blaeser luc-blaeser added this pull request to the merge queue Sep 16, 2024
Merged via the queue into master with commit 9b65739 Sep 16, 2024
24 checks passed
@luc-blaeser luc-blaeser deleted the luc/drun-disable-dts branch September 16, 2024 13:20
levifeldman pushed a commit to levifeldman/ic that referenced this pull request Oct 1, 2024
Disable DTS in `drun` for system subnets to enable deterministic debug
output testing.

**Background information**:
DTS aborts uncompleted messsages if they reach a checkpoint and retries
them later. However, debug prints of such DTS-aborted executions leak,
which leads to non-deterministic debug outputs and can disturb testing
with `drun`. Therefore, disable DTS on system subnets in `drun` for
deterministic debug outputs as required by Motoko's tests.

This testing issue has become noticeable with
dfinity#621.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants