diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2024-07-22 13:58:58 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-22 14:58:58 +0200 |
commit | 95847f4e9443ad8c8e0504c9fdd1d7f8eb4e588f (patch) | |
tree | 06b8ed973d0e6805aebff073598c9f2bc371d650 /cli | |
parent | 994b6327d3af5721fa4fcf6fbfe856a6f6da79cf (diff) |
Revert "fix: CFunctionInfo and CTypeInfo leaks (#24634)" (#24665)
This reverts commit 6c5905dbc354ae701f06c734608af834a0ba844c.
Reverting because of errors like this in CI:
```
#
# Fatal error in , line 0
# Check failed: FastApiCallNode::ArityForArgc(c_arg_count, slow_arg_count) == value_input_count.
#
#
#
#FailureMessage Object: 0x7fd5b3ffd9d0
==== C stack trace ===============================
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x1111883) [0x55b8d2107883]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x1110b6b) [0x55b8d2106b6b]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x110c6f9) [0x55b8d21026f9]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x20413cd) [0x55b8d30373cd]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x2034222) [0x55b8d302a222]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x202ff44) [0x55b8d3025f44]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x1e0b253) [0x55b8d2e01253]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x1dfcd96) [0x55b8d2df2d96]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x1df92aa) [0x55b8d2def2aa]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x1df8b71) [0x55b8d2deeb71]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x11ce49b) [0x55b8d21c449b]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x121fb23) [0x55b8d2215b23]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x1221359) [0x55b8d2217359]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x1112f3b) [0x55b8d2108f3b]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x111792b) [0x55b8d210d92b]
/home/runner/work/deno/deno/target/release/deps/url_ops-e4068c650cedb9fa(+0x110df0f) [0x55b8d2103f0f]
/lib/x86_64-linux-gnu/libc.so.6(+0x94ac3) [0x7fd5cb294ac3]
/lib/x86_64-linux-gnu/libc.so.6(+0x126850) [0x7fd5cb326850]
```
Diffstat (limited to 'cli')
-rw-r--r-- | cli/module_loader.rs | 10 | ||||
-rw-r--r-- | cli/standalone/mod.rs | 2 | ||||
-rw-r--r-- | cli/worker.rs | 21 |
3 files changed, 25 insertions, 8 deletions
diff --git a/cli/module_loader.rs b/cli/module_loader.rs index 56e103d1b..5156e98e3 100644 --- a/cli/module_loader.rs +++ b/cli/module_loader.rs @@ -55,6 +55,7 @@ use deno_core::ModuleType; use deno_core::RequestedModuleType; use deno_core::ResolutionKind; use deno_core::SourceCodeCacheInfo; +use deno_core::SourceMapGetter; use deno_graph::source::ResolutionMode; use deno_graph::source::Resolver; use deno_graph::GraphKind; @@ -292,7 +293,8 @@ impl CliModuleLoaderFactory { shared: self.shared.clone(), }))); ModuleLoaderAndSourceMapGetter { - module_loader: loader, + module_loader: loader.clone(), + source_map_getter: Some(loader), } } } @@ -826,7 +828,11 @@ impl<TGraphContainer: ModuleGraphContainer> ModuleLoader } std::future::ready(()).boxed_local() } +} +impl<TGraphContainer: ModuleGraphContainer> SourceMapGetter + for CliModuleLoader<TGraphContainer> +{ fn get_source_map(&self, file_name: &str) -> Option<Vec<u8>> { let specifier = resolve_url(file_name).ok()?; match specifier.scheme() { @@ -839,7 +845,7 @@ impl<TGraphContainer: ModuleGraphContainer> ModuleLoader source_map_from_code(source.code.as_bytes()) } - fn get_source_mapped_source_line( + fn get_source_line( &self, file_name: &str, line_number: usize, diff --git a/cli/standalone/mod.rs b/cli/standalone/mod.rs index 8701c0ad5..e0c8e66ff 100644 --- a/cli/standalone/mod.rs +++ b/cli/standalone/mod.rs @@ -385,6 +385,7 @@ impl ModuleLoaderFactory for StandaloneModuleLoaderFactory { root_permissions, dynamic_permissions, }), + source_map_getter: None, } } @@ -399,6 +400,7 @@ impl ModuleLoaderFactory for StandaloneModuleLoaderFactory { root_permissions, dynamic_permissions, }), + source_map_getter: None, } } } diff --git a/cli/worker.rs b/cli/worker.rs index a639dae41..36435d634 100644 --- a/cli/worker.rs +++ b/cli/worker.rs @@ -18,6 +18,7 @@ use deno_core::ModuleId; use deno_core::ModuleLoader; use deno_core::PollEventLoopOptions; use deno_core::SharedArrayBufferStore; +use deno_core::SourceMapGetter; use deno_runtime::code_cache; use deno_runtime::deno_broadcast_channel::InMemoryBroadcastChannel; use deno_runtime::deno_fs; @@ -54,6 +55,7 @@ use crate::version; pub struct ModuleLoaderAndSourceMapGetter { pub module_loader: Rc<dyn ModuleLoader>, + pub source_map_getter: Option<Rc<dyn SourceMapGetter>>, } pub trait ModuleLoaderFactory: Send + Sync { @@ -514,7 +516,10 @@ impl CliMainWorkerFactory { (main_module, false) }; - let ModuleLoaderAndSourceMapGetter { module_loader } = shared + let ModuleLoaderAndSourceMapGetter { + module_loader, + source_map_getter, + } = shared .module_loader_factory .create_for_main(PermissionsContainer::allow_all(), permissions.clone()); let maybe_inspector_server = shared.maybe_inspector_server.clone(); @@ -591,6 +596,7 @@ impl CliMainWorkerFactory { .clone(), root_cert_store_provider: Some(shared.root_cert_store_provider.clone()), seed: shared.options.seed, + source_map_getter, format_js_error_fn: Some(Arc::new(format_js_error)), create_web_worker_cb, maybe_inspector_server, @@ -724,11 +730,13 @@ fn create_web_worker_callback( Arc::new(move |args| { let maybe_inspector_server = shared.maybe_inspector_server.clone(); - let ModuleLoaderAndSourceMapGetter { module_loader } = - shared.module_loader_factory.create_for_worker( - args.parent_permissions.clone(), - args.permissions.clone(), - ); + let ModuleLoaderAndSourceMapGetter { + module_loader, + source_map_getter, + } = shared.module_loader_factory.create_for_worker( + args.parent_permissions.clone(), + args.permissions.clone(), + ); let create_web_worker_cb = create_web_worker_callback(mode, shared.clone(), stdio.clone()); @@ -794,6 +802,7 @@ fn create_web_worker_callback( seed: shared.options.seed, create_web_worker_cb, format_js_error_fn: Some(Arc::new(format_js_error)), + source_map_getter, module_loader, fs: shared.fs.clone(), node_resolver: Some(shared.node_resolver.clone()), |