https://internals.rust-lang.org/t/rust-1-36-0-pre-release-testing/10490
https://github.com/rust-lang/rust/blob/master/RELEASES.md
Scheduled to be released on 2019-07-04
Differential D20810
lang/rust: Update to 1.36.0 tobik on Jun 30 2019, 6:48 AM. Authored by Tags None Referenced Files
Details
https://internals.rust-lang.org/t/rust-1-36-0-pre-release-testing/10490 Scheduled to be released on 2019-07-04
Diff Detail
Event TimelineComment Actions $ cat /poudriere/data/logs/bulk/112amd64-default/latest/.poudriere.ports.failed mail/thunderbird thunderbird-60.7.2_2 build ??? 1780 www/firefox-esr firefox-esr-60.7.2_1,1 build checksum 2162 error[E0277]: the type `std::cell::UnsafeCell<std::option::Option<std::boxed::Box<std::cell::RefCell<regex::exec::ProgramCacheInner>>>>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary --> servo/components/style/build_gecko.rs:387:14 | 387 | impl ParseCallbacks for Callbacks { | ^^^^^^^^^^^^^^ `std::cell::UnsafeCell<std::option::Option<std::boxed::Box<std::cell::RefCell<regex::exec::ProgramCacheInner>>>>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary | = help: within `(std::string::String, regex::RegexSet)`, the trait `std::panic::RefUnwindSafe` is not implemented for `std::cell::UnsafeCell<std::option::Option<std::boxed::Box<std::cell::RefCell<regex::exec::ProgramCacheInner>>>>` = note: required because it appears within the type `thread_local::CachedThreadLocal<std::cell::RefCell<regex::exec::ProgramCacheInner>>` = note: required because it appears within the type `regex::internal::Exec` = note: required because it appears within the type `regex::RegexSet` = note: required because it appears within the type `(std::string::String, regex::RegexSet)` = note: required because of the requirements on the impl of `std::panic::UnwindSafe` for `std::ptr::NonNull<(std::string::String, regex::RegexSet)>` = note: required because it appears within the type `hashbrown::raw::RawTable<(std::string::String, regex::RegexSet)>` = note: required because it appears within the type `hashbrown::map::HashMap<std::string::String, regex::RegexSet, std::collections::hash_map::RandomState>` = note: required because it appears within the type `std::collections::HashMap<std::string::String, regex::RegexSet>` = note: required because it appears within the type `build_gecko::bindings::generate_structs::Callbacks` error[E0277]: the type `std::cell::UnsafeCell<regex::exec::ProgramCacheInner>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary --> servo/components/style/build_gecko.rs:387:14 | 387 | impl ParseCallbacks for Callbacks { | ^^^^^^^^^^^^^^ `std::cell::UnsafeCell<regex::exec::ProgramCacheInner>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary | = help: within `(std::string::String, regex::RegexSet)`, the trait `std::panic::RefUnwindSafe` is not implemented for `std::cell::UnsafeCell<regex::exec::ProgramCacheInner>` = note: required because it appears within the type `std::cell::RefCell<regex::exec::ProgramCacheInner>` = note: required because it appears within the type `std::marker::PhantomData<std::cell::RefCell<regex::exec::ProgramCacheInner>>` = note: required because it appears within the type `thread_local::ThreadLocal<std::cell::RefCell<regex::exec::ProgramCacheInner>>` = note: required because it appears within the type `thread_local::CachedThreadLocal<std::cell::RefCell<regex::exec::ProgramCacheInner>>` = note: required because it appears within the type `regex::internal::Exec` = note: required because it appears within the type `regex::RegexSet` = note: required because it appears within the type `(std::string::String, regex::RegexSet)` = note: required because of the requirements on the impl of `std::panic::UnwindSafe` for `std::ptr::NonNull<(std::string::String, regex::RegexSet)>` = note: required because it appears within the type `hashbrown::raw::RawTable<(std::string::String, regex::RegexSet)>` = note: required because it appears within the type `hashbrown::map::HashMap<std::string::String, regex::RegexSet, std::collections::hash_map::RandomState>` = note: required because it appears within the type `std::collections::HashMap<std::string::String, regex::RegexSet>` = note: required because it appears within the type `build_gecko::bindings::generate_structs::Callbacks` error[E0277]: the type `std::cell::UnsafeCell<isize>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary --> servo/components/style/build_gecko.rs:387:14 | 387 | impl ParseCallbacks for Callbacks { | ^^^^^^^^^^^^^^ `std::cell::UnsafeCell<isize>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary | = help: within `(std::string::String, regex::RegexSet)`, the trait `std::panic::RefUnwindSafe` is not implemented for `std::cell::UnsafeCell<isize>` = note: required because it appears within the type `std::cell::Cell<isize>` = note: required because it appears within the type `std::cell::RefCell<regex::exec::ProgramCacheInner>` = note: required because it appears within the type `std::marker::PhantomData<std::cell::RefCell<regex::exec::ProgramCacheInner>>` = note: required because it appears within the type `thread_local::ThreadLocal<std::cell::RefCell<regex::exec::ProgramCacheInner>>` = note: required because it appears within the type `thread_local::CachedThreadLocal<std::cell::RefCell<regex::exec::ProgramCacheInner>>` = note: required because it appears within the type `regex::internal::Exec` = note: required because it appears within the type `regex::RegexSet` = note: required because it appears within the type `(std::string::String, regex::RegexSet)` = note: required because of the requirements on the impl of `std::panic::UnwindSafe` for `std::ptr::NonNull<(std::string::String, regex::RegexSet)>` = note: required because it appears within the type `hashbrown::raw::RawTable<(std::string::String, regex::RegexSet)>` = note: required because it appears within the type `hashbrown::map::HashMap<std::string::String, regex::RegexSet, std::collections::hash_map::RandomState>` = note: required because it appears within the type `std::collections::HashMap<std::string::String, regex::RegexSet>` = note: required because it appears within the type `build_gecko::bindings::generate_structs::Callbacks` error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0277`. error: Could not compile `style`. which was refactored in Firefox 61. Comment Actions
Comment Actions Thanks for checking. I tried cherry picking those changes but they require even more changes since GenerateServoCSSPropList.py is not available on esr60. Luckily the problem can be fixed with a small patch instead. My guess is that Callbacks is not actually unwind safe though. But it is only used at build time and probably also was not with Rust < 1.36.0. Comment Actions it's ok on armv6 and armv7. I screwed up the bootstrap on aarch64, I have to regenerate it.
Comment Actions Great. Thanks for checking.
Hmm, ok. Let me know when it's ready. Thunderbird built fine on 12.0/amd64 too.
Comment Actions Re firefox-esr, the OpenBSD devs opened a bug for this: https://bugzilla.mozilla.org/show_bug.cgi?id=1562579. It seems that Mozilla is pretty hostile to packagers that want to build firefox-esr with something other than Rust 1.24.0. Also see https://bugzilla.mozilla.org/show_bug.cgi?id=1562625. Comment Actions Considering that 68 is supposed to be a new ESR, maybe we could upgrade the ESR port too to 68? Comment Actions Or we could provide a separate Rust port frozen at the version that Mozilla recommends for ESR, updated only after a switch to a new ESR. Comment Actions https://github.com/rust-lang/rust/pull/62311 plans to include fix on Rust side, so expect another build for 1.36.0. www/firefox-esr is less important than mail/thunderbird. And Thunderbird 68 is still at Beta stage. Comment Actions
Comment Actions firefox-esr (60.8.0) and thunderbird (60.8.0) built fine on 11.2 i386 without files/patch-rust1.36.0. Comment Actions
Same here (just thunderbird 60.7.2). |