Dedupe sha2 and related dependencies

RESOLVED FIXED in Firefox 68

Status

enhancement
RESOLVED FIXED
5 months ago
a month ago

People

(Reporter: eijebong, Assigned: eijebong)

Tracking

unspecified
mozilla68
Dependency tree / graph

Firefox Tracking Flags

(firefox68 fixed)

Details

Attachments

(2 attachments, 8 obsolete attachments)

26.20 KB, patch
eijebong
: review+
Details | Diff | Splinter Review
7.60 MB, patch
eijebong
: review+
Details | Diff | Splinter Review
Assignee

Description

5 months ago
Hopefully this is the right place to post this.
Assignee: nobody → eijebong
Component: General → General
Product: Core → Firefox Build System
Comment on attachment 9033236 [details] [diff] [review]
0002-Bug-1516337-Part-2-Revendor-rust-dependencies.patch

Review of attachment 9033236 [details] [diff] [review]:
-----------------------------------------------------------------

This includes a file that is over 100k in size and so needs to be reviewed by a build peer
Attachment #9033236 - Flags: review?(kats) → review?(core-build-config-reviews)
Comment on attachment 9033235 [details] [diff] [review]
0001-Bug-1516337-Part-1-Dedupe-sha2-and-related-dependenc.patch

I have no problem with this but since a build peer needs to review the other patch they might as well take a look at this one too.
Attachment #9033235 - Flags: review?(kats)
Attachment #9033235 - Flags: review?(core-build-config-reviews)
Attachment #9033235 - Flags: review+
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Comment on attachment 9033235 [details] [diff] [review]
0001-Bug-1516337-Part-1-Dedupe-sha2-and-related-dependenc.patch

Review of attachment 9033235 [details] [diff] [review]:
-----------------------------------------------------------------

This is pretty extensive for a patch that upgrades a sha2 dependency, but OK.
Attachment #9033235 - Flags: review?(core-build-config-reviews) → review+
Comment on attachment 9033236 [details] [diff] [review]
0002-Bug-1516337-Part-2-Revendor-rust-dependencies.patch

Review of attachment 9033236 [details] [diff] [review]:
-----------------------------------------------------------------

Where is the 100k+ file?  I don't see anything obvious from the list of files (or the diffstat), and I'm a bit scared to try and review the files one-by-one in Splinter.

The diffstat suggests that the file might be somewhere in lalrpop, and we apparently already have some large-ish files in lalrpop anyway.  Assuming this is the case, r=me; if it's not the case, please say so! :)
Attachment #9033236 - Flags: review?(core-build-config-reviews) → review+
For context this bug is a followup from https://github.com/servo/webrender/pull/3447 and is (I believe) generated by `cargo update -p lalrpop -p lalrpop-util; ./mach vendor rust` - when I do this locally, it says:

The following files exceed the filesize limit of 102400:

third_party/rust/regex/tests/crates_regex.rs


That file is 126043 bytes, although it only has 3129 lines. And it's a test file so presumably it doesn't *need* to be vendored.
Aha, thanks for the context.

That's unfortunate; I see the regex crate already excludes certain things, but not tests:

https://github.com/rust-lang/regex/blob/master/Cargo.toml#L16

Is it possible to get this addressed upstream before committing this?  We can't exclude files at vendoring time; we need the files to be excluded at crate publishing time.  (We could fork regex with the excluded files, and vendor from that fork, but that's far from ideal.)
Assignee

Comment 9

5 months ago
> 22:50:53 burntsushi> eijebong: i don't know. it seems less than ideal to publish a crate that cannot be tested, no? i think i would be happy if it could be arranged in a way that `cargo test` does something and does not fail when run on the crate downloaded from crates.io, while also maintaining exsisting behavior in a source checkout. is that possible?
> 22:52:22 burntsushi> eijebong: there are other files in, say, regex-syntax that are required for crate compilation that also exceed that file size. e.g., regex-syntax/src/unicode_tables/property_bool.rs is 187KB
> 22:52:35 burntsushi> so crates_regex.rs is a fairly small addition in the grand scheme of things
> 22:52:44 eijebong> burntsushi: It's more about it being useless in the vendor directory of firefox
> 22:53:11 eijebong> Also I don't see any point of having unit tests in a published crate
> 22:53:26 burntsushi> i do, so...
> 22:53:54 eijebong> Welp :p Will paste this on bugzilla if that's ok with you ?
> 22:54:21 burntsushi> sure, particularly the part above where i'm willing to accommodate a fix given some constraints
> 22:54:28 eijebong> Sure
> 22:54:44 burntsushi> e.g., i am okay will causing the published crate to not include crates_regex.rs specifically, so long as most of the rest of the test suite is still included
> 22:54:57 burntsushi> (and still works)
I'm really not sure what the purpose of having tests in a published crate is--there's no standard workflow that enables that to work. If he's willing to at least remove the large file here then we can live with that, but it seems like a strange requirement to include useless files in every crate package.
Assignee

Comment 11

5 months ago
Agreed but we need to find a way for the crate to be published without the file in a way that wouldn't break the tests in the published stuff. I have no idea how to even do that since rust doesn't allow conditional mods base on some file existence (which is sensible, why would you even want that...)
(In reply to Bastien Orivel [:eijebong] from comment #11)
> Agreed but we need to find a way for the crate to be published without the
> file in a way that wouldn't break the tests in the published stuff. I have
> no idea how to even do that since rust doesn't allow conditional mods base
> on some file existence (which is sensible, why would you even want that...)

I don't know how we'd do that either.  So we may just have to eat this file?

(Does `cargo test -p DEPENDENCY` work (or would people ever want that to work)?  Is that what burntsushi is concerned about?)
Assignee

Comment 13

5 months ago
I don't think so but crater was mentioned later
(In reply to Nathan Froyd [:froydnj] from comment #12)
> (Does `cargo test -p DEPENDENCY` work (or would people ever want that to
> work)?  Is that what burntsushi is concerned about?)

There's no such feature, no.
I asked yesterday on #rust-libs:

17:11:52 kats: burntsushi: how do you run `cargo test` on a crate from crates.io? and what is the use case that would make you want to do that?
17:13:37 burntsushi: kats: i don't personally use it, but it just seems like a good idea to make sure my crate uploads include a test suite that is guaranteed to run against that specific version of the crate. i also imagine there is (or could be) tooling that downloads crates and either runs or builds the test suite.
Assignee

Updated

4 months ago
Keywords: checkin-needed

Tried to land this but got hunks failed: https://irccloud.mozilla.com/file/hDmyg56F/image.png

Flags: needinfo?(eijebong)
Keywords: checkin-needed
Assignee

Comment 17

4 months ago
Attachment #9033235 - Attachment is obsolete: true
Attachment #9035993 - Flags: review?(nfroyd)
Assignee

Comment 18

4 months ago
Attachment #9033236 - Attachment is obsolete: true
Flags: needinfo?(eijebong)
Attachment #9035994 - Flags: review?(nfroyd)
Attachment #9035993 - Flags: review?(nfroyd) → review+
Attachment #9035994 - Flags: review?(nfroyd) → review+
Assignee

Updated

4 months ago
Keywords: checkin-needed

Comment 19

4 months ago

Pushed by nerli@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/4fc377013db5
Part 1: Dedupe sha2 and related dependencies r=froydnj
https://hg.mozilla.org/integration/mozilla-inbound/rev/3c4b8e03e722
Part 2: Revendor rust dependencies r=froydnj

Keywords: checkin-needed
Assignee

Comment 21

4 months ago

My bad... I didn't remove the needed lines from the gitignore before vendoring... I'll push another patch later today. Leaving this as n-i so I don't forget about it

Assignee

Comment 22

3 months ago
Attachment #9035993 - Attachment is obsolete: true
Attachment #9045924 - Flags: review?(nfroyd)
Assignee

Comment 23

3 months ago
Attachment #9035994 - Attachment is obsolete: true
Flags: needinfo?(eijebong)
Attachment #9045925 - Flags: review?(nfroyd)

Do you have a try push for these? Considering this failed to land twice already it would be a good idea to ensure it's green before attempting another landing.

Assignee

Comment 25

3 months ago

AFAICT it only failed once but I'll still do a try push, it's a good idea (not really used to contributing to m-c directly, sorry)

Attachment #9045924 - Flags: review?(nfroyd) → review+
Attachment #9045925 - Flags: review?(nfroyd) → review+
Assignee

Updated

3 months ago
Keywords: checkin-needed

Comment 27

3 months ago

Pushed by cbrindusan@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/fb80844a7074
Part 1: Dedupe sha2 and related dependencies. r=froydnj
https://hg.mozilla.org/integration/mozilla-inbound/rev/7065107bdf03
Part 2: Revendor rust dependencies. r=froydnj

Keywords: checkin-needed

Comment 28

3 months ago
Backout by nerli@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/65fe397795e6
Backed out changeset fb80844a7074 for mass build bustages CLOSED TREE

We've encountered the following error when importing patch 2 from this bug:

"
$Fetching... done
Parsing...Patch id=9033236 desc="0002-Bug-1516337-Part-2-Revendor-rust-dependencies.patch" diff data were discarded:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd1 in position 6793089: invalid continuation byte
Patch id=9035994 desc="0002-Bug-1516337-Part-2-Revendor-rust-dependencies.patch" diff data were discarded:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd1 in position 6793089: invalid continuation byte
Patch id=9045925 desc="0002-Bug-1516337-Part-2-Revendor-rust-dependencies.patch" diff data were discarded:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd1 in position 7904473: invalid continuation byte
done

1: 0001-Bug-1516337-Part-1-Dedupe-sha2-and-related-dependenc.patch
nfroyd: review+
2: 0002-Bug-1516337-Part-2-Revendor-rust-dependencies.patch
nfroyd: review+
"

We've backed out the first changeset. I don't know if the failures from the backout are related to your code or are present because the 2'nd patch landed empty. Can you please take a look?

Backed out changeset fb80844a7074 (Bug 1516337) for mass build bustages.

Backout: https://hg.mozilla.org/integration/mozilla-inbound/rev/65fe397795e6fbb05313583dccf3cd8e2eeab63d

Push that started the failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&resultStatus=success%2Cpending%2Crunning%2Ctestfailed%2Cbusted%2Cexception&revision=7065107bdf031cb2f9bfeab6b2d5a0435a919520&selectedJob=230086084

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=230086084&repo=mozilla-inbound&lineNumber=1939

Flags: needinfo?(eijebong)
Assignee

Comment 30

3 months ago

Well the second patch was generated via ./mach vendor rust, commited as is and should work (the try build was green). I don't know what what to make of this...

Flags: needinfo?(eijebong)

Comment 31

3 months ago
Pushed by nbeleuzu@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/d4dff8b8974e
Part 1: Dedupe sha2 and related dependencies. r=froydnj
https://hg.mozilla.org/integration/mozilla-inbound/rev/c5e856d5edba
Part 2: Revendor rust dependencies. r=froydnj

Backed out for causing windows AArch64 build bustages.

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&resultStatus=testfailed%2Cbusted%2Cexception&revision=c5e856d5edbad973288a8d3fef108288def87394&selectedJob=230094321&searchStr=windows%2C2012%2Caarch64%2Cdebug%2Cbuild-win64-aarch64%2Fdebug%2C%28b%29

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=230094321&repo=mozilla-inbound&lineNumber=21653

Backout link: https://hg.mozilla.org/integration/mozilla-inbound/rev/7fde6e9d5e865d6c4cc1912081cc54bbed22dc86

19:45:45 INFO - [style 0.0.1] cargo:rerun-if-changed=z:/build/build/src/obj-firefox/dist\include\nsStyleStruct.h
19:45:45 INFO - Running z:/build/build/src/sccache2/sccache.exe 'z:/build/build/src/rustc/bin/rustc.exe' --crate-name style 'servo\components\style\lib.rs' --color never --crate-type lib --emit=dep-info,link -C opt-level=1 -C panic=abort -C debuginfo=2 -C debug-assertions=on --cfg 'feature="bindgen"' --cfg 'feature="fallible"' --cfg 'feature="gecko"' --cfg 'feature="gecko_debug"' --cfg 'feature="nsstring"' --cfg 'feature="regex"' --cfg 'feature="style_traits"' --cfg 'feature="toml"' --cfg 'feature="use_bindgen"' -C metadata=0e2d06798cf75d77 -C extra-filename=-0e2d06798cf75d77 --out-dir 'z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps' --target aarch64-pc-windows-msvc -L 'dependency=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps' -L 'dependency=z:/build/build/src/obj-firefox\debug\deps' --extern 'app_units=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libapp_units-ba7c30812f983080.rlib' --extern 'arrayvec=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libarrayvec-5ff12b8467994e4b.rlib' --extern 'atomic_refcell=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libatomic_refcell-c49645a3acd260c4.rlib' --extern 'bitflags=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libbitflags-76cc32b886a8eb42.rlib' --extern 'byteorder=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libbyteorder-31aa52d699306620.rlib' --extern 'cssparser=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libcssparser-77017551c0d7c5cf.rlib' --extern 'derive_more=z:/build/build/src/obj-firefox\debug\deps\derive_more-fe527b91ab5ccea5.dll' --extern 'euclid=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libeuclid-f142830d89548f0a.rlib' --extern 'fallible=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libfallible-e1f81b98437bdb87.rlib' --extern 'fxhash=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libfxhash-c910f9ef68925545.rlib' --extern 'hashglobe=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libhashglobe-351033b494fada89.rlib' --extern 'indexmap=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libindexmap-1fe562ff8901e429.rlib' --extern 'itertools=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libitertools-ddd0ed4ddd1dbe0a.rlib' --extern 'itoa=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libitoa-54cdc17f53b029a0.rlib' --extern 'lazy_static=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\liblazy_static-a096049b29f746e8.rlib' --extern 'log=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\liblog-3846ea0d6a0e9a41.rlib' --extern 'malloc_size_of=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libmalloc_size_of-861205f4d881bc29.rlib' --extern 'malloc_size_of_derive=z:/build/build/src/obj-firefox\debug\deps\malloc_size_of_derive-065f774ff0cfa8fe.dll' --extern 'matches=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libmatches-788303291339cd74.rlib' --extern 'debug_unreachable=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libdebug_unreachable-18bb755479040dbd.rlib' --extern 'nsstring=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libnsstring-39db8251750e8806.rlib' --extern 'num_derive=z:/build/build/src/obj-firefox\debug\deps\num_derive-40a240f0a43df29c.dll' --extern 'num_integer=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libnum_integer-33e2d2b9ed0883ce.rlib' --extern 'num_traits=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libnum_traits-812ea2f683e9e0df.rlib' --extern 'num_cpus=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libnum_cpus-a87e4c81de158417.rlib' --extern 'ordered_float=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libordered_float-8bbd2b09c39be596.rlib' --extern 'owning_ref=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libowning_ref-f7e2d7445cf7d2ac.rlib' --extern 'parking_lot=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libparking_lot-71551df765828fd8.rlib' --extern 'precomputed_hash=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libprecomputed_hash-6f51913a5008e4aa.rlib' --extern 'rayon=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\librayon-f3ba45a0fac61122.rlib' --extern 'selectors=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libselectors-19daf7b46fd74f11.rlib' --extern 'servo_arc=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libservo_arc-c38cbf0fd06d7603.rlib' --extern 'smallbitvec=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libsmallbitvec-c883a27205aaea53.rlib' --extern 'smallvec=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libsmallvec-a54ea201260e9a57.rlib' --extern 'style_derive=z:/build/build/src/obj-firefox\debug\deps\style_derive-63ea97961ec68a86.dll' --extern 'style_traits=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libstyle_traits-1828ddd2cfcd4c78.rlib' --extern 'thin_slice=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libthin_slice-6674ed01b155a348.rlib' --extern 'time=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libtime-4d7ae3b1ad86f074.rlib' --extern 'uluru=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libuluru-109a08f98890a096.rlib' --extern 'unicode_bidi=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libunicode_bidi-469c7387d3c9e3bb.rlib' --extern 'unicode_segmentation=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libunicode_segmentation-d09f702b12c945b3.rlib' --extern 'void=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libvoid-faa70a7aa07462e9.rlib' -C opt-level=2 -C debuginfo=2 -Dwarnings
19:45:45 INFO - Compiling webrender_bindings v0.1.0 (Z:\build\build\src\gfx\webrender_bindings)
19:45:45 INFO - Running z:/build/build/src/sccache2/sccache.exe 'z:/build/build/src/rustc/bin/rustc.exe' --crate-name webrender_bindings 'gfx\webrender_bindings\src\lib.rs' --color never --crate-type lib --emit=dep-info,link -C opt-level=1 -C panic=abort -C debuginfo=2 -C debug-assertions=on -C metadata=4d14d97bcbb9be72 -C extra-filename=-4d14d97bcbb9be72 --out-dir 'z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps' --target aarch64-pc-windows-msvc -L 'dependency=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps' -L 'dependency=z:/build/build/src/obj-firefox\debug\deps' --extern 'app_units=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libapp_units-ba7c30812f983080.rlib' --extern 'bincode=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libbincode-3a70fb611a6b1580.rlib' --extern 'dwrote=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libdwrote-16b95f06ae3d8309.rlib' --extern 'euclid=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libeuclid-f142830d89548f0a.rlib' --extern 'fxhash=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libfxhash-c910f9ef68925545.rlib' --extern 'gleam=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libgleam-303368a33a238005.rlib' --extern 'log=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\liblog-3846ea0d6a0e9a41.rlib' --extern 'nsstring=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libnsstring-39db8251750e8806.rlib' --extern 'rayon=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\librayon-f3ba45a0fac61122.rlib' --extern 'thread_profiler=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libthread_profiler-825219183080ab18.rlib' --extern 'uuid=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libuuid-c3d2b5c22dcd73c6.rlib' --extern 'webrender=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libwebrender-9087aa1c6fd1a806.rlib' -C opt-level=2 -C debuginfo=2 -Dwarnings
19:45:45 INFO - LLVM ERROR: SEH unwind data splitting not yet implemented
19:45:45 ERROR - error: Could not compile style.
19:45:45 INFO - Caused by:
19:45:45 INFO - process didn't exit successfully: z:/build/build/src/sccache2/sccache.exe 'z:/build/build/src/rustc/bin/rustc.exe' --crate-name style 'servo\components\style\lib.rs' --color never --crate-type lib --emit=dep-info,link -C opt-level=1 -C panic=abort -C debuginfo=2 -C debug-assertions=on --cfg 'feature="bindgen"' --cfg 'feature="fallible"' --cfg 'feature="gecko"' --cfg 'feature="gecko_debug"' --cfg 'feature="nsstring"' --cfg 'feature="regex"' --cfg 'feature="style_traits"' --cfg 'feature="toml"' --cfg 'feature="use_bindgen"' -C metadata=0e2d06798cf75d77 -C extra-filename=-0e2d06798cf75d77 --out-dir 'z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps' --target aarch64-pc-windows-msvc -L 'dependency=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps' -L 'dependency=z:/build/build/src/obj-firefox\debug\deps' --extern 'app_units=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libapp_units-ba7c30812f983080.rlib' --extern 'arrayvec=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libarrayvec-5ff12b8467994e4b.rlib' --extern 'atomic_refcell=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libatomic_refcell-c49645a3acd260c4.rlib' --extern 'bitflags=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libbitflags-76cc32b886a8eb42.rlib' --extern 'byteorder=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libbyteorder-31aa52d699306620.rlib' --extern 'cssparser=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libcssparser-77017551c0d7c5cf.rlib' --extern 'derive_more=z:/build/build/src/obj-firefox\debug\deps\derive_more-fe527b91ab5ccea5.dll' --extern 'euclid=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libeuclid-f142830d89548f0a.rlib' --extern 'fallible=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libfallible-e1f81b98437bdb87.rlib' --extern 'fxhash=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libfxhash-c910f9ef68925545.rlib' --extern 'hashglobe=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libhashglobe-351033b494fada89.rlib' --extern 'indexmap=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libindexmap-1fe562ff8901e429.rlib' --extern 'itertools=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libitertools-ddd0ed4ddd1dbe0a.rlib' --extern 'itoa=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libitoa-54cdc17f53b029a0.rlib' --extern 'lazy_static=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\liblazy_static-a096049b29f746e8.rlib' --extern 'log=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\liblog-3846ea0d6a0e9a41.rlib' --extern 'malloc_size_of=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libmalloc_size_of-861205f4d881bc29.rlib' --extern 'malloc_size_of_derive=z:/build/build/src/obj-firefox\debug\deps\malloc_size_of_derive-065f774ff0cfa8fe.dll' --extern 'matches=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libmatches-788303291339cd74.rlib' --extern 'debug_unreachable=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libdebug_unreachable-18bb755479040dbd.rlib' --extern 'nsstring=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libnsstring-39db8251750e8806.rlib' --extern 'num_derive=z:/build/build/src/obj-firefox\debug\deps\num_derive-40a240f0a43df29c.dll' --extern 'num_integer=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libnum_integer-33e2d2b9ed0883ce.rlib' --extern 'num_traits=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libnum_traits-812ea2f683e9e0df.rlib' --extern 'num_cpus=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libnum_cpus-a87e4c81de158417.rlib' --extern 'ordered_float=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libordered_float-8bbd2b09c39be596.rlib' --extern 'owning_ref=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libowning_ref-f7e2d7445cf7d2ac.rlib' --extern 'parking_lot=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libparking_lot-71551df765828fd8.rlib' --extern 'precomputed_hash=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libprecomputed_hash-6f51913a5008e4aa.rlib' --extern 'rayon=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\librayon-f3ba45a0fac61122.rlib' --extern 'selectors=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libselectors-19daf7b46fd74f11.rlib' --extern 'servo_arc=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libservo_arc-c38cbf0fd06d7603.rlib' --extern 'smallbitvec=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libsmallbitvec-c883a27205aaea53.rlib' --extern 'smallvec=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libsmallvec-a54ea201260e9a57.rlib' --extern 'style_derive=z:/build/build/src/obj-firefox\debug\deps\style_derive-63ea97961ec68a86.dll' --extern 'style_traits=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libstyle_traits-1828ddd2cfcd4c78.rlib' --extern 'thin_slice=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libthin_slice-6674ed01b155a348.rlib' --extern 'time=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libtime-4d7ae3b1ad86f074.rlib' --extern 'uluru=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libuluru-109a08f98890a096.rlib' --extern 'unicode_bidi=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libunicode_bidi-469c7387d3c9e3bb.rlib' --extern 'unicode_segmentation=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libunicode_segmentation-d09f702b12c945b3.rlib' --extern 'void=z:/build/build/src/obj-firefox\aarch64-pc-windows-msvc\debug\deps\libvoid-faa70a7aa07462e9.rlib' -C opt-level=2 -C debuginfo=2 -Dwarnings (exit code: 101)
19:45:45 INFO - z:/build/build/src/config/makefiles/rust.mk:213: recipe for target 'force-cargo-library-build' failed
19:45:45 INFO - mozmake.EXE[4]: *** [force-cargo-library-build] Error 101

Flags: needinfo?(eijebong)
Assignee

Comment 33

3 months ago

I don't get it... rustc just exited without saying anything ? What am I to do with that ? :/ I didn't change any style related code...

Is this relevant 19:45:45 INFO - LLVM ERROR: SEH unwind data splitting not yet implemented ? If so, I can't find anything about that in any of the dependencies that were updated in this patch

I also found this https://reviews.llvm.org/D56813 which talks about firefox. If all this is relevant I guess there's nothing I can do except wait for an LLVM update in rustc and then a rustc update in firefox...

Flags: needinfo?(eijebong)
Depends on: 1530448
Assignee

Comment 34

a month ago
Attachment #9045924 - Attachment is obsolete: true
Attachment #9056319 - Flags: review?(nfroyd)
Assignee

Comment 35

a month ago
Attachment #9045925 - Attachment is obsolete: true
Attachment #9056320 - Flags: review?(nfroyd)
Attachment #9056319 - Flags: review?(nfroyd) → review+
Attachment #9056320 - Flags: review?(nfroyd) → review+
Assignee

Updated

a month ago
Keywords: checkin-needed

Unable to land this bug due to the following:
applying 0002-Bug-1516337-Part-2-Revendor-dependencies.patch
patch 0002-Bug-1516337-Part-2-Revendor-dependencies.patch is empty
applying 0001-Bug-1516337-Part-1-Dedupe-sha2-and-related-dependenc.patch
patching file Cargo.lock
Hunk #5 succeeded at 430 with fuzz 2 (offset 0 lines).
Hunk #22 FAILED at 3521
1 out of 28 hunks FAILED -- saving rejects to file Cargo.lock.rej
patching file security/manager/ssl/cert_storage/Cargo.toml
Hunk #1 succeeded at 13 with fuzz 2 (offset 0 lines).
patch failed, unable to continue (try -v)
patch failed, rejects left in working directory
errors during apply, please fix and qrefresh 0001-Bug-1516337-Part-1-Dedupe-sha2-and-related-dependenc.patch

Flags: needinfo?(eijebong)
Keywords: checkin-needed
Assignee

Comment 38

a month ago
Attachment #9056320 - Attachment is obsolete: true
Flags: needinfo?(eijebong)
Attachment #9056380 - Flags: review+
Assignee

Comment 39

a month ago

Urgh, I didn't approve those... I thought it would carry the reviewer on...

I rebased the first patch and redid the second one (which is just a ./mach vendor rust). I'm not sure what to do about it being empty when you try to apply it though, this isn't the first time and it's obviously not empty.

Flags: needinfo?(nerli)

Bastien: For the above, I no longer get hunks failed but I still get patch 2 is empty.

Flags: needinfo?(nerli)
Flags: needinfo?(eijebong)
Flags: needinfo?(aryx.bugmail)

Comment 41

a month ago
Pushed by apavel@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/12bfe4f2aa08
Part 1: Dedupe sha2 and related dependencies r=froydnj
https://hg.mozilla.org/integration/mozilla-inbound/rev/695340776de7
Part 2: Revendor dependencies r=froydnj

As suggested on IRC i used I imported the patches separately using hg import, not importing them via hg qimport bz://bug_no.

Flags: needinfo?(eijebong)
Flags: needinfo?(aryx.bugmail)

Comment 43

a month ago
bugherder
Status: ASSIGNED → RESOLVED
Last Resolved: a month ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68

For some reason, this bug's changes are causing this error for me (in 3 different mozilla-central source trees on 2 different computers) when I run hg pull -u:

third_party/rust/lalrpop/src/parser/lrgrammar.rs: untracked file differs
abort: untracked files in working directory differ from files in requested revision

I can work around it by manually deleting that file and then doing hg up -r tip (or -r central). So if anyone else hits that issue and ends up here, that's one reasonable workaround.

It looks like this file went from being tracked and present, to being untracked [but still present because it's untracked?], to being tracked again with a new version, via the various changes to .hgignore from the history of landings here (e.g. here's the most recent one: https://hg.mozilla.org/mozilla-central/rev/12bfe4f2aa08#l1.13 )
...and that causes mecurial update to get confused when the newly-tracked file doesn't match what it expects.

(I'm not sure there's anything we can or should do to address comment 44; I partly posted it as an FYI, in case others run into the same issue and end up here.)

Assignee

Comment 46

a month ago

Yeah pretty sure it's because it was untracked, generated on build and then became part of the source code. I don't think there's anything I can do to help.

The real question is why did it end up in your patch if it's a generated file that's listed in both .gitignore and .hgignore? Shouldn't it have been ignored? Is the file actually required to be in-tree? The .gitignore entry seems to imply it's generated and so doesn't need to be there.

(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #47)

The real question is why did it end up in your patch if it's a generated file that's listed in both .gitignore and .hgignore? Shouldn't it have been ignored?

It was removed from .gitignore and .hgignore in part 1, so it's not ignored anymore. (And then it was added to the tree in part 2.)

Oh that makes sense. So then I agree there's nothing really that can be done here. Everybody that has the local untracked file will just have to delete it before proceeding.

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