Open Bug 1556234 Opened 5 years ago Updated 5 years ago

Need better handling of multiple rust versions

Categories

(Webtools :: Searchfox, defect)

defect
Not set
normal

Tracking

(Not tracked)

People

(Reporter: kats, Unassigned)

References

Details

Yesterday's indexing run emitted warnings of the type:

WARN 2019-06-01T15:11:14Z: rls_analysis::raw: deserialisation error: ExpectedError("Array", "\"/builds/worker/workspace/build/src/third_party/rust/adler32\"")
 WARN 2019-06-01T15:11:14Z: rls_analysis::raw: Data file version mismatch; expected Some(String("0.18.1")) but got Some(Short("0.19.0"))
 WARN 2019-06-01T15:11:14Z: rls_analysis::raw: deserialisation error: ExpectedError("Array", "\"/builds/worker/workspace/build/src/third_party/rust/cfg-if\"")
 WARN 2019-06-01T15:11:14Z: rls_analysis::raw: Data file version mismatch; expected Some(String("0.18.1")) but got Some(Short("0.19.0"))

This happens because the version of rls-data used in mozsearch/mozsearch doesn't match the version of rls-data used in the compiler used to compile mozilla-central. I think we bumped the rustc version on m-c which led to this.

This is easy to fix for m-c by bumping the rls-data used in mozsearch. But then we'll get these warnings for m-beta and m-release. The correct solution is to run the rust analyzer from mozsearch on the as part of the --enable-mozsearch-plugin build on taskcluster so that we don't get rustc analysis files but instead get searchfox analysis files.

I think in the short term it's better to bump the rls-data used in mozsearch so that at least m-c gets all the rust analysis data instead of missing some of it. m-b and m-r can get the warnings for now until we figure out to push the rust analyzer over to m-c. And if we do nothing then the m-b and m-r warnings will go away as m-c moves up to those branches and they start generating the new version of the analysis files.

https://github.com/mozsearch/mozsearch/pull/219

Ugh I guess I jumped the gun here. Looks like we are compiling on macOS with rust 1.36 beta, and on other platforms with rust 1.35 stable. The 1.35 save-analysis files are v0.18.2, and the 1.36b save-analysis files are v0.19.0. So no matter what we do on our end we're only going to be able to parse some. Prior to mozsearch/mozsearch#219 merging we were successfully parsing Linux, Windows, and Android, and failing to parse macOS. Now it's the reverse.

I'll back out the PR since I think successfully parsing 3 platforms on m-c plus all of m-b and m-r is better than just parsing 1 platform on m-c and nothing else. But it makes me want to fix this for reals.

Regressions: 1583031
You need to log in before you can comment on or make changes to this bug.