From 4e06387b6a25b24d65c4645f4a64004f00e81d9d Mon Sep 17 00:00:00 2001 From: mohanson Date: Tue, 15 Oct 2024 15:30:25 +0800 Subject: [PATCH 1/2] fix(script): fixed panic when calling inherited_fds in root process --- script/src/scheduler.rs | 6 +++++- .../tests/ckb_latest/features_since_v2023.rs | 6 ++++++ script/testdata/spawn_cases | Bin 15664 -> 16704 bytes script/testdata/spawn_cases.c | 13 +++++++++++++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/script/src/scheduler.rs b/script/src/scheduler.rs index 3c93c0ee82..358acda0e5 100644 --- a/script/src/scheduler.rs +++ b/script/src/scheduler.rs @@ -462,7 +462,11 @@ where ); } Message::InheritedFileDescriptor(vm_id, args) => { - let inherited_fd = self.inherited_fd[&vm_id].clone(); + let inherited_fd = if vm_id == ROOT_VM_ID { + Vec::new() + } else { + self.inherited_fd[&vm_id].clone() + }; let (_, machine) = self.ensure_get_instantiated(&vm_id)?; let FdArgs { buffer_addr, diff --git a/script/src/verify/tests/ckb_latest/features_since_v2023.rs b/script/src/verify/tests/ckb_latest/features_since_v2023.rs index e99dd32f5b..d5eb783ca0 100644 --- a/script/src/verify/tests/ckb_latest/features_since_v2023.rs +++ b/script/src/verify/tests/ckb_latest/features_since_v2023.rs @@ -1235,6 +1235,12 @@ fn check_spawn_index_out_of_bound() { assert_eq!(result.is_ok(), SCRIPT_VERSION == ScriptVersion::V2); } +#[test] +fn check_root_inherited_fds() { + let result = simple_spawn_test("testdata/spawn_cases", &[19]); + assert_eq!(result.is_ok(), SCRIPT_VERSION == ScriptVersion::V2); +} + #[test] fn check_spawn_cycles() { let script_version = SCRIPT_VERSION; diff --git a/script/testdata/spawn_cases b/script/testdata/spawn_cases index dbfddd345ed1167b7eaef2daf6f3c557fb28148e..2f6791d44744851c6460bc04de286c23dde4d523 100755 GIT binary patch literal 16704 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%0DCUyt5xGa>u)6DzqZ81=Pw=YndZ2Ow8{|sa39xHb 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 Date: Tue, 15 Oct 2024 15:53:17 +0800 Subject: [PATCH 2/2] Rebuild binary --- script/testdata/spawn_cases | Bin 16704 -> 15728 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/script/testdata/spawn_cases b/script/testdata/spawn_cases index 2f6791d44744851c6460bc04de286c23dde4d523..c4acb37967aa7150eb5afaddb7a3994567c289f3 100755 GIT binary patch literal 15728 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