Closed Bug 1624556 Opened 5 years ago Closed 5 years ago

Update ipdl_parser submodule to latest version

Categories

(Webtools :: Searchfox, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kats, Assigned: kats)

References

Details

Fixes for bug 1624395 and bug 1624399 are merged into mozsearch/ipdl_parser, and we need to update the submodule in mozsearch/mozsearch to pick up these changes. I kicked off a test indexing run last night with this but it failed, because of this:

thread 'rustc' panicked at 'called `Option::unwrap()` on a `None` value', src/librustc/hir/mod.rs:81:37
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.44.0-nightly (f509b26a7 2020-03-18) running on x86_64-unknown-linux-gnu

note: compiler flags: -C opt-level=3 -C debuginfo=1 --crate-type lib

note: some of the compiler flags provided by cargo are hidden

error: could not compile `docopt`.

Caused by:
  process didn't exit successfully: `rustc --crate-name docopt --edition=2018 /home/ubuntu/.cargo/registry/src/github.com-1ecc6299db9ec823/docopt-1.1.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=1 -C metadata=4e0cad1c6bb8cf18 -C extra-filename=-4e0cad1c6bb8cf18 --out-dir /home/ubuntu/mozsearch/tools/target/release/deps -L dependency=/home/ubuntu/mozsearch/tools/target/release/deps --extern lazy_static=/home/ubuntu/mozsearch/tools/target/release/deps/liblazy_static-1c04e0879ee47a4a.rmeta --extern regex=/home/ubuntu/mozsearch/tools/target/release/deps/libregex-fa78c9a230182167.rmeta --extern serde=/home/ubuntu/mozsearch/tools/target/release/deps/libserde-240c6a2adf9db097.rmeta --extern strsim=/home/ubuntu/mozsearch/tools/target/release/deps/libstrsim-810d461ebdbc465c.rmeta --cap-lints allow` (exit code: 101)

Looks like the updated lalrpop pulls in an updated docopt which triggers an ICE. I'll file something with upstream rust.

Looks like we're just waiting for a new rust nightly with all the necessary components. Alternatively, we can run rustup update --force instead of rustup update in the *-update.sh scripts. Or more alternatively, we can change the provisioning scripts to remove the clippy and rustfmt components after installing rust, so that if those components go missing it won't prevent us from updating to a newer nightly. This option also has the advantage of reducing network traffic during rustup update invocations. But I'm not sure if it's worth doing any of these vs just waiting for the Rust Compiler World to fix itself and produce a full working nightly.

Maybe I'll give it another day.

I did a test run using rustup update --force and that worked as intended, no ICEs.

I realized also that we can remove the clippy and rustfmt components in the *-update.sh scripts rather than in the provisioning script, which will have the same net effect and remove the need to reprovision. Another potential downside of doing any of these options is that we'll get a more bleeding-edge nightly than most people, which might put us at the front line when it comes to hitting compiler bustage. While that might be good for the rust ecosystem it'll probably be more work for us. Not sure how bad it will be in practice though. Maybe worth trying and seeing how it goes?

Also just for posterity/clarity, this is what currently happens and what I'm trying to avoid:

+ rustup update
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
info: latest update on 2020-03-24, rust version 1.44.0-nightly (1edd389cc 2020-03-23)
info: skipping nightly which is missing installed component 'clippy-preview'
info: syncing channel updates for 'nightly-2020-03-23-x86_64-unknown-linux-gnu'
info: latest update on 2020-03-23, rust version 1.44.0-nightly (d1e81ef23 2020-03-22)
info: skipping nightly which is missing installed component 'rustfmt-preview'
info: syncing channel updates for 'nightly-2020-03-22-x86_64-unknown-linux-gnu'
info: latest update on 2020-03-22, rust version 1.44.0-nightly (38114ff16 2020-03-21)
info: skipping nightly which is missing installed component 'clippy-preview'
info: syncing channel updates for 'nightly-2020-03-21-x86_64-unknown-linux-gnu'
info: latest update on 2020-03-21, rust version 1.44.0-nightly (1057dc97a 2020-03-20)
info: skipping nightly which is missing installed component 'clippy-preview'
info: syncing channel updates for 'nightly-2020-03-20-x86_64-unknown-linux-gnu'
info: latest update on 2020-03-20, rust version 1.44.0-nightly (f4c675c47 2020-03-19)
info: skipping nightly which is missing installed component 'clippy-preview'
info: syncing channel updates for 'nightly-2020-03-19-x86_64-unknown-linux-gnu'
info: latest update on 2020-03-19, rust version 1.44.0-nightly (f509b26a7 2020-03-18)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: removing previous version of component 'cargo'
info: removing previous version of component 'clippy'
info: removing previous version of component 'rust-docs'
info: removing previous version of component 'rust-std'
info: removing previous version of component 'rustc'
info: removing previous version of component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
info: installing component 'rust-std'
info: installing component 'rustc'
info: installing component 'rustfmt'
info: checking for self-updates

  nightly-x86_64-unknown-linux-gnu updated - rustc 1.44.0-nightly (f509b26a7 2020-03-18) (from rustc 1.43.0-nightly (5e7af4669 2020-02-16))

info: cleaning up downloads & tmp directories

i.e. the last few days have missing components so rustup update has to go back to a nightly from almost a week ago.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.