Skip to content

Tracking issue for cargo update #1805

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
jtgeibel opened this issue Aug 17, 2019 · 1 comment · Fixed by #2099
Closed

Tracking issue for cargo update #1805

jtgeibel opened this issue Aug 17, 2019 · 1 comment · Fixed by #2099
Labels
C-tracking-issue Category: A tracking issue for an RFC, an unstable feature, or an issue made of many parts

Comments

@jtgeibel
Copy link
Member

jtgeibel commented Aug 17, 2019

We've tried twice now to land a broad cargo update against the backend, but both attempts resulted in segfaults in production. This was first attempted in #1263 (April 2018), and again in #1756 (June 2019).

I've been examining the differences between that first attempt, current master, and their common ancestor. Following is a list of crates which were bumped in that first attempt but which have not yet been superseded by a more recent version on master. My hope is that the problematic change will be within this set of crates.

I've added columns to capture the version bump from the 2nd attempt, and the most recent (possibly semver incompatible) published version. I've highlighted in bold the places where the version bump in the 2nd attempt was identical to the first.

Master 1st attempt 2nd attempt Most recent Notes
aho-corasick 0.6.3 0.6.4 0.6.10 0.7.6 N/A after #1917
backtrace 0.3.3 0.3.5 0.3.26 0.3.34 #1861
docopt 0.8.1 0.8.3 0.8.3 1.1.0 only used in render-readmes binary #1812
filetime 0.1.14 0.1.15 0.1.15 0.2.7 old version pulled in via conduit-static - #2089
lazy_static 0.2.9 0.2.11 0.2.11 1.3.0 pulled in via old semver (via conduit) - #2099
maplit 1.0.0 1.0.1 1.0.1 1.0.1 #2089
num 0.1.40 0.1.42 gone 0.2.0 #1917
num-integer 0.1.35 0.1.36 0.1.41 0.1.41 #1917
num-iter 0.1.34 0.1.35 gone 0.1.39 #1917
openssl-probe 0.1.1 0.1.2 0.1.2 0.1.2 #2099
r2d2 0.8.1 0.8.2 0.8.4 0.8.6 #1899
regex 0.2.2 0.2.6 0.2.11 1.2.1 N/A after #1917
regex-syntax 0.4.1 0.4.2 gone 0.6.11 N/A after #1917
rustc-demangle 0.1.5 0.1.6 0.1.15 0.1.16 via backtrace #1861
thread_local 0.3.4 0.3.5 0.3.6 0.3.6 #1812
utf-8 0.7.1 0.7.2 0.7.5 0.7.5 via ammonia - #2089

I plan to start bumping crates on this list in an attempt to track down this old bug.

@sgrif
Copy link
Contributor

sgrif commented Aug 18, 2019

This list is only the direct dependencies that were updated, not transitive dependencies, right?

@jtgeibel
Copy link
Member Author

I basically did a 3-way diff of the lines at the bottom of Cargo.lock, so this should cover the entire set of dependencies. The comparison algorithm in Beyond Compare did a decent job, but I still had to manually align and compare quite a few lines so it's possible I've missed a few crates above.

jtgeibel added a commit to jtgeibel/crates.io that referenced this issue Aug 23, 2019
Docopt is only used directly in the `render_readme` binary, though this
does transitively update some crates that are used in production.

Refs rust-lang#1265, rust-lang#1805
bors added a commit that referenced this issue Aug 25, 2019
Bump docopt 0.8 -> 1.1.0

Docopt is only used directly in the `render_readme` binary, though this
does transitively update some crates that are used in production.

Refs #1265, #1805
smarnach pushed a commit to smarnach/crates.io that referenced this issue Aug 26, 2019
Docopt is only used directly in the `render_readme` binary, though this
does transitively update some crates that are used in production.

Refs rust-lang#1265, rust-lang#1805
jtgeibel added a commit to jtgeibel/crates.io that referenced this issue Oct 5, 2019
This commit bumps a few additional packages that could be related to
the segfaults seen in production.  See rust-lang#1805 for more info.

`cargo update -p backtrace -p rustc-demangle`

```
Updating backtrace v0.3.3 -> v0.3.38
Updating backtrace-sys v0.1.16 -> v0.1.31
Removing dbghelp-sys v0.2.0
Updating rustc-demangle v0.1.5 -> v0.1.16
```
bors added a commit that referenced this issue Nov 7, 2019
Bump `backtrace` and `rustc-demangle`

This commit bumps a few additional packages that could be related to
the segfaults seen in production.  See #1805 for more info.

`cargo update -p backtrace -p rustc-demangle`

```
Updating backtrace v0.3.3 -> v0.3.38
Updating backtrace-sys v0.1.16 -> v0.1.31
Removing dbghelp-sys v0.2.0
Updating rustc-demangle v0.1.5 -> v0.1.16
```
bors added a commit that referenced this issue Nov 7, 2019
Bump `backtrace` and `rustc-demangle`

This commit bumps a few additional packages that could be related to
the segfaults seen in production.  See #1805 for more info.

`cargo update -p backtrace -p rustc-demangle`

```
Updating backtrace v0.3.3 -> v0.3.38
Updating backtrace-sys v0.1.16 -> v0.1.31
Removing dbghelp-sys v0.2.0
Updating rustc-demangle v0.1.5 -> v0.1.16
```
@carols10cents carols10cents added the C-tracking-issue Category: A tracking issue for an RFC, an unstable feature, or an issue made of many parts label Nov 11, 2019
jtgeibel added a commit to jtgeibel/crates.io that referenced this issue Nov 15, 2019
@jtgeibel jtgeibel mentioned this issue Nov 15, 2019
bors added a commit that referenced this issue Nov 22, 2019
Bump r2d2

`cargo update -p r2d2`

Refs: #1805
jtgeibel added a commit to jtgeibel/crates.io that referenced this issue Nov 23, 2019
bors added a commit that referenced this issue Nov 25, 2019
Update chrono, dotenv, num-*, migrations_macros, and derive_deref

Overall, this drops 16 old versions of dependencies.  The `num-*` crates are on the list at #1805, but overall I think this is low risk to deploy together.

* `cargo update -p num -p num-iter -p num-traits --aggressive`
* `cargo update -p chrono`
* `cargo update -p migrations_macros -p derive_deref`
* Update to latest `dotenv`
bors added a commit that referenced this issue Jan 6, 2020
Bump a few more backend dependencies

Bumping a few more dependencies from #1805.

* `utf-8` from 0.7.1 to 0.7.5
* `maplit` 1.0.0 to 1.0.2
* `filetime` from 0.1.14 to 0.1.15

r? @carols10cents
@bors bors closed this as completed in 503182e Jan 9, 2020
bors added a commit that referenced this issue Feb 23, 2020
Aggressively update conduit-hyper and reqwest

This series does an aggressive update for `conduit-hyper` and then `reqwest`.  This portion of the dependency tree has been updated recently and we aren't using `conduit-hyper` in production yet, so this should be fairly low risk even though it bumps a lot of crates.

The commit messages show the detailed output of each command.

cc #1805
r? @JohnTitor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-tracking-issue Category: A tracking issue for an RFC, an unstable feature, or an issue made of many parts
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants