From 87e4d43213358346ea568995ab243b06ae97e865 Mon Sep 17 00:00:00 2001 From: Pedro Henrique Penna Date: Thu, 5 Feb 2026 08:57:58 -0800 Subject: [PATCH 1/2] Updating Nanvix to v0.11.112 Signed-off-by: Pedro Henrique Penna --- Cargo.lock | 425 ++++++++++++++++++++++++++++--------- Cargo.toml | 2 +- src/runtime.rs | 26 ++- tests/integration_tests.rs | 11 +- 4 files changed, 359 insertions(+), 105 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4311a09..5062467 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -40,8 +40,8 @@ checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" [[package]] name = "arch" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "cfg-if", "config", @@ -86,30 +86,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" [[package]] -name = "base64" -version = "0.22.1" +name = "aws-lc-rs" +version = "1.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +checksum = "7b7b6141e96a8c160799cc2d5adecd5cbbe5054cb8c7c4af53da0f83bb7ad256" +dependencies = [ + "aws-lc-sys", + "zeroize", +] [[package]] -name = "bincode" -version = "2.0.1" +name = "aws-lc-sys" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36eaf5d7b090263e8150820482d5d93cd964a81e4019913c972f4edcc6edb740" +checksum = "5c34dda4df7017c8db52132f0f8a2e0f8161649d15723ed63fc00c82d0f2081a" dependencies = [ - "bincode_derive", - "serde", - "unty", + "cc", + "cmake", + "dunce", + "fs_extra", ] [[package]] -name = "bincode_derive" -version = "2.0.1" +name = "base64" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf95709a440f45e986983918d0e8a1f30a9b1df04918fc828670606804ac3c09" -dependencies = [ - "virtue", -] +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "bitflags" @@ -180,9 +182,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37521ac7aabe3d13122dc382493e20c9416f299d2ccd5b3a5340a2570cdeb0f3" dependencies = [ "find-msvc-tools", + "jobserver", + "libc", "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cfg-if" version = "1.0.4" @@ -206,10 +216,29 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "cmake" +version = "0.1.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" +dependencies = [ + "cc", +] + +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "config" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "cfg-if", ] @@ -222,8 +251,8 @@ checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "control-plane-api" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "config", "num_enum", @@ -250,6 +279,16 @@ dependencies = [ "libc", ] +[[package]] +name = "core-foundation" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -363,6 +402,12 @@ version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" +[[package]] +name = "dunce" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" + [[package]] name = "elfcore" version = "2.0.0" @@ -385,8 +430,8 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" [[package]] name = "error" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "sysapi", ] @@ -435,6 +480,12 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fs_extra" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" + [[package]] name = "futures" version = "0.3.31" @@ -604,6 +655,12 @@ dependencies = [ "tracing", ] +[[package]] +name = "half" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" + [[package]] name = "hashbrown" version = "0.16.0" @@ -670,8 +727,8 @@ checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "hwloc" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "anyhow", "libc", @@ -716,7 +773,6 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", - "webpki-roots", ] [[package]] @@ -981,6 +1037,38 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" +dependencies = [ + "getrandom 0.3.4", + "libc", +] + [[package]] name = "js-sys" version = "0.3.82" @@ -1048,8 +1136,8 @@ dependencies = [ [[package]] name = "linuxd" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "anyhow", "config", @@ -1157,8 +1245,8 @@ dependencies = [ [[package]] name = "nanvix" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "anyhow", "config", @@ -1176,8 +1264,8 @@ dependencies = [ [[package]] name = "nanvix-http" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "anyhow", "config", @@ -1200,8 +1288,8 @@ dependencies = [ [[package]] name = "nanvix-registry" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "anyhow", "dirs", @@ -1215,8 +1303,8 @@ dependencies = [ [[package]] name = "nanvix-sandbox" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "anyhow", "cfg-if", @@ -1235,8 +1323,8 @@ dependencies = [ [[package]] name = "nanvix-sandbox-cache" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "anyhow", "config", @@ -1248,8 +1336,8 @@ dependencies = [ [[package]] name = "nanvix-terminal" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "anyhow", "libc", @@ -1380,6 +1468,12 @@ version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" +[[package]] +name = "openssl-probe" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" + [[package]] name = "option-ext" version = "0.2.0" @@ -1478,8 +1572,8 @@ dependencies = [ [[package]] name = "profiler" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "cfg-if", "syslog", @@ -1587,6 +1681,7 @@ version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" dependencies = [ + "aws-lc-rs", "bytes", "getrandom 0.3.4", "lru-slab", @@ -1711,9 +1806,9 @@ checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "reqwest" -version = "0.12.24" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d0946410b9f7b082a427e4ef5c8ff541a88b357bc6c637c40db3a68ac70a36f" +checksum = "04e9018c9d814e5f30cc16a0f03271aeab3571e609612d9fe78c1aa8d11c2f62" dependencies = [ "base64", "bytes", @@ -1731,9 +1826,9 @@ dependencies = [ "quinn", "rustls", "rustls-pki-types", + "rustls-platform-verifier", "serde", "serde_json", - "serde_urlencoded", "sync_wrapper", "tokio", "tokio-rustls", @@ -1744,7 +1839,6 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "webpki-roots", ] [[package]] @@ -1818,14 +1912,26 @@ version = "0.23.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "533f54bc6a7d4f647e46ad909549eda97bf5afc1585190ef692b4286b198bd8f" dependencies = [ + "aws-lc-rs", "once_cell", - "ring", "rustls-pki-types", "rustls-webpki", "subtle", "zeroize", ] +[[package]] +name = "rustls-native-certs" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" +dependencies = [ + "openssl-probe", + "rustls-pki-types", + "schannel", + "security-framework", +] + [[package]] name = "rustls-pki-types" version = "1.13.0" @@ -1836,12 +1942,40 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rustls-platform-verifier" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d99feebc72bae7ab76ba994bb5e121b8d83d910ca40b36e0921f53becc41784" +dependencies = [ + "core-foundation 0.10.1", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki", + "security-framework", + "security-framework-sys", + "webpki-root-certs", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + [[package]] name = "rustls-webpki" version = "0.103.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" dependencies = [ + "aws-lc-rs", "ring", "rustls-pki-types", "untrusted", @@ -1868,6 +2002,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "schannel" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" +dependencies = [ + "windows-sys 0.61.2", +] + [[package]] name = "scopeguard" version = "1.2.0" @@ -1894,6 +2037,29 @@ dependencies = [ "syn", ] +[[package]] +name = "security-framework" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" +dependencies = [ + "bitflags 2.10.0", + "core-foundation 0.10.1", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "semver" version = "1.0.27" @@ -1910,6 +2076,16 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde_cbor" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" +dependencies = [ + "half", + "serde", +] + [[package]] name = "serde_core" version = "1.0.228" @@ -1943,18 +2119,6 @@ dependencies = [ "serde_core", ] -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - [[package]] name = "sha2" version = "0.10.9" @@ -1996,9 +2160,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook" -version = "0.3.18" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2" +checksum = "3b57709da74f9ff9f4a27dce9526eec25ca8407c45a7887243b031a58935fb8e" dependencies = [ "libc", "signal-hook-registry", @@ -2057,8 +2221,8 @@ checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "static_assert" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" [[package]] name = "subtle" @@ -2099,8 +2263,8 @@ dependencies = [ [[package]] name = "sys" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "config", "error", @@ -2109,8 +2273,8 @@ dependencies = [ [[package]] name = "sysapi" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "config", "static_assert", @@ -2118,8 +2282,8 @@ dependencies = [ [[package]] name = "syscall" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "arch", "cfg-if", @@ -2133,8 +2297,8 @@ dependencies = [ [[package]] name = "syscomm" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "config", "libc", @@ -2145,11 +2309,22 @@ dependencies = [ [[package]] name = "syslog" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "flexi_logger", "log", + "syslog-macros", +] + +[[package]] +name = "syslog-macros" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" +dependencies = [ + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -2159,7 +2334,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" dependencies = [ "bitflags 2.10.0", - "core-foundation", + "core-foundation 0.9.4", "system-configuration-sys", ] @@ -2321,9 +2496,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" +checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" dependencies = [ "bitflags 2.10.0", "bytes", @@ -2401,8 +2576,8 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" [[package]] name = "type-safe" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" [[package]] name = "typenum" @@ -2434,12 +2609,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" -[[package]] -name = "unty" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d49784317cd0d1ee7ec5c716dd598ec5b4483ea832a2dced265471cc0f690ae" - [[package]] name = "url" version = "2.5.7" @@ -2454,8 +2623,8 @@ dependencies = [ [[package]] name = "user-vm-api" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "config", "serde", @@ -2466,12 +2635,11 @@ dependencies = [ [[package]] name = "uservm" -version = "0.11.24" -source = "git+https://github.com/nanvix/nanvix?rev=4cde8f1903f54b6cf6117f0ea5061a1c00a68973#4cde8f1903f54b6cf6117f0ea5061a1c00a68973" +version = "0.11.112" +source = "git+https://github.com/nanvix/nanvix?rev=7752e9f2deb4a5606f9885e4c130eec4ea583de1#7752e9f2deb4a5606f9885e4c130eec4ea583de1" dependencies = [ "anyhow", "arch", - "bincode", "cfg-if", "config", "control-plane-api", @@ -2481,6 +2649,7 @@ dependencies = [ "libc", "profiler", "serde", + "serde_cbor", "static_assert", "sys", "syscall", @@ -2520,12 +2689,6 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -[[package]] -name = "virtue" -version = "0.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051eb1abcf10076295e815102942cc58f9d5e3b4560e46e53c21e8ff6f3af7b1" - [[package]] name = "vmm-sys-util" version = "0.15.0" @@ -2649,10 +2812,10 @@ dependencies = [ ] [[package]] -name = "webpki-roots" -version = "1.0.4" +name = "webpki-root-certs" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" +checksum = "804f18a4ac2676ffb4e8b5b5fa9ae38af06df08162314f96a68d2a363e21a8ca" dependencies = [ "rustls-pki-types", ] @@ -2824,6 +2987,15 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + [[package]] name = "windows-sys" version = "0.52.0" @@ -2851,6 +3023,21 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.52.6" @@ -2902,6 +3089,12 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -2914,6 +3107,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -2926,6 +3125,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -2950,6 +3155,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -2962,6 +3173,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -2974,6 +3191,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -2986,6 +3209,12 @@ version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.52.6" diff --git a/Cargo.toml b/Cargo.toml index 1df2c3f..07b1370 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" description = "A Hyperlight VMM wrapper with out-of-the-box support for running Nanvix microkernel guests" [dependencies] -nanvix = { git = "https://github.com/nanvix/nanvix", rev = "4cde8f1903f54b6cf6117f0ea5061a1c00a68973", features = ["single-process", "hyperlight"] } +nanvix = { git = "https://github.com/nanvix/nanvix", rev = "7752e9f2deb4a5606f9885e4c130eec4ea583de1", features = ["single-process", "hyperlight"] } tokio = { version = "1.0", features = ["rt-multi-thread", "macros"] } anyhow = "1.0" libc = "0.2.178" diff --git a/src/runtime.rs b/src/runtime.rs index 89a1947..89fa19d 100644 --- a/src/runtime.rs +++ b/src/runtime.rs @@ -85,10 +85,22 @@ impl std::fmt::Debug for RuntimeConfig { impl Default for RuntimeConfig { fn default() -> Self { + use std::process; + use std::time::{SystemTime, UNIX_EPOCH}; + + // Generate unique directory suffix using timestamp and PID to avoid conflicts + // when multiple tests or instances run in parallel + let unique_id = SystemTime::now() + .duration_since(UNIX_EPOCH) + .map(|d| d.as_nanos()) + .unwrap_or(0); + let pid = process::id(); + let unique_suffix = format!("{}-{}", unique_id, pid); + Self { syscall_table: None, - log_directory: "/tmp/hyperlight-nanvix".to_string(), - tmp_directory: "/tmp/hyperlight-nanvix".to_string(), + log_directory: format!("/tmp/hyperlight-nanvix-{}", unique_suffix), + tmp_directory: format!("/tmp/hyperlight-nanvix-{}", unique_suffix), } } } @@ -244,18 +256,24 @@ impl Runtime { let console_log_path = format!("{}/guest-console.log", &self.config.log_directory); let console_file = Some(console_log_path.clone()); + // Use tmp_directory for toolchain and snapshot paths to ensure uniqueness + let toolchain_path = format!("{}/toolchain", &self.config.tmp_directory); + let snapshot_path = format!("{}/snapshot.bin", &self.config.tmp_directory); + let sandbox_cache_config = SandboxCacheConfig::new( nanvix::syscomm::SocketType::Unix, nanvix::syscomm::SocketType::Unix, nanvix::syscomm::SocketType::Unix, console_file, None, + None, + 0, &kernel_path, syscall_table, - "/tmp/hyperlight-nanvix/toolchain", + &toolchain_path, &self.config.log_directory, false, - "/tmp/hyperlight-nanvix/snapshot.bin", + &snapshot_path, &self.config.tmp_directory, ); diff --git a/tests/integration_tests.rs b/tests/integration_tests.rs index 75c14e9..32c9995 100644 --- a/tests/integration_tests.rs +++ b/tests/integration_tests.rs @@ -98,9 +98,16 @@ async fn test_nonexistent_file() { #[tokio::test] async fn test_runtime_config_customization() { + use std::time::{SystemTime, UNIX_EPOCH}; + + // Use unique directories to avoid conflicts between parallel tests + let timestamp = SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap() + .as_nanos(); let config = RuntimeConfig::new() - .with_log_directory("/tmp/hyperlight-test-log") - .with_tmp_directory("/tmp/hyperlight-test-tmp"); + .with_log_directory(format!("/tmp/hyperlight-test-log-{}", timestamp)) + .with_tmp_directory(format!("/tmp/hyperlight-test-tmp-{}", timestamp)); let mut sandbox = Sandbox::new(config).expect("Failed to create sandbox with custom config"); From 47bb475b5a8a86637d27fdd50e2291e9120b0944 Mon Sep 17 00:00:00 2001 From: Pedro Henrique Penna Date: Thu, 5 Feb 2026 08:58:27 -0800 Subject: [PATCH 2/2] Fix Code Formatting Signed-off-by: Pedro Henrique Penna --- Cargo.toml | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 07b1370..b3bdb26 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,18 +5,29 @@ edition = "2021" description = "A Hyperlight VMM wrapper with out-of-the-box support for running Nanvix microkernel guests" [dependencies] -nanvix = { git = "https://github.com/nanvix/nanvix", rev = "7752e9f2deb4a5606f9885e4c130eec4ea583de1", features = ["single-process", "hyperlight"] } +nanvix = { git = "https://github.com/nanvix/nanvix", rev = "7752e9f2deb4a5606f9885e4c130eec4ea583de1", features = [ + "single-process", + "hyperlight", +] } tokio = { version = "1.0", features = ["rt-multi-thread", "macros"] } anyhow = "1.0" libc = "0.2.178" # NAPI bindings (optional) -napi = { version = "3.5.0", optional = true, features = ["async", "serde-json"] } +napi = { version = "3.5.0", optional = true, features = [ + "async", + "serde-json", +] } napi-derive = { version = "3.3.0", optional = true } # Python bindings (optional) -pyo3 = { version = "0.20", optional = true, features = ["extension-module", "abi3-py38"] } -pyo3-asyncio = { version = "0.20", optional = true, features = ["tokio-runtime"] } +pyo3 = { version = "0.20", optional = true, features = [ + "extension-module", + "abi3-py38", +] } +pyo3-asyncio = { version = "0.20", optional = true, features = [ + "tokio-runtime", +] } [features] default = [] @@ -31,4 +42,4 @@ name = "syscall_interception" path = "examples/syscall_interception.rs" [build-dependencies] -napi-build = { version = "2.3.0", optional = true } \ No newline at end of file +napi-build = { version = "2.3.0", optional = true }