From 32c72f0925140baa4ecf1a969d604f6c9506bb4c Mon Sep 17 00:00:00 2001 From: Alan Jeffrey Date: Wed, 23 Mar 2016 16:49:18 -0500 Subject: [PATCH] Added ability to randomly kill pipelines to the constellation. --- components/compositing/Cargo.toml | 1 + components/compositing/constellation.rs | 36 +++++++++++++++++++++++++ components/compositing/lib.rs | 1 + components/msg/constellation_msg.rs | 6 ++--- components/servo/Cargo.lock | 31 +++++++++++---------- components/util/opts.rs | 26 ++++++++++++++++++ ports/cef/Cargo.lock | 31 +++++++++++---------- ports/geckolib/Cargo.lock | 25 +++++------------ ports/gonk/Cargo.lock | 31 +++++++++++---------- 9 files changed, 119 insertions(+), 69 deletions(-) diff --git a/components/compositing/Cargo.toml b/components/compositing/Cargo.toml index da80cec1ccd..7a114c51810 100644 --- a/components/compositing/Cargo.toml +++ b/components/compositing/Cargo.toml @@ -95,6 +95,7 @@ gleam = "0.2.8" image = "0.7" log = "0.3.5" num = "0.1.24" +rand = "0.3" serde = "0.7" serde_macros = "0.7" time = "0.1.17" diff --git a/components/compositing/constellation.rs b/components/compositing/constellation.rs index a7a958e3101..f1876e660c7 100644 --- a/components/compositing/constellation.rs +++ b/components/compositing/constellation.rs @@ -43,6 +43,7 @@ use offscreen_gl_context::GLContextAttributes; use pipeline::{CompositionPipeline, InitialPipelineState, Pipeline, UnprivilegedPipelineContent}; use profile_traits::mem; use profile_traits::time; +use rand::{random, Rng, SeedableRng, StdRng}; #[cfg(not(target_os = "windows"))] use sandboxing; use script_traits::{AnimationState, CompositorEvent, ConstellationControlMsg}; @@ -180,6 +181,10 @@ pub struct Constellation { // Webrender interface, if enabled. webrender_api_sender: Option, + + /// The random number generator and probability for closing pipelines. + /// This is for testing the hardening of the constellation. + random_pipeline_closure: Option<(StdRng, f32)>, } /// State needed to construct a constellation. @@ -347,6 +352,13 @@ impl Constellation child_processes: Vec::new(), document_states: HashMap::new(), webrender_api_sender: state.webrender_api_sender, + random_pipeline_closure: opts::get().random_pipeline_closure_probability.map(|prob| { + let seed = opts::get().random_pipeline_closure_seed.unwrap_or_else(random); + let rng = StdRng::from_seed(&[seed]); + warn!("Randomly closing pipelines."); + info!("Using seed {} for random pipeline closure.", seed); + (rng, prob) + }), }; let namespace_id = constellation.next_pipeline_namespace_id(); PipelineNamespace::install(namespace_id); @@ -357,6 +369,9 @@ impl Constellation fn run(&mut self) { loop { + // Randomly close a pipeline if --random-pipeline-closure-probability is set + // This is for testing the hardening of the constellation. + self.maybe_close_random_pipeline(); if !self.handle_request() { break; } @@ -1576,6 +1591,27 @@ impl Constellation } } + // Randomly close a pipeline -if --random-pipeline-closure-probability is set + fn maybe_close_random_pipeline(&mut self) { + match self.random_pipeline_closure { + Some((ref mut rng, probability)) => if probability <= rng.gen::() { return }, + _ => return, + }; + // In order to get repeatability, we sort the pipeline ids. + let mut pipeline_ids: Vec<&PipelineId> = self.pipelines.keys().collect(); + pipeline_ids.sort(); + if let Some((ref mut rng, _)) = self.random_pipeline_closure { + if let Some(pipeline_id) = rng.choose(&*pipeline_ids) { + if let Some(pipeline) = self.pipelines.get(pipeline_id) { + // Note that we deliberately do not do any of the tidying up + // associated with closing a pipeline. The constellation should cope! + info!("Randomly closing pipeline {}.", pipeline_id); + pipeline.force_exit(); + } + } + } + } + // Convert a frame to a sendable form to pass to the compositor fn frame_to_sendable(&self, frame_id: FrameId) -> SendableFrameTree { let pipeline = self.pipeline(self.frame(frame_id).current); diff --git a/components/compositing/lib.rs b/components/compositing/lib.rs index 3df97bed036..c5fc7537e0a 100644 --- a/components/compositing/lib.rs +++ b/components/compositing/lib.rs @@ -41,6 +41,7 @@ extern crate num; extern crate offscreen_gl_context; #[macro_use] extern crate profile_traits; +extern crate rand; extern crate script_traits; extern crate serde; extern crate style_traits; diff --git a/components/msg/constellation_msg.rs b/components/msg/constellation_msg.rs index 851857ee738..8c1c02feaf0 100644 --- a/components/msg/constellation_msg.rs +++ b/components/msg/constellation_msg.rs @@ -314,13 +314,13 @@ impl PipelineNamespace { thread_local!(pub static PIPELINE_NAMESPACE: Cell> = Cell::new(None)); -#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug, Deserialize, Serialize, HeapSizeOf)] +#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Copy, Hash, Debug, Deserialize, Serialize, HeapSizeOf)] pub struct PipelineNamespaceId(pub u32); -#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug, Deserialize, Serialize, HeapSizeOf)] +#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Copy, Hash, Debug, Deserialize, Serialize, HeapSizeOf)] pub struct PipelineIndex(pub u32); -#[derive(Clone, PartialEq, Eq, Copy, Hash, Debug, Deserialize, Serialize, HeapSizeOf)] +#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Copy, Hash, Debug, Deserialize, Serialize, HeapSizeOf)] pub struct PipelineId { pub namespace_id: PipelineNamespaceId, pub index: PipelineIndex diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index 583381d049b..5eff9d34a6c 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -307,6 +307,7 @@ dependencies = [ "offscreen_gl_context 0.1.0 (git+https://github.com/ecoal95/rust-offscreen-rendering-context)", "plugins 0.0.1", "profile_traits 0.0.1", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -397,7 +398,7 @@ name = "deque" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -648,7 +649,7 @@ source = "git+https://github.com/servo/gaol#cbb2518029901f078f871a87ebe05cf96d72 dependencies = [ "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -700,7 +701,7 @@ dependencies = [ "net_traits 0.0.1", "plugins 0.0.1", "profile_traits 0.0.1", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "range 0.0.1", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -968,7 +969,7 @@ dependencies = [ "byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "uuid 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1353,7 +1354,7 @@ name = "num" version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1477,7 +1478,7 @@ version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "phf_shared 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1605,12 +1606,10 @@ dependencies = [ [[package]] name = "rand" -version = "0.3.12" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "advapi32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1632,7 +1631,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1715,7 +1714,7 @@ dependencies = [ "phf_macros 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "range 0.0.1", "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2036,7 +2035,7 @@ name = "tempdir" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2046,7 +2045,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2183,7 +2182,7 @@ dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2210,7 +2209,7 @@ name = "uuid" version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2348,7 +2347,7 @@ dependencies = [ "hyper 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "unicase 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/components/util/opts.rs b/components/util/opts.rs index 44d458de637..ccdaa17b27f 100644 --- a/components/util/opts.rs +++ b/components/util/opts.rs @@ -146,6 +146,14 @@ pub struct Opts { /// Whether we're running inside the sandbox. pub sandbox: bool, + /// Probability of randomly closing a pipeline, + /// used for testing the hardening of the constellation. + pub random_pipeline_closure_probability: Option, + + /// The seed for the RNG used to randomly close pipelines, + /// used for testing the hardening of the constellation. + pub random_pipeline_closure_seed: Option, + /// Dumps the flow tree after a layout. pub dump_flow_tree: bool, @@ -282,6 +290,7 @@ pub struct DebugOptions { /// Use multisample antialiasing in WebRender. pub use_msaa: bool, + } @@ -485,6 +494,8 @@ pub fn default_opts() -> Opts { initial_window_size: Size2D::typed(800, 600), user_agent: default_user_agent_string(DEFAULT_USER_AGENT), multiprocess: false, + random_pipeline_closure_probability: None, + random_pipeline_closure_seed: None, sandbox: false, dump_flow_tree: false, dump_display_list: false, @@ -538,6 +549,11 @@ pub fn from_cmdline_args(args: &[String]) -> ArgumentParsingResult { "NCSA Mosaic/1.0 (X11;SunOS 4.1.4 sun4m)"); opts.optflag("M", "multiprocess", "Run in multiprocess mode"); opts.optflag("S", "sandbox", "Run in a sandbox if multiprocess"); + opts.optopt("", + "random-pipeline-closure-probability", + "Probability of randomly closing a pipeline (for testing constellation hardening).", + "0.0"); + opts.optopt("", "random-pipeline-closure-seed", "A fixed seed for repeatbility of random pipeline closure.", ""); opts.optopt("Z", "debug", "A comma-separated string of debug options. Pass help to show available options.", ""); opts.optflag("h", "help", "Print this message"); @@ -649,6 +665,14 @@ pub fn from_cmdline_args(args: &[String]) -> ArgumentParsingResult { let nonincremental_layout = opt_match.opt_present("i"); + let random_pipeline_closure_probability = opt_match.opt_str("random-pipeline-closure-probability").map(|prob| + prob.parse().expect("Error parsing option: --random-pipeline-closure-probability") + ); + + let random_pipeline_closure_seed = opt_match.opt_str("random-pipeline-closure-seed").map(|seed| + seed.parse().expect("Error parsing option: --random-pipeline-closure-seed") + ); + let mut bubble_inline_sizes_separately = debug_options.bubble_widths; if debug_options.trace_layout { paint_threads = 1; @@ -737,6 +761,8 @@ pub fn from_cmdline_args(args: &[String]) -> ArgumentParsingResult { user_agent: user_agent, multiprocess: opt_match.opt_present("M"), sandbox: opt_match.opt_present("S"), + random_pipeline_closure_probability: random_pipeline_closure_probability, + random_pipeline_closure_seed: random_pipeline_closure_seed, render_api: render_api, show_debug_borders: debug_options.show_compositor_borders, show_debug_fragment_borders: debug_options.show_fragment_borders, diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index 463f3e92a99..cc2cfab80f9 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -277,6 +277,7 @@ dependencies = [ "offscreen_gl_context 0.1.0 (git+https://github.com/ecoal95/rust-offscreen-rendering-context)", "plugins 0.0.1", "profile_traits 0.0.1", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -367,7 +368,7 @@ name = "deque" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -577,7 +578,7 @@ source = "git+https://github.com/servo/gaol#cbb2518029901f078f871a87ebe05cf96d72 dependencies = [ "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -629,7 +630,7 @@ dependencies = [ "net_traits 0.0.1", "plugins 0.0.1", "profile_traits 0.0.1", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "range 0.0.1", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -888,7 +889,7 @@ dependencies = [ "byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "uuid 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1247,7 +1248,7 @@ name = "num" version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1371,7 +1372,7 @@ version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "phf_shared 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1480,12 +1481,10 @@ dependencies = [ [[package]] name = "rand" -version = "0.3.12" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "advapi32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1507,7 +1506,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1590,7 +1589,7 @@ dependencies = [ "phf_macros 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "range 0.0.1", "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1923,7 +1922,7 @@ name = "tempdir" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1933,7 +1932,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2070,7 +2069,7 @@ dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2086,7 +2085,7 @@ name = "uuid" version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2224,7 +2223,7 @@ dependencies = [ "hyper 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "unicase 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/geckolib/Cargo.lock b/ports/geckolib/Cargo.lock index 9a028cd5d27..868dd8b0a21 100644 --- a/ports/geckolib/Cargo.lock +++ b/ports/geckolib/Cargo.lock @@ -21,15 +21,6 @@ dependencies = [ "util 0.0.1", ] -[[package]] -name = "advapi32-sys" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "app_units" version = "0.2.3" @@ -100,7 +91,7 @@ name = "deque" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -206,7 +197,7 @@ dependencies = [ "byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "uuid 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", @@ -249,7 +240,7 @@ name = "num" version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -269,7 +260,7 @@ version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "phf_shared 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -317,12 +308,10 @@ dependencies = [ [[package]] name = "rand" -version = "0.3.12" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "advapi32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -508,7 +497,7 @@ dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -524,7 +513,7 @@ name = "uuid" version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", ] diff --git a/ports/gonk/Cargo.lock b/ports/gonk/Cargo.lock index 3f1b057dc5f..6ba9e416e8a 100644 --- a/ports/gonk/Cargo.lock +++ b/ports/gonk/Cargo.lock @@ -270,6 +270,7 @@ dependencies = [ "offscreen_gl_context 0.1.0 (git+https://github.com/ecoal95/rust-offscreen-rendering-context)", "plugins 0.0.1", "profile_traits 0.0.1", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -360,7 +361,7 @@ name = "deque" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -580,7 +581,7 @@ source = "git+https://github.com/servo/gaol#cbb2518029901f078f871a87ebe05cf96d72 dependencies = [ "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -632,7 +633,7 @@ dependencies = [ "net_traits 0.0.1", "plugins 0.0.1", "profile_traits 0.0.1", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "range 0.0.1", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -870,7 +871,7 @@ dependencies = [ "byteorder 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "uuid 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1229,7 +1230,7 @@ name = "num" version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1353,7 +1354,7 @@ version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "phf_shared 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1462,12 +1463,10 @@ dependencies = [ [[package]] name = "rand" -version = "0.3.12" +version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "advapi32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1489,7 +1488,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1572,7 +1571,7 @@ dependencies = [ "phf_macros 0.7.13 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "range 0.0.1", "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1903,7 +1902,7 @@ name = "tempdir" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1913,7 +1912,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2050,7 +2049,7 @@ dependencies = [ "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2066,7 +2065,7 @@ name = "uuid" version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2173,7 +2172,7 @@ dependencies = [ "hyper 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "net2 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "unicase 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "url 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)",