Граф коммитов

246 Коммитов

Автор SHA1 Сообщение Дата
Lee Salzman 78dc1ee852 Bug 1455848 - update dwrote to version 0.8. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D16897
2019-01-17 15:45:26 -05:00
Razvan Maries 6161f7cc5b Backed out 4 changesets (bug 1455848) for windows wrench failures. CLOSED TREE
Backed out changeset d56504db04ea (bug 1455848)
Backed out changeset f2279ecacb81 (bug 1455848)
Backed out changeset 44a36f0fe512 (bug 1455848)
Backed out changeset b8444f241aca (bug 1455848)
2019-01-24 00:56:40 +02:00
Lee Salzman bae6f29257 Bug 1455848 - update dwrote to version 0.8. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D16897
2019-01-17 15:45:26 -05:00
Bobby Holley c0182b02f9 Bug 1521187 - Add a dependency on derive_more. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D17028


--HG--
rename : third_party/rust/semver/.cargo-checksum.json => third_party/rust/semver-0.6.0/.cargo-checksum.json
rename : third_party/rust/semver/Cargo.toml => third_party/rust/semver-0.6.0/Cargo.toml
rename : third_party/rust/semver/README.md => third_party/rust/semver-0.6.0/README.md
rename : third_party/rust/semver/src/lib.rs => third_party/rust/semver-0.6.0/src/lib.rs
rename : third_party/rust/semver/src/version.rs => third_party/rust/semver-0.6.0/src/version.rs
rename : third_party/rust/semver/src/version_req.rs => third_party/rust/semver-0.6.0/src/version_req.rs
2019-01-22 12:19:22 -08:00
WR Updater Bot 1e4aa0cadd Bug 1521518 - Update crate versions for changes in WR PR #3514. r=kats
Depends on D17127

Differential Revision: https://phabricator.services.mozilla.com/D17128

--HG--
extra : moz-landing-system : lando
2019-01-21 15:12:54 +00:00
Emilio Cobos Álvarez f44aa80f85 Bug 1519639 - Update euclid. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D16390
2019-01-13 11:21:20 +01:00
Bobby Holley b381fba212 Bug 1519454 - Put malloc_size_of_derive on crates.io, and add a reduced fork of malloc_size_of for WebRender. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D16353


--HG--
rename : servo/components/malloc_size_of_derive/LICENSE-APACHE => gfx/wr/wr_malloc_size_of/LICENSE-APACHE
rename : servo/components/malloc_size_of_derive/LICENSE-MIT => gfx/wr/wr_malloc_size_of/LICENSE-MIT
rename : servo/components/malloc_size_of_derive/LICENSE-APACHE => third_party/rust/malloc_size_of_derive/LICENSE-APACHE
rename : servo/components/malloc_size_of_derive/LICENSE-MIT => third_party/rust/malloc_size_of_derive/LICENSE-MIT
rename : servo/components/malloc_size_of_derive/lib.rs => third_party/rust/malloc_size_of_derive/lib.rs
2019-01-12 12:36:22 -08:00
Bogdan Tara 1b63fe08ee Backed out 4 changesets (bug 1519454) for api.rs build bustage CLOSED TREE
Backed out changeset 21d74c03c00a (bug 1519454)
Backed out changeset 054028a8d4a7 (bug 1519454)
Backed out changeset e9b1d04247de (bug 1519454)
Backed out changeset f3ef205b4f63 (bug 1519454)

--HG--
rename : third_party/rust/malloc_size_of_derive/LICENSE-APACHE => servo/components/malloc_size_of_derive/LICENSE-APACHE
rename : third_party/rust/malloc_size_of_derive/LICENSE-MIT => servo/components/malloc_size_of_derive/LICENSE-MIT
rename : third_party/rust/malloc_size_of_derive/lib.rs => servo/components/malloc_size_of_derive/lib.rs
2019-01-12 21:54:54 +02:00
Bobby Holley 466c21b4c4 Bug 1519454 - Put malloc_size_of_derive on crates.io, and add a reduced fork of malloc_size_of for WebRender. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D16353

--HG--
rename : servo/components/malloc_size_of_derive/LICENSE-APACHE => gfx/wr/wr_malloc_size_of/LICENSE-APACHE
rename : servo/components/malloc_size_of_derive/LICENSE-MIT => gfx/wr/wr_malloc_size_of/LICENSE-MIT
rename : servo/components/malloc_size_of_derive/LICENSE-APACHE => third_party/rust/malloc_size_of_derive/LICENSE-APACHE
rename : servo/components/malloc_size_of_derive/LICENSE-MIT => third_party/rust/malloc_size_of_derive/LICENSE-MIT
rename : servo/components/malloc_size_of_derive/lib.rs => third_party/rust/malloc_size_of_derive/lib.rs
extra : moz-landing-system : lando
2019-01-12 19:21:56 +00:00
Shanavas M 03d98acfa8 Bug 1519269 - Remove OrderedMap in favor of IndexMap. r=emilio
This cherry-picks https://github.com/servo/servo/pull/22656.
2019-01-11 01:02:54 +01:00
Henri Sivonen b10e89785b Bug 1515351 - Update encoding_rs to 0.8.14. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D15934

--HG--
extra : moz-landing-system : lando
2019-01-10 09:42:39 +00:00
WR Updater Bot f41d47e969 Bug 1518770 - Re-vendor rust dependencies. r=kats
Depends on D16040

Differential Revision: https://phabricator.services.mozilla.com/D16041

--HG--
extra : moz-landing-system : lando
2019-01-09 13:31:28 +00:00
Bastien Orivel f5ad465d1e Bug 1513173 - Part 1: Update all the syn 0.15 related dependencies r=emilio
--HG--
extra : histedit_source : e89bd10f876824d40df5d6d96810f727b34549ee
2019-01-08 05:40:00 +02:00
Cameron McCormack 81b00f453b Bug 1500362 - Use atom handles in favour of atom pointers in style system code r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D15078

--HG--
extra : moz-landing-system : lando
2019-01-07 07:54:46 +00:00
Bastien Orivel 24db8c61b4 Bug 1518045 - Update owning_ref to 0.4.
This cherry-picks https://github.com/servo/servo/pull/22534, plus the relevant
re-vendoring.
2019-01-07 01:13:43 +01:00
Simon Sapin 2720b7c034 Bug 1518045 - Publish selectors 0.21.0 on crates.io. r=emilio
This cherry-picks https://github.com/servo/servo/pull/22577, with the relevant
lockfile update.
2019-01-07 00:53:11 +01:00
Benjamin Bouvier 1542471486 Bug 1517752: Update to Cranelift 0.26; r=sunfish 2019-01-04 16:19:48 +01:00
WR Updater Bot f9603f7b63 Bug 1517616 - Re-vendor rust dependencies. r=kats
Depends on D15699

Differential Revision: https://phabricator.services.mozilla.com/D15700

--HG--
extra : moz-landing-system : lando
2019-01-04 04:21:40 +00:00
WR Updater Bot 37b71672f9 Bug 1517390 - Update webrender to commit 184314dfbb5dbf4a290994753a9712eff1b97e3a (WR PR #3457). r=kats
https://github.com/servo/webrender/pull/3457

Differential Revision: https://phabricator.services.mozilla.com/D15633

--HG--
extra : moz-landing-system : lando
2019-01-03 04:05:14 +00:00
Bastien Orivel a640e5b81f Bug 1516262 - Part 1: Update base64 and bump webdriver's version; r=ato 2019-01-02 12:13:07 +00:00
WR Updater Bot cdfba84b4e Bug 1516304 - Re-vendor rust dependencies. r=kats
Depends on D15315

Differential Revision: https://phabricator.services.mozilla.com/D15316

--HG--
rename : third_party/rust/block-buffer/src/paddings.rs => third_party/rust/block-buffer-0.3.3/src/paddings.rs
rename : third_party/rust/byte-tools/src/read_single.rs => third_party/rust/byte-tools-0.2.0/src/read_single.rs
rename : third_party/rust/byte-tools/src/read_slice.rs => third_party/rust/byte-tools-0.2.0/src/read_slice.rs
rename : third_party/rust/byte-tools/src/write_single.rs => third_party/rust/byte-tools-0.2.0/src/write_single.rs
rename : third_party/rust/byte-tools/src/write_slice.rs => third_party/rust/byte-tools-0.2.0/src/write_slice.rs
rename : third_party/rust/sha2/tests/data/sha224/test1.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha224/test1.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test2.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha224/test2.input.bin
rename : third_party/rust/sha2/tests/data/sha224/test2.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha224/test2.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test3.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha224/test3.input.bin
rename : third_party/rust/sha2/tests/data/sha224/test3.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha224/test3.output.bin
rename : third_party/rust/sha2/tests/data/sha256/one_million_a.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha256/one_million_a.output.bin
rename : third_party/rust/sha2/tests/data/sha256/test1.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha256/test1.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test2.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha256/test2.input.bin
rename : third_party/rust/sha2/tests/data/sha256/test2.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha256/test2.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test3.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha256/test3.input.bin
rename : third_party/rust/sha2/tests/data/sha256/test3.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha256/test3.output.bin
rename : third_party/rust/sha2/tests/data/sha384/test1.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha384/test1.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test2.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha384/test2.input.bin
rename : third_party/rust/sha2/tests/data/sha384/test2.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha384/test2.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test3.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha384/test3.input.bin
rename : third_party/rust/sha2/tests/data/sha384/test3.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha384/test3.output.bin
rename : third_party/rust/sha2/tests/data/sha512/one_million_a.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha512/one_million_a.output.bin
rename : third_party/rust/sha2/tests/data/sha512/test1.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha512/test1.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test2.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha512/test2.input.bin
rename : third_party/rust/sha2/tests/data/sha512/test2.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha512/test2.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test3.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha512/test3.input.bin
rename : third_party/rust/sha2/tests/data/sha512/test3.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha512/test3.output.bin
rename : third_party/rust/sha2/tests/data/sha512_224/test1.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha512_224/test1.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test2.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha512_224/test2.input.bin
rename : third_party/rust/sha2/tests/data/sha512_224/test2.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha512_224/test2.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test3.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha512_224/test3.input.bin
rename : third_party/rust/sha2/tests/data/sha512_224/test3.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha512_224/test3.output.bin
rename : third_party/rust/sha2/tests/data/sha512_256/test1.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha512_256/test1.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test2.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha512_256/test2.input.bin
rename : third_party/rust/sha2/tests/data/sha512_256/test2.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha512_256/test2.output.bin
rename : third_party/rust/sha2/tests/data/sha224/test3.input.bin => third_party/rust/sha2-0.7.1/tests/data/sha512_256/test3.input.bin
rename : third_party/rust/sha2/tests/data/sha512_256/test3.output.bin => third_party/rust/sha2-0.7.1/tests/data/sha512_256/test3.output.bin
rename : third_party/rust/sha2/tests/data/sha256/one_million_a.output.bin => third_party/rust/sha2/tests/data/sha256_one_million_a.bin
rename : third_party/rust/sha2/tests/data/sha512/one_million_a.output.bin => third_party/rust/sha2/tests/data/sha512_one_million_a.bin
extra : moz-landing-system : lando
2018-12-25 01:11:35 +00:00
WR Updater Bot a5500b828f Bug 1516012 - Re-vendor rust dependencies. r=kats
Depends on D15247

Differential Revision: https://phabricator.services.mozilla.com/D15248

--HG--
extra : moz-landing-system : lando
2018-12-22 08:57:28 +00:00
Cameron McCormack 99f949e5e4 Bug 1515533 - Bump smallvec and smallbitvec r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D15052

--HG--
extra : moz-landing-system : lando
2018-12-20 01:49:42 +00:00
J.C. Jones 884c261af0 Bug 1514247 - Upgrade u2f-hid-rs to 0.2.3 r=emilio,keeler
This patch moves u2f-hid-rs to 0.2.3 [1], which changes the dependency graph of
u2f-hid-rs to not directly rely on the low-level core-foundation-sys library, as
core-foundation has all the features u2f-hid-rs needs in 0.6.1+.

This patch vendors core-foundation 0.6.3 and core-foundation-sys 0.6.2 as a
consequence.

[1] https://github.com/jcjones/u2f-hid-rs/releases/tag/v0.2.3
[2] d1d36d1044

Differential Revision: https://phabricator.services.mozilla.com/D14569

--HG--
extra : moz-landing-system : lando
2018-12-14 19:40:03 +00:00
WR Updater Bot 4b704dbf3d Bug 1514179 - Re-vendor rust dependencies. r=kats
Depends on D14536

Differential Revision: https://phabricator.services.mozilla.com/D14537

--HG--
extra : moz-landing-system : lando
2018-12-14 13:31:33 +00:00
Emilio Cobos Álvarez 59a72efa12 Bug 1512537 - Update euclid. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D14246

--HG--
extra : moz-landing-system : lando
2018-12-13 00:53:58 +00:00
Cosmin Sabou 2c6cd998ef Merge mozilla-central to autoland. 2018-12-13 00:01:46 +02:00
Bastien Orivel fea3d3edf5 Bug 1513173 - Update darling to 0.8.1 and revendor rust dependencies. r=emilio
This will hopefully help reducing build times
2018-12-12 18:58:48 +01:00
Bryce Van Dyk d9995b9edc Bug 1513042 - Update mp4parse-rust to v0.11.2. r=jya
Update mp4parse-rust update script and pull the new version.

This update changes the mp4parse C-API. Specifically, each track can now
have multiple sample descriptions. Previously we'd just exposed the first for
the entire track, and if others were available they were not exposed via the
API. Because of the API change, we update the C++ interface with mp4parse-rust.

We now inspect the sample info to make sure they're consistent with the parsers
expectations:
- Only a single codec is present for a track, multiple codecs in a track will
  result in us returning an error.
- Only 0 or 1 crypto info is present for a track, more than one set of info will
  result in us returning an error.

We still generalize some of the first sample info to the samples of the track,
as we did before this patch. However, we will now catch the above cases
explicitly.

We now handle crypto information if it is not present on the first sample info.
The parser will iterate through sample infos and use the first set of crypto
info it finds (and fail if it finds 2+).

Differential Revision: https://phabricator.services.mozilla.com/D14107

--HG--
extra : moz-landing-system : lando
2018-12-12 15:04:18 +00:00
Dorel Luca 58cd1ee36a Backed out changeset b3a9872c08d7 (bug 1513042) for Gtest failure
--HG--
extra : rebase_source : 6930ed8e1ea84af3a83f380279138d75ce2bde30
2018-12-12 02:13:45 +02:00
Bryce Van Dyk 74daa628bc Bug 1513042 - Update mp4parse-rust to v0.11.2. r=jya
Update mp4parse-rust update script and pull the new version.

This update changes the mp4parse C-API. Specifically, each track can now
have multiple sample descriptions. Previously we'd just exposed the first for
the entire track, and if others were available they were not exposed via the
API. Because of the API change, we update the C++ interface with mp4parse-rust.

We now inspect the sample info to make sure they're consistent with the parsers
expectations:
- Only a single codec is present for a track, multiple codecs in a track will
  result in us returning an error.
- Only 0 or 1 crypto info is present for a track, more than one set of info will
  result in us returning an error.

We still generalize some of the first sample info to the samples of the track,
as we did before this patch. However, we will now catch the above cases
explicitly.

We now handle crypto information if it is not present on the first sample info.
The parser will iterate through sample infos and use the first set of crypto
info it finds (and fail if it finds 2+).

Differential Revision: https://phabricator.services.mozilla.com/D14107

--HG--
extra : moz-landing-system : lando
2018-12-11 20:55:26 +00:00
Emilio Cobos Álvarez 5b5bf2110c Bug 1511811 - Revendor rust dependencies.
--HG--
rename : third_party/rust/darling_core/src/macros.rs => third_party/rust/darling_core/src/macros_private.rs
2018-12-07 09:00:57 -05:00
Alex Gaynor 9522d924c4 Bug 1510272 - upgraded yaml-rust to 0.4.2; r=ted
This resolves a cargo audit warning in yaml-rust<4.1.

Differential Revision: https://phabricator.services.mozilla.com/D13067

--HG--
extra : moz-landing-system : lando
2018-12-03 19:23:36 +00:00
Markus Stange 798399978e Bug 1505719 - Try harder when computing breakpad IDs for Android system libraries. r=ted
Differential Revision: https://phabricator.services.mozilla.com/D12836

--HG--
extra : moz-landing-system : lando
2018-12-03 19:21:44 +00:00
Emilio Cobos Álvarez eed0162b65 Bug 1511725 - Update string-cache-codegen.
Generated with cargo update -p string_cache_codegen and ./mach vendor rust.

Differential Revision: https://phabricator.services.mozilla.com/D13649

--HG--
extra : moz-landing-system : lando
2018-12-02 17:34:27 +00:00
Valentin Gosu f006cf8ce4 Bug 1511591 - Update rust-url to version 1.7.2 r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D13613

--HG--
extra : moz-landing-system : lando
2018-12-01 14:58:03 +00:00
Bobby Holley c2a8fa1d1d Bug 1510490 - Add dependency on SHA2. r=mattwoodrow
Just pushing this down my patch queue to avoid triggering large cargo
rebuilds when rebasing.

Depends on D13438

Differential Revision: https://phabricator.services.mozilla.com/D13439
2018-12-01 10:43:02 -08:00
shindli 16a2088018 Backed out 7 changesets (bug 1510490) for Btup bustages CLOSED TREE
Backed out changeset f9d8e4ebe0a2 (bug 1510490)
Backed out changeset 55fa8c9b0c7e (bug 1510490)
Backed out changeset ee215fdef53f (bug 1510490)
Backed out changeset c02d08e9dd38 (bug 1510490)
Backed out changeset 6fafd118a82a (bug 1510490)
Backed out changeset 094544e620e1 (bug 1510490)
Backed out changeset 96e1ddc0637b (bug 1510490)
2018-12-01 07:07:26 +02:00
Bobby Holley df736ea23b Bug 1510490 - Add dependency on SHA2. r=mattwoodrow
Just pushing this down my patch queue to avoid triggering large cargo
rebuilds when rebasing.

Depends on D13438

Differential Revision: https://phabricator.services.mozilla.com/D13439

--HG--
extra : moz-landing-system : lando
2018-12-01 03:05:54 +00:00
Henri Sivonen bfddcfb70e Bug 1509507 - Update to encoding_rs 0.8.13 to fix a panic in UTF-8 to UTF-16 decode. r=m_kato
Differential Revision: https://phabricator.services.mozilla.com/D13253

--HG--
extra : moz-landing-system : lando
2018-11-30 07:42:26 +00:00
WR Updater Bot d2fe946690 Bug 1510884 - Re-vendor rust dependencies. r=kats
Depends on D13356

Differential Revision: https://phabricator.services.mozilla.com/D13357

--HG--
extra : moz-landing-system : lando
2018-11-29 03:36:19 +00:00
Cosmin Sabou e1e8f2ea69 Merge mozilla-inbound to mozilla-central. a=merge 2018-11-28 06:08:19 +02:00
WR Updater Bot 1ebc3a00ee Bug 1510379 - Re-vendor rust dependencies. r=kats
Depends on D13115

Differential Revision: https://phabricator.services.mozilla.com/D13116

--HG--
rename : third_party/rust/khronos_api/api_webgl/extensions/WEBGL_compressed_texture_atc/extension.xml => third_party/rust/khronos_api/api_webgl/extensions/rejected/WEBGL_compressed_texture_atc/extension.xml
rename : third_party/rust/khronos_api/api_webgl/extensions/WEBGL_get_buffer_sub_data_async/extension.xml => third_party/rust/khronos_api/api_webgl/extensions/rejected/WEBGL_get_buffer_sub_data_async/extension.xml
rename : third_party/rust/khronos_api/api_webgl/extensions/WEBGL_shared_resources/extension.xml => third_party/rust/khronos_api/api_webgl/extensions/rejected/WEBGL_shared_resources/extension.xml
extra : moz-landing-system : lando
2018-11-27 19:30:19 +00:00
Henri Sivonen 60fabe50a9 Bug 1507726 - Update encoding_rs to 0.8.12. r=m_kato
* Improves UTF-8 validation performance.
 * Improves UTF-8 to UTF-16 decode performance.
 * Improves non-Latin and Latin1-ish Latin single-byte encode performance.
 * Improves code quality by addressing some clippy lints.

The optional legacy CJK encoder changes are not used by Firefox.

Differential Revision: https://phabricator.services.mozilla.com/D12514

--HG--
extra : moz-landing-system : lando
2018-11-22 01:41:51 +00:00
WR Updater Bot a023944719 Bug 1508231 - Re-vendor rust dependencies. r=kats
Depends on D12329

Differential Revision: https://phabricator.services.mozilla.com/D12330

--HG--
extra : moz-landing-system : lando
2018-11-19 18:25:34 +00:00
Mike Hommey 1c6d1f8586 Bug 1496503 - Change the rust panic hook to delegate to Gecko's crash code. r=froydnj
The current rust panic hook keeps a string for the crash reporter, and
goes on calling the default rust panic hook, which prints out a crash
stack...  when RUST_BOOTSTRAP is set *and* when that works. Notably, on
both mac and Windows, it only really works for local builds, but fails
for debug builds from automation, although on automation itself, we also
do stackwalk from crash minidumps, which alleviates the problem.
Artifact debug builds are affected, though.

More importantly, C++ calls to e.g. MOZ_CRASH have a similar but
different behavior, in that they dump a stack trace on debug builds, by
default (with exceptions, see below for one). The format of those stack
traces is understood by the various fix*stack*py scripts under
tools/rb/, that are used by the various test harnesses both on
automation and locally.

Additionally, the current rust panic hook, as it calls the default rust
panic hook, ends up calling abort() on non-Windows platforms, which ends
up being verbosely redirected to mozalloc_abort per
https://dxr.mozilla.org/mozilla-central/rev/237e4c0633fda8e227b2ab3ab57e417c980a2811/memory/mozalloc/mozalloc_abort.cpp#79
which then calls MOZ_CRASH. Theoretically, /that/ would also print a
stack trace, but doesn't because currently the stack trace printing code
lives in libxul, and MOZ_CRASH only calls it when compiled from
libxul-code, which mozalloc_abort is not part of.

With this change, we make the rust panic handler call back into
MOZ_CRASH directly. This has multiple advantages:
- This is more consistent cross-platforms (Windows is not special
anymore).
- This is more consistent between C++ and rust (stack traces all look
the same, and can all be post-processed by fix*stack*py if need be)
- This is more consistent in behavior, where debug builds will show
those stack traces without caring about environment variables.
- It demangles C++ symbols in rust-initiated stack traces (for some
reason that didn't happen with the rust panic handler)

A few downsides:
- the loss of demangling for some rust symbols.
- the loss of addresses in the stacks, although they're not entirely
useful
- extra empty lines.

The first should be fixable later one. The latter two are arguably
something that should be consistent across C++ and rust, and should be
changed if necessary, independently of this patch.

Depends on D11719

Depends on D11719

Differential Revision: https://phabricator.services.mozilla.com/D11720

--HG--
extra : moz-landing-system : lando
2018-11-14 22:35:33 +00:00
Dorel Luca 00c7bf05f9 Backed out 4 changesets (bug 1496503) for Valgrind bustage. CLOSED TREE
Backed out changeset 033a89b3e00d (bug 1496503)
Backed out changeset a0f255b660ce (bug 1496503)
Backed out changeset 963d8ac1cfee (bug 1496503)
Backed out changeset 43e44f8439ec (bug 1496503)
2018-11-14 19:00:29 +02:00
Mike Hommey 6345b0d7d9 Bug 1496503 - Change the rust panic hook to delegate to Gecko's crash code. r=froydnj
The current rust panic hook keeps a string for the crash reporter, and
goes on calling the default rust panic hook, which prints out a crash
stack...  when RUST_BOOTSTRAP is set *and* when that works. Notably, on
both mac and Windows, it only really works for local builds, but fails
for debug builds from automation, although on automation itself, we also
do stackwalk from crash minidumps, which alleviates the problem.
Artifact debug builds are affected, though.

More importantly, C++ calls to e.g. MOZ_CRASH have a similar but
different behavior, in that they dump a stack trace on debug builds, by
default (with exceptions, see below for one). The format of those stack
traces is understood by the various fix*stack*py scripts under
tools/rb/, that are used by the various test harnesses both on
automation and locally.

Additionally, the current rust panic hook, as it calls the default rust
panic hook, ends up calling abort() on non-Windows platforms, which ends
up being verbosely redirected to mozalloc_abort per
https://dxr.mozilla.org/mozilla-central/rev/237e4c0633fda8e227b2ab3ab57e417c980a2811/memory/mozalloc/mozalloc_abort.cpp#79
which then calls MOZ_CRASH. Theoretically, /that/ would also print a
stack trace, but doesn't because currently the stack trace printing code
lives in libxul, and MOZ_CRASH only calls it when compiled from
libxul-code, which mozalloc_abort is not part of.

With this change, we make the rust panic handler call back into
MOZ_CRASH directly. This has multiple advantages:
- This is more consistent cross-platforms (Windows is not special
anymore).
- This is more consistent between C++ and rust (stack traces all look
the same, and can all be post-processed by fix*stack*py if need be)
- This is more consistent in behavior, where debug builds will show
those stack traces without caring about environment variables.
- It demangles C++ symbols in rust-initiated stack traces (for some
reason that didn't happen with the rust panic handler)

A few downsides:
- the loss of demangling for some rust symbols.
- the loss of addresses in the stacks, although they're not entirely
useful
- extra empty lines.

The first should be fixable later one. The latter two are arguably
something that should be consistent across C++ and rust, and should be
changed if necessary, independently of this patch.

Depends on D11719

Differential Revision: https://phabricator.services.mozilla.com/D11720

--HG--
extra : moz-landing-system : lando
2018-11-14 08:46:51 +00:00
Coroiu Cristina d0047119b0 Backed out 4 changesets (bug 1496503) for xpcshell failures at toolkit/crashreporter/test/unit/test_crash_rust_panic.js on a CLOSED TREE
Backed out changeset cfeee3d5ed6a (bug 1496503)
Backed out changeset 164a5a49fd25 (bug 1496503)
Backed out changeset d0b6c1fc149d (bug 1496503)
Backed out changeset bfb4ee856c71 (bug 1496503)
2018-11-14 09:00:06 +02:00
Mike Hommey 38dc94b5eb Bug 1496503 - Change the rust panic hook to delegate to Gecko's crash code. r=froydnj
The current rust panic hook keeps a string for the crash reporter, and
goes on calling the default rust panic hook, which prints out a crash
stack...  when RUST_BOOTSTRAP is set *and* when that works. Notably, on
both mac and Windows, it only really works for local builds, but fails
for debug builds from automation, although on automation itself, we also
do stackwalk from crash minidumps, which alleviates the problem.
Artifact debug builds are affected, though.

More importantly, C++ calls to e.g. MOZ_CRASH have a similar but
different behavior, in that they dump a stack trace on debug builds, by
default (with exceptions, see below for one). The format of those stack
traces is understood by the various fix*stack*py scripts under
tools/rb/, that are used by the various test harnesses both on
automation and locally.

Additionally, the current rust panic hook, as it calls the default rust
panic hook, ends up calling abort() on non-Windows platforms, which ends
up being verbosely redirected to mozalloc_abort per
https://dxr.mozilla.org/mozilla-central/rev/237e4c0633fda8e227b2ab3ab57e417c980a2811/memory/mozalloc/mozalloc_abort.cpp#79
which then calls MOZ_CRASH. Theoretically, /that/ would also print a
stack trace, but doesn't because currently the stack trace printing code
lives in libxul, and MOZ_CRASH only calls it when compiled from
libxul-code, which mozalloc_abort is not part of.

With this change, we make the rust panic handler call back into
MOZ_CRASH directly. This has multiple advantages:
- This is more consistent cross-platforms (Windows is not special
anymore).
- This is more consistent between C++ and rust (stack traces all look
the same, and can all be post-processed by fix*stack*py if need be)
- This is more consistent in behavior, where debug builds will show
those stack traces without caring about environment variables.
- It demangles C++ symbols in rust-initiated stack traces (for some
reason that didn't happen with the rust panic handler)

A few downsides:
- the loss of demangling for some rust symbols.
- the loss of addresses in the stacks, although they're not entirely
useful
- extra empty lines.

The first should be fixable later one. The latter two are arguably
something that should be consistent across C++ and rust, and should be
changed if necessary, independently of this patch.

Depends on D11719

Differential Revision: https://phabricator.services.mozilla.com/D11720

--HG--
extra : moz-landing-system : lando
2018-11-13 23:48:40 +00:00