Skip to content

Commit

Permalink
Reland rusoto and tokio upgrade
Browse files Browse the repository at this point in the history
This reverts commit 87dd4be.

The cause of the leak was that `Regex::new` leaked 2.5 MB of memory on
every build (in `parse_rustc_version`). Searching around I found
rust-lang/regex#742, which said this was a
regression in thread_local.  Updating thread_local to 1.1.3 fixed the
issue.

For future reference: I debugged the leak as follows.

1. Build the crate: `cargo build`
2. Run the daemon under massif without registry watching: `valgrind --tool=massif target/debug/cratesfyi daemon --registry-watcher disabled`
3. Add a whole bunch of crates to the queue: `for i in $(seq 1 100); do cargo run -q queue add serde 1.0.$i; done`
4. Stop the daemon with SIGINT when you get tired of waiting (I ran about 30 builds).
5. Run `massif-visualizer` on the generated file.

Here are the changes to Cargo.lock:

```
> cargo update -p docs-rs
    Updating crates.io index
    Removing arrayref v0.3.6
    Removing arrayvec v0.5.1
      Adding attohttpc v0.16.3
    Updating base64 v0.11.0 -> v0.13.0
    Removing blake2b_simd v0.5.10
      Adding bytes v1.0.1
    Removing constant_time_eq v0.1.5
    Updating core-foundation v0.7.0 -> v0.9.1
    Updating core-foundation-sys v0.7.0 -> v0.8.2
      Adding crypto-mac v0.10.0
    Removing dirs v2.0.2
      Adding dirs-next v2.0.0
    Removing dirs-sys v0.3.5
      Adding dirs-sys-next v0.1.2
      Adding form_urlencoded v1.0.1
      Adding getrandom v0.2.2
    Updating h2 v0.2.5 -> v0.3.1
      Adding hmac v0.10.1
    Updating http-body v0.3.1 -> v0.4.1
    Updating hyper v0.13.10 -> v0.14.4
    Updating hyper-tls v0.4.1 -> v0.5.0
      Adding ipnet v2.3.0
    Updating js-sys v0.3.39 -> v0.3.49
    Updating libc v0.2.74 -> v0.2.91
      Adding mio v0.7.11
    Removing mio-named-pipes v0.1.6
    Updating miow v0.3.3 -> v0.3.7
    Updating native-tls v0.2.4 -> v0.2.7
      Adding ntapi v0.3.4
    Updating once_cell v1.4.0 -> v1.7.2
    Removing pin-project v0.4.17
    Removing pin-project-internal v0.4.17
      Adding postgres v0.19.0
      Adding postgres-protocol v0.6.0
      Adding postgres-types v0.2.0
    Updating r2d2_postgres v0.16.0 -> v0.18.0
      Adding rand v0.8.3
      Adding rand_chacha v0.3.0
      Adding rand_core v0.6.2
      Adding rand_hc v0.3.0
      Adding redox_syscall v0.2.5
    Updating redox_users v0.3.4 -> v0.4.0
    Updating reqwest v0.10.6 -> v0.11.2
    Updating rusoto_core v0.45.0 -> v0.46.0
    Updating rusoto_credential v0.45.0 -> v0.46.0
    Updating rusoto_s3 v0.45.0 -> v0.46.0
    Updating rusoto_signature v0.45.0 -> v0.46.0
    Removing rust-argon2 v0.7.0
    Updating rustwide v0.11.0 -> v0.12.0
    Updating security-framework v0.4.4 -> v2.1.2
    Updating security-framework-sys v0.4.3 -> v2.1.1
    Updating serde_urlencoded v0.6.1 -> v0.7.0
    Updating socket2 v0.3.12 -> v0.3.19
      Adding tokio v1.4.0
    Updating tokio-macros v0.2.5 -> v1.1.0
      Adding tokio-native-tls v0.3.0
      Adding tokio-postgres v0.7.0
      Adding tokio-stream v0.1.5
    Removing tokio-tls v0.3.1
      Adding tokio-util v0.6.5
    Updating url v2.1.1 -> v2.2.1
      Adding wasi v0.10.2+wasi-snapshot-preview1
    Updating wasm-bindgen v0.2.62 -> v0.2.72
    Updating wasm-bindgen-backend v0.2.62 -> v0.2.72
    Updating wasm-bindgen-futures v0.4.12 -> v0.4.22
    Updating wasm-bindgen-macro v0.2.62 -> v0.2.72
    Updating wasm-bindgen-macro-support v0.2.62 -> v0.2.72
    Updating wasm-bindgen-shared v0.2.62 -> v0.2.72
      Adding wildmatch v1.1.0
```
  • Loading branch information
jyn514 committed Mar 24, 2021
1 parent 93a49e5 commit 2c908f5
Show file tree
Hide file tree
Showing 3 changed files with 447 additions and 272 deletions.

0 comments on commit 2c908f5

Please sign in to comment.