-
Notifications
You must be signed in to change notification settings - Fork 246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dbghlp: Make mutex name unique to the process #518
Conversation
Note: this PR only affects Windows. I'm not sure why the Ubuntu and Android tests are failing. |
"Local\\RustBacktraceMutex\0".as_ptr() as _, | ||
) as usize; | ||
let name = mutex_name(); | ||
lock = CreateMutexA(ptr::null_mut(), 0, name.as_ptr().cast::<i8>()) as usize; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does windows remove the mutex again once all open handles are closed or will this keep accumulating mutexes until the session ends?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-createmutexa
Use the CloseHandle function to close the handle. The system closes the handle automatically when the process terminates. The mutex object is destroyed when its last handle has been closed.
Is there anything we can do to help get this PR merged? This bug is biting us in production currently. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rerunning the tests gets everything but the Android tests passing, and we're not blocking merges on the Android tests, so in this goes.
// Helper function for generating a name that's unique to the process. | ||
fn mutex_name() -> [u8; 33] { | ||
let mut name: [u8; 33] = *b"Local\\RustBacktraceMutex00000000\0"; | ||
let mut id = unsafe { GetCurrentProcessId() }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Windows guarantees the return value is unique across the system until the process dies. Since this effectively means a process-wide mutex, this could conceivably complicate the implementation of something like #473 further. However, that does not seem to have momentum, and this is a necessary fix, so it's fine to take this even if it inconveniences that.
name[index - 1] = match (id & 0xF) as u8 { | ||
h @ 0..=9 => b'0' + h, | ||
h => b'A' + (h - 10), | ||
}; | ||
id >>= 4; | ||
index -= 1; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is... quite rudimentary. I'm impressed.
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3` -> `0.3.71` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. ##### What's Changed - Make sgx functions exist with cfg(miri) by [@​saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@​jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@​workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@​workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@​Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@​workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) ##### New Contributors - [@​jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@​Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: rust-lang/backtrace-rs@0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) ##### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@​fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) ##### Platform Support We added support for new platforms in this release! - Thanks to [@​bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@​sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@​dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@​wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@​wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@​kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@​roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@​klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@​michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@​ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@​ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@​mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) ##### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@​detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@​bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@​pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@​nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@​saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@​ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@​saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@​GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@​workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@​nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@​onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) ##### New Contributors - [@​nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@​bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@​bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@​sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@​mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@​wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@​kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@​roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@​michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@​dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@​GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@​fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@​onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: rust-lang/backtrace-rs@0.3.69...0.3.70 ### [`v0.3.69`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.69) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.68...0.3.69) Thank you everyone for contributing to a very nice release! ##### Tracking Binary Size As backtrace-rs is compiled into every single Rust program, we have begun tracking its binary size in order to find ways to reduce its impact on programs that only minimally use backtraces over time. This change is mostly relevant to this crate's CI, and has been implemented by [@​Kobzol](https://togithub.com/Kobzol) and [@​detly](https://togithub.com/detly) over PRs [#​542](https://togithub.com/rust-lang/backtrace-rs/issues/542), [#​544](https://togithub.com/rust-lang/backtrace-rs/issues/544), [#​546](https://togithub.com/rust-lang/backtrace-rs/issues/546), and [#​550](https://togithub.com/rust-lang/backtrace-rs/issues/550)! ##### Platform-Specific Fixes As usual, the majority of PRs for this release only affect 1 or 2 platforms. Technically, even the binary-size tracking is only implemented to track binary size on `x86_64-unknown-linux-gnu`. ##### fuchsia Backtraces for Fuchsia will now uses extended symbolization thanks to [@​liudangyi](https://togithub.com/liudangyi) in [https://github.com/rust-lang/backtrace-rs/pull/559](https://togithub.com/rust-lang/backtrace-rs/pull/559) ##### unix (with `procfs`) Many Unix-y platforms support `/proc`, including Linux and FreeBSD, but not OpenBSD. For those which do, backtrace uses `/proc/self/maps` to assist in recovering the trace. We did not parse the output of `/proc/self/maps` in a way that accounted for the fact that it may have spaces in path names, but this was fixed thanks to [@​MasonRemaley](https://togithub.com/MasonRemaley) in [https://github.com/rust-lang/backtrace-rs/pull/553](https://togithub.com/rust-lang/backtrace-rs/pull/553) ##### windows-msvc Some changes that should help binary size specifically on Windows MSVC targets, or at least compile times, have already been implemented, thanks to [@​klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/543](https://togithub.com/rust-lang/backtrace-rs/pull/543) omitting compiling-in ELF backtrace capabilities. We don't have full binary size tracking for all major supported operating systems yet, so we believe this is worth 30KiB but that's more of an estimate than hard stats. ##### Dependency Management - Update addr2line and object dependencies by [@​philipc](https://togithub.com/philipc) in [https://github.com/rust-lang/backtrace-rs/pull/557](https://togithub.com/rust-lang/backtrace-rs/pull/557) - Exclude ci directory from packaged crate by [@​mulkieran](https://togithub.com/mulkieran) in [https://github.com/rust-lang/backtrace-rs/pull/555](https://togithub.com/rust-lang/backtrace-rs/pull/555) - Enable calling build.rs directly from std/build.rs by [@​pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/556](https://togithub.com/rust-lang/backtrace-rs/pull/556) ##### New Contributors - [@​Kobzol](https://togithub.com/Kobzol) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/542](https://togithub.com/rust-lang/backtrace-rs/pull/542) - [@​detly](https://togithub.com/detly) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/550](https://togithub.com/rust-lang/backtrace-rs/pull/550) - [@​liudangyi](https://togithub.com/liudangyi) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/559](https://togithub.com/rust-lang/backtrace-rs/pull/559) - [@​MasonRemaley](https://togithub.com/MasonRemaley) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/553](https://togithub.com/rust-lang/backtrace-rs/pull/553) - [@​mulkieran](https://togithub.com/mulkieran) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/555](https://togithub.com/rust-lang/backtrace-rs/pull/555) - [@​pitaj](https://togithub.com/pitaj) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/556](https://togithub.com/rust-lang/backtrace-rs/pull/556) - [@​klensy](https://togithub.com/klensy) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/543](https://togithub.com/rust-lang/backtrace-rs/pull/543) **Full Changelog**: rust-lang/backtrace-rs@0.3.68...0.3.69 ### [`v0.3.68`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.68) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.67...0.3.68) A bunch of behind-the-scenes work on upgrading CI has finally got things to a place where we can do confident releases again, so hopefully the next backtrace version will not take 6 months! Thanks to everyone who contributed to that! Most of the user-facing changes are about dependency updates and consequent improved platform compatibility, including with split DWARF. A few new functions on BacktraceFmt should also make it easier to inject additional text into backtrace's output. - Adapt to new Fuchsia target name by [@​flba-eb](https://togithub.com/flba-eb) in [https://github.com/rust-lang/backtrace-rs/pull/509](https://togithub.com/rust-lang/backtrace-rs/pull/509) - armv7 PSVita OS support by [@​nikarh](https://togithub.com/nikarh) in [https://github.com/rust-lang/backtrace-rs/pull/523](https://togithub.com/rust-lang/backtrace-rs/pull/523) - Upgrade addr2line and properly handle split DWARF on Linux by [@​khuey](https://togithub.com/khuey) in [https://github.com/rust-lang/backtrace-rs/pull/513](https://togithub.com/rust-lang/backtrace-rs/pull/513) - deps: update miniz_oxide to 0.7 by [@​poliorcetics](https://togithub.com/poliorcetics) in [https://github.com/rust-lang/backtrace-rs/pull/521](https://togithub.com/rust-lang/backtrace-rs/pull/521) - Add print in BacktraceFmt by [@​chenyukang](https://togithub.com/chenyukang) in [https://github.com/rust-lang/backtrace-rs/pull/527](https://togithub.com/rust-lang/backtrace-rs/pull/527) - Bump object to 0.31 by [@​lnicola](https://togithub.com/lnicola) in [https://github.com/rust-lang/backtrace-rs/pull/522](https://togithub.com/rust-lang/backtrace-rs/pull/522) - Add an exception for QNX Neutrino 7.0 as a 'no-op' platform by [@​samkearney](https://togithub.com/samkearney) in [https://github.com/rust-lang/backtrace-rs/pull/529](https://togithub.com/rust-lang/backtrace-rs/pull/529) - Use mmap64 on Linux. by [@​mikebenfield](https://togithub.com/mikebenfield) in [https://github.com/rust-lang/backtrace-rs/pull/501](https://togithub.com/rust-lang/backtrace-rs/pull/501) - dbghlp: Make mutex name unique to the process by [@​ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/518](https://togithub.com/rust-lang/backtrace-rs/pull/518) - gimli add netbsd to handle dl_iterate_phdr as well. by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/backtrace-rs/pull/512](https://togithub.com/rust-lang/backtrace-rs/pull/512) - Add other apple targets to libunwind workaround by [@​thomcc](https://togithub.com/thomcc) in [https://github.com/rust-lang/backtrace-rs/pull/516](https://togithub.com/rust-lang/backtrace-rs/pull/516) - Add fmt method for BacktraceFmt by [@​chenyukang](https://togithub.com/chenyukang) in [https://github.com/rust-lang/backtrace-rs/pull/532](https://togithub.com/rust-lang/backtrace-rs/pull/532) ##### New Contributors - [@​bwmf2](https://togithub.com/bwmf2) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/515](https://togithub.com/rust-lang/backtrace-rs/pull/515) - [@​flba-eb](https://togithub.com/flba-eb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/509](https://togithub.com/rust-lang/backtrace-rs/pull/509) - [@​nikarh](https://togithub.com/nikarh) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/523](https://togithub.com/rust-lang/backtrace-rs/pull/523) - [@​poliorcetics](https://togithub.com/poliorcetics) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/521](https://togithub.com/rust-lang/backtrace-rs/pull/521) - [@​GuillaumeGomez](https://togithub.com/GuillaumeGomez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/524](https://togithub.com/rust-lang/backtrace-rs/pull/524) - [@​chenyukang](https://togithub.com/chenyukang) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/527](https://togithub.com/rust-lang/backtrace-rs/pull/527) - [@​lnicola](https://togithub.com/lnicola) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/522](https://togithub.com/rust-lang/backtrace-rs/pull/522) - [@​samkearney](https://togithub.com/samkearney) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/529](https://togithub.com/rust-lang/backtrace-rs/pull/529) - [@​mikebenfield](https://togithub.com/mikebenfield) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/501](https://togithub.com/rust-lang/backtrace-rs/pull/501) - [@​devnexen](https://togithub.com/devnexen) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/512](https://togithub.com/rust-lang/backtrace-rs/pull/512) - [@​thomcc](https://togithub.com/thomcc) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/516](https://togithub.com/rust-lang/backtrace-rs/pull/516) - [@​workingjubilee](https://togithub.com/workingjubilee) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/533](https://togithub.com/rust-lang/backtrace-rs/pull/533) - [@​chriswailes](https://togithub.com/chriswailes) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/534](https://togithub.com/rust-lang/backtrace-rs/pull/534) **Full Changelog**: rust-lang/backtrace-rs@0.3.67...0.3.68 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Canary-nextjs).
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [backtrace](https://togithub.com/rust-lang/backtrace-rs) | dependencies | patch | `0.3` -> `0.3.71` | --- ### Release Notes <details> <summary>rust-lang/backtrace-rs (backtrace)</summary> ### [`v0.3.71`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.71) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71) This is mostly CI changes, with a very mild bump to our effective cc crate version recorded, and a small modification to a previous changeset to allow backtrace to run at its current checked-in MSRV on Windows. Sorry about that! We will be getting 0.3.70 yanked shortly. ##### What's Changed - Make sgx functions exist with cfg(miri) by [@​saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/591](https://togithub.com/rust-lang/backtrace-rs/pull/591) - Update version of cc crate by [@​jfgoog](https://togithub.com/jfgoog) in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - Pull back MSRV on Windows by [@​workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/598](https://togithub.com/rust-lang/backtrace-rs/pull/598) - Force frame pointers on all i686 tests by [@​workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/601](https://togithub.com/rust-lang/backtrace-rs/pull/601) - Use rustc from stage0 instead of stage0-sysroot by [@​Nilstrieb](https://togithub.com/Nilstrieb) in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) - Cut backtrace 0.3.71 by [@​workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/599](https://togithub.com/rust-lang/backtrace-rs/pull/599) ##### New Contributors - [@​jfgoog](https://togithub.com/jfgoog) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/592](https://togithub.com/rust-lang/backtrace-rs/pull/592) - [@​Nilstrieb](https://togithub.com/Nilstrieb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/602](https://togithub.com/rust-lang/backtrace-rs/pull/602) **Full Changelog**: rust-lang/backtrace-rs@0.3.70...0.3.71 ### [`v0.3.70`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.70) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.70) ##### New API - A `BacktraceFrame` can now have `resolve(&mut self)` called on it thanks to [@​fraillt](https://togithub.com/fraillt) in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) ##### Platform Support We added support for new platforms in this release! - Thanks to [@​bzEq](https://togithub.com/bzEq) in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) we now have AIX support! - Thanks to [@​sthibaul](https://togithub.com/sthibaul) in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) we now have GNU/Hurd support! - Thanks to [@​dpaoliello](https://togithub.com/dpaoliello) in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) we now support "emulation-compatible" AArch64 Windows (aka arm64ec) ##### Windows - Rewrite msvc backtrace support to be much faster on 64-bit platforms by [@​wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - Fix i686-pc-windows-gnu missing dbghelp module by [@​wesleywiser](https://togithub.com/wesleywiser) in [https://github.com/rust-lang/backtrace-rs/pull/571](https://togithub.com/rust-lang/backtrace-rs/pull/571) - Fix build errors on `thumbv7a-*-windows-msvc` targets by [@​kleisauke](https://togithub.com/kleisauke) in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - Fix panic in backtrace symbolication on win7 by [@​roblabla](https://togithub.com/roblabla) in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - remove few unused windows ffi fn by [@​klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/576](https://togithub.com/rust-lang/backtrace-rs/pull/576) - Make dbghelp look for PDBs next to their exe/dll. by [@​michaelwoerister](https://togithub.com/michaelwoerister) in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - Revert 32-bit dbghelp to a version WINE (presumably) likes by [@​ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/588](https://togithub.com/rust-lang/backtrace-rs/pull/588) - Update for Win10+ by [@​ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/589](https://togithub.com/rust-lang/backtrace-rs/pull/589) ##### SGX Thanks to - Adjust frame IP in SGX relative to image base by [@​mzohreva](https://togithub.com/mzohreva) in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) ##### Internals We did a bunch more work on our CI and internal cleanups - Modularise CI workflow and validate outputs for binary size checks. by [@​detly](https://togithub.com/detly) in [https://github.com/rust-lang/backtrace-rs/pull/549](https://togithub.com/rust-lang/backtrace-rs/pull/549) - Commit Cargo.lock by [@​bjorn3](https://togithub.com/bjorn3) in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - Enable calling build.rs externally v2 by [@​pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/568](https://togithub.com/rust-lang/backtrace-rs/pull/568) - Upgrade to 2021 ed and inline panics by [@​nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - Fix deny(unused) of an unused import with SGX + Miri by [@​saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/581](https://togithub.com/rust-lang/backtrace-rs/pull/581) - Fix unused_imports warning on latest nightly by [@​ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/575](https://togithub.com/rust-lang/backtrace-rs/pull/575) - Fix CI by [@​saethlin](https://togithub.com/saethlin) in [https://github.com/rust-lang/backtrace-rs/pull/582](https://togithub.com/rust-lang/backtrace-rs/pull/582) - Use `addr_of!` by [@​GrigorenkoPV](https://togithub.com/GrigorenkoPV) in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - Write down MSRV policy by [@​workingjubilee](https://togithub.com/workingjubilee) in [https://github.com/rust-lang/backtrace-rs/pull/561](https://togithub.com/rust-lang/backtrace-rs/pull/561) - Apply clippy::uninlined_format_args fixes by [@​nyurik](https://togithub.com/nyurik) in [https://github.com/rust-lang/backtrace-rs/pull/486](https://togithub.com/rust-lang/backtrace-rs/pull/486) - ignore clippy lints in `symbolize/gimli/stash.rs` by [@​onur-ozkan](https://togithub.com/onur-ozkan) in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) ##### New Contributors - [@​nyurik](https://togithub.com/nyurik) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/538](https://togithub.com/rust-lang/backtrace-rs/pull/538) - [@​bzEq](https://togithub.com/bzEq) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/508](https://togithub.com/rust-lang/backtrace-rs/pull/508) - [@​bjorn3](https://togithub.com/bjorn3) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/562](https://togithub.com/rust-lang/backtrace-rs/pull/562) - [@​sthibaul](https://togithub.com/sthibaul) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/567](https://togithub.com/rust-lang/backtrace-rs/pull/567) - [@​mzohreva](https://togithub.com/mzohreva) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/566](https://togithub.com/rust-lang/backtrace-rs/pull/566) - [@​wesleywiser](https://togithub.com/wesleywiser) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/569](https://togithub.com/rust-lang/backtrace-rs/pull/569) - [@​kleisauke](https://togithub.com/kleisauke) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/573](https://togithub.com/rust-lang/backtrace-rs/pull/573) - [@​roblabla](https://togithub.com/roblabla) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/578](https://togithub.com/rust-lang/backtrace-rs/pull/578) - [@​michaelwoerister](https://togithub.com/michaelwoerister) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/584](https://togithub.com/rust-lang/backtrace-rs/pull/584) - [@​dpaoliello](https://togithub.com/dpaoliello) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/587](https://togithub.com/rust-lang/backtrace-rs/pull/587) - [@​GrigorenkoPV](https://togithub.com/GrigorenkoPV) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/585](https://togithub.com/rust-lang/backtrace-rs/pull/585) - [@​fraillt](https://togithub.com/fraillt) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/526](https://togithub.com/rust-lang/backtrace-rs/pull/526) - [@​onur-ozkan](https://togithub.com/onur-ozkan) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/586](https://togithub.com/rust-lang/backtrace-rs/pull/586) **Full Changelog**: rust-lang/backtrace-rs@0.3.69...0.3.70 ### [`v0.3.69`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.69) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.68...0.3.69) Thank you everyone for contributing to a very nice release! ##### Tracking Binary Size As backtrace-rs is compiled into every single Rust program, we have begun tracking its binary size in order to find ways to reduce its impact on programs that only minimally use backtraces over time. This change is mostly relevant to this crate's CI, and has been implemented by [@​Kobzol](https://togithub.com/Kobzol) and [@​detly](https://togithub.com/detly) over PRs [#​542](https://togithub.com/rust-lang/backtrace-rs/issues/542), [#​544](https://togithub.com/rust-lang/backtrace-rs/issues/544), [#​546](https://togithub.com/rust-lang/backtrace-rs/issues/546), and [#​550](https://togithub.com/rust-lang/backtrace-rs/issues/550)! ##### Platform-Specific Fixes As usual, the majority of PRs for this release only affect 1 or 2 platforms. Technically, even the binary-size tracking is only implemented to track binary size on `x86_64-unknown-linux-gnu`. ##### fuchsia Backtraces for Fuchsia will now uses extended symbolization thanks to [@​liudangyi](https://togithub.com/liudangyi) in [https://github.com/rust-lang/backtrace-rs/pull/559](https://togithub.com/rust-lang/backtrace-rs/pull/559) ##### unix (with `procfs`) Many Unix-y platforms support `/proc`, including Linux and FreeBSD, but not OpenBSD. For those which do, backtrace uses `/proc/self/maps` to assist in recovering the trace. We did not parse the output of `/proc/self/maps` in a way that accounted for the fact that it may have spaces in path names, but this was fixed thanks to [@​MasonRemaley](https://togithub.com/MasonRemaley) in [https://github.com/rust-lang/backtrace-rs/pull/553](https://togithub.com/rust-lang/backtrace-rs/pull/553) ##### windows-msvc Some changes that should help binary size specifically on Windows MSVC targets, or at least compile times, have already been implemented, thanks to [@​klensy](https://togithub.com/klensy) in [https://github.com/rust-lang/backtrace-rs/pull/543](https://togithub.com/rust-lang/backtrace-rs/pull/543) omitting compiling-in ELF backtrace capabilities. We don't have full binary size tracking for all major supported operating systems yet, so we believe this is worth 30KiB but that's more of an estimate than hard stats. ##### Dependency Management - Update addr2line and object dependencies by [@​philipc](https://togithub.com/philipc) in [https://github.com/rust-lang/backtrace-rs/pull/557](https://togithub.com/rust-lang/backtrace-rs/pull/557) - Exclude ci directory from packaged crate by [@​mulkieran](https://togithub.com/mulkieran) in [https://github.com/rust-lang/backtrace-rs/pull/555](https://togithub.com/rust-lang/backtrace-rs/pull/555) - Enable calling build.rs directly from std/build.rs by [@​pitaj](https://togithub.com/pitaj) in [https://github.com/rust-lang/backtrace-rs/pull/556](https://togithub.com/rust-lang/backtrace-rs/pull/556) ##### New Contributors - [@​Kobzol](https://togithub.com/Kobzol) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/542](https://togithub.com/rust-lang/backtrace-rs/pull/542) - [@​detly](https://togithub.com/detly) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/550](https://togithub.com/rust-lang/backtrace-rs/pull/550) - [@​liudangyi](https://togithub.com/liudangyi) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/559](https://togithub.com/rust-lang/backtrace-rs/pull/559) - [@​MasonRemaley](https://togithub.com/MasonRemaley) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/553](https://togithub.com/rust-lang/backtrace-rs/pull/553) - [@​mulkieran](https://togithub.com/mulkieran) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/555](https://togithub.com/rust-lang/backtrace-rs/pull/555) - [@​pitaj](https://togithub.com/pitaj) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/556](https://togithub.com/rust-lang/backtrace-rs/pull/556) - [@​klensy](https://togithub.com/klensy) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/543](https://togithub.com/rust-lang/backtrace-rs/pull/543) **Full Changelog**: rust-lang/backtrace-rs@0.3.68...0.3.69 ### [`v0.3.68`](https://togithub.com/rust-lang/backtrace-rs/releases/tag/0.3.68) [Compare Source](https://togithub.com/rust-lang/backtrace-rs/compare/0.3.67...0.3.68) A bunch of behind-the-scenes work on upgrading CI has finally got things to a place where we can do confident releases again, so hopefully the next backtrace version will not take 6 months! Thanks to everyone who contributed to that! Most of the user-facing changes are about dependency updates and consequent improved platform compatibility, including with split DWARF. A few new functions on BacktraceFmt should also make it easier to inject additional text into backtrace's output. - Adapt to new Fuchsia target name by [@​flba-eb](https://togithub.com/flba-eb) in [https://github.com/rust-lang/backtrace-rs/pull/509](https://togithub.com/rust-lang/backtrace-rs/pull/509) - armv7 PSVita OS support by [@​nikarh](https://togithub.com/nikarh) in [https://github.com/rust-lang/backtrace-rs/pull/523](https://togithub.com/rust-lang/backtrace-rs/pull/523) - Upgrade addr2line and properly handle split DWARF on Linux by [@​khuey](https://togithub.com/khuey) in [https://github.com/rust-lang/backtrace-rs/pull/513](https://togithub.com/rust-lang/backtrace-rs/pull/513) - deps: update miniz_oxide to 0.7 by [@​poliorcetics](https://togithub.com/poliorcetics) in [https://github.com/rust-lang/backtrace-rs/pull/521](https://togithub.com/rust-lang/backtrace-rs/pull/521) - Add print in BacktraceFmt by [@​chenyukang](https://togithub.com/chenyukang) in [https://github.com/rust-lang/backtrace-rs/pull/527](https://togithub.com/rust-lang/backtrace-rs/pull/527) - Bump object to 0.31 by [@​lnicola](https://togithub.com/lnicola) in [https://github.com/rust-lang/backtrace-rs/pull/522](https://togithub.com/rust-lang/backtrace-rs/pull/522) - Add an exception for QNX Neutrino 7.0 as a 'no-op' platform by [@​samkearney](https://togithub.com/samkearney) in [https://github.com/rust-lang/backtrace-rs/pull/529](https://togithub.com/rust-lang/backtrace-rs/pull/529) - Use mmap64 on Linux. by [@​mikebenfield](https://togithub.com/mikebenfield) in [https://github.com/rust-lang/backtrace-rs/pull/501](https://togithub.com/rust-lang/backtrace-rs/pull/501) - dbghlp: Make mutex name unique to the process by [@​ChrisDenton](https://togithub.com/ChrisDenton) in [https://github.com/rust-lang/backtrace-rs/pull/518](https://togithub.com/rust-lang/backtrace-rs/pull/518) - gimli add netbsd to handle dl_iterate_phdr as well. by [@​devnexen](https://togithub.com/devnexen) in [https://github.com/rust-lang/backtrace-rs/pull/512](https://togithub.com/rust-lang/backtrace-rs/pull/512) - Add other apple targets to libunwind workaround by [@​thomcc](https://togithub.com/thomcc) in [https://github.com/rust-lang/backtrace-rs/pull/516](https://togithub.com/rust-lang/backtrace-rs/pull/516) - Add fmt method for BacktraceFmt by [@​chenyukang](https://togithub.com/chenyukang) in [https://github.com/rust-lang/backtrace-rs/pull/532](https://togithub.com/rust-lang/backtrace-rs/pull/532) ##### New Contributors - [@​bwmf2](https://togithub.com/bwmf2) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/515](https://togithub.com/rust-lang/backtrace-rs/pull/515) - [@​flba-eb](https://togithub.com/flba-eb) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/509](https://togithub.com/rust-lang/backtrace-rs/pull/509) - [@​nikarh](https://togithub.com/nikarh) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/523](https://togithub.com/rust-lang/backtrace-rs/pull/523) - [@​poliorcetics](https://togithub.com/poliorcetics) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/521](https://togithub.com/rust-lang/backtrace-rs/pull/521) - [@​GuillaumeGomez](https://togithub.com/GuillaumeGomez) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/524](https://togithub.com/rust-lang/backtrace-rs/pull/524) - [@​chenyukang](https://togithub.com/chenyukang) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/527](https://togithub.com/rust-lang/backtrace-rs/pull/527) - [@​lnicola](https://togithub.com/lnicola) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/522](https://togithub.com/rust-lang/backtrace-rs/pull/522) - [@​samkearney](https://togithub.com/samkearney) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/529](https://togithub.com/rust-lang/backtrace-rs/pull/529) - [@​mikebenfield](https://togithub.com/mikebenfield) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/501](https://togithub.com/rust-lang/backtrace-rs/pull/501) - [@​devnexen](https://togithub.com/devnexen) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/512](https://togithub.com/rust-lang/backtrace-rs/pull/512) - [@​thomcc](https://togithub.com/thomcc) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/516](https://togithub.com/rust-lang/backtrace-rs/pull/516) - [@​workingjubilee](https://togithub.com/workingjubilee) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/533](https://togithub.com/rust-lang/backtrace-rs/pull/533) - [@​chriswailes](https://togithub.com/chriswailes) made their first contribution in [https://github.com/rust-lang/backtrace-rs/pull/534](https://togithub.com/rust-lang/backtrace-rs/pull/534) **Full Changelog**: rust-lang/backtrace-rs@0.3.67...0.3.68 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/X-oss-byte/Nextjs).
Fixes #399.