The Miri Cronjob Bot
32fe60bc57
Preparing for merge from rustc
2025-04-20 04:52:36 +00:00
The Miri Cronjob Bot
9726e6b468
Merge from rustc
2025-04-19 04:59:50 +00:00
The Miri Cronjob Bot
4b995e72b6
Preparing for merge from rustc
2025-04-19 04:52:37 +00:00
The Miri Cronjob Bot
dc21c77ae6
Merge from rustc
2025-04-18 05:01:10 +00:00
The Miri Cronjob Bot
378886f772
Preparing for merge from rustc
2025-04-18 04:54:04 +00:00
Matthias Krüger
5e8bc7f4d3
Rollup merge of #139553 - petrosagg:channel-double-free, r=RalfJung,tgross35
...
sync::mpsc: prevent double free on `Drop`
This PR is fixing a regression introduced by #121646 that can lead to a double free when dropping the channel.
The details of the bug can be found in the corresponding crossbeam PR https://github.com/crossbeam-rs/crossbeam/pull/1187
2025-04-18 05:16:29 +02:00
Matthias Krüger
b6e48d3850
Rollup merge of #139483 - RalfJung:nan, r=tgross35
...
f*::NAN: guarantee that this is a quiet NaN
I think we should guarantee that this is a quiet NaN. This then implies that programs not using `f*::from_bits` (or unsafe type conversions) are guaranteed to only work with quiet NaNs. It would be awkward if people start to write `0.0 / 0.0` instead of using the constant just because they want to get a guaranteed-quiet NaN.
This is a `@rust-lang/libs-api` change. The definition of this constant currently is `0.0 / 0.0`, which is already guaranteed to be a quiet NaN. So all this does is forward that guarantee to our users.
2025-04-17 21:53:24 +02:00
Ralf Jung
765d4b29af
Merge pull request #4278 from RalfJung/cron-test-done
...
remove test trigger fron cron job
2025-04-17 18:44:09 +00:00
Ralf Jung
e3b01c7749
remove test trigger fron cron job
2025-04-17 20:16:53 +02:00
The Miri Cronjob Bot
2602dd93a6
Merge from rustc
2025-04-17 17:59:31 +00:00
The Miri Cronjob Bot
edb3aaf655
Preparing for merge from rustc
2025-04-17 17:50:48 +00:00
Ralf Jung
8c9a9a7716
for testing, run the CI job an extra time today
2025-04-17 16:14:19 +02:00
Ralf Jung
9cd4757f59
ci.yml: always create sync PR when there's any difference
2025-04-17 16:14:19 +02:00
Ralf Jung
400214b17e
Merge pull request #4263 from geetanshjuneja/check_shim_abi
...
Replace check_shim with check_shim_abi in unix/foreign_items shims
2025-04-17 06:20:15 +00:00
geetanshjuneja
f3ae022ed6
replaced check_shim with check_shim_abi for env, file, sockets and time related shims
...
Making type consistent in shims
pread return type fix
make clock_gettime shim type consistent
2025-04-17 00:29:09 +05:30
Ralf Jung
6db8e867d2
use std-declared intrinsics rather than copying the declaration
2025-04-16 14:35:52 +02:00
Oli Scherer
f3d913d103
Merge pull request #4260 from CraftSpider/windows-file-delete
...
Implement file deletion on Windows
2025-04-15 12:34:21 +00:00
Matthias Krüger
8587c95bc6
Rollup merge of #139813 - RalfJung:miri-sync, r=RalfJung
...
Miri subtree update
r? `@ghost`
Fixes build failures on macOS
2025-04-14 21:55:41 +02:00
Patrick-6
9f1e27b61e
Expose Pointer to/from AllocId conversion functions, make some arguments optional
2025-04-14 13:40:04 +02:00
Chris Denton
cc9420f3b3
Rollup merge of #139605 - oyvindln:update_miniz_oxide_0_8, r=Mark-Simulacrum
...
update ```miniz_oxide``` to 0.8.8
I would normally let the auto actions handle this but it turns out 0.8.7 can trigger a panic when debug assertions are enabled in a few cases so I feel it's important it gets sorted more quickly. (and I would ideally like to yank that version but was worried that could cause some issues had been pulled in as a dependency by this repo already before I discovered the problem)
As it can only happen when debug assertions are enabled (the overflow results in the intended result so it doesn't cause any issue in release mode) and using the wrapping buffer mode when decompressing it is very unlikely to cause any issues here but I would like to get it sorted just to be safe. ```miniz_oxide``` is used in the standard library (and some tools) via ```backtrace-rs ``` which doesn't use a wrapping buffer, and thus won't trigger this condition. There does however seem like there are some tools that do dependency on ```flate2``` which does use ```miniz_oxide``` decompression using a a wrapping buffer and could in theory trigger it if they are run when compiled with debug assertions enabled.
It's kinda unclear what version what tool uses though as several of them specify older versions of flate2 which depended on ```miniz_oxide``` 0.7.x in cargo.toml, and ```miniz_oxide```, and not all have a cargo.lock and due to an older version of ```backtrace``` being in the root Cargo.lock which still depended on ```miniz_oxide``` 0.7.4, so that version is also pulled in alongside the newer version.
2025-04-13 11:48:17 +00:00
The Miri Cronjob Bot
59a3730169
fmt
2025-04-12 05:08:28 +00:00
The Miri Cronjob Bot
352545f16f
Merge from rustc
2025-04-12 05:07:15 +00:00
The Miri Cronjob Bot
c4620021dc
Preparing for merge from rustc
2025-04-12 05:00:08 +00:00
Rune Tynan
37a34c042d
Implement DeleteFileW
2025-04-11 12:19:43 -07:00
Petros Angelatos
b9e2ac5c7b
sync::mpsc: prevent double free on Drop
...
This PR is fixing a regression introduced by #121646 that can lead to a
double free when dropping the channel.
The details of the bug can be found in the corresponding crossbeam PR
https://github.com/crossbeam-rs/crossbeam/pull/1187
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2025-04-11 15:33:09 +03:00
Petros Angelatos
9eb6a5446a
sync::mpsc: add miri reproducer of double free
...
Signed-off-by: Petros Angelatos <petrosagg@gmail.com>
2025-04-11 15:23:12 +03:00
LorrensP-2158466
49cc860182
fix build fail on macos bacause of libffi-sys 2.3.0; This updates libffi to new major version
2025-04-11 13:56:53 +02:00
bors
81d8c747fb
Auto merge of #139011 - Zoxc:no-rayon-iters, r=oli-obk
...
Remove the use of Rayon iterators
This removes the use of Rayon iterators and the use of the `rustc-rayon` crate. `rustc-rayon-core` is still used however.
In parallel loops, instead of a Rayon iterator a serial iterator are used to collect items into a `Vec` and we use a parallel loop over its elements using the new `par_slice` function which is built on `rustc-rayon-core`'s `join`.
This change makes it easier to bring `rustc-rayon-core` in-tree.
Tests using 7 threads:
<table><tr><td rowspan="2">Benchmark</td><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th></tr><tr><td align="right">Time</td><td align="right">Time</td><td align="right">%</th><td align="right">Physical Memory</td><td align="right">Physical Memory</td><td align="right">%</th><td align="right">Committed Memory</td><td align="right">Committed Memory</td><td align="right">%</th></tr><tr><td>🟣 <b>clap</b>:check</td><td align="right">0.4827s</td><td align="right">0.4828s</td><td align="right"> 0.02%</td><td align="right">201.23 MiB</td><td align="right">201.31 MiB</td><td align="right"> 0.04%</td><td align="right">279.03 MiB</td><td align="right">279.46 MiB</td><td align="right"> 0.15%</td></tr><tr><td>🟣 <b>hyper</b>:check</td><td align="right">0.1443s</td><td align="right">0.1401s</td><td align="right">💚 -2.91%</td><td align="right">126.42 MiB</td><td align="right">126.70 MiB</td><td align="right"> 0.22%</td><td align="right">199.79 MiB</td><td align="right">199.99 MiB</td><td align="right"> 0.10%</td></tr><tr><td>🟣 <b>regex</b>:check</td><td align="right">0.3252s</td><td align="right">0.3065s</td><td align="right">💚 -5.78%</td><td align="right">161.87 MiB</td><td align="right">161.78 MiB</td><td align="right"> -0.05%</td><td align="right">229.59 MiB</td><td align="right">230.23 MiB</td><td align="right"> 0.28%</td></tr><tr><td>🟣 <b>syn</b>:check</td><td align="right">0.5845s</td><td align="right">0.5876s</td><td align="right"> 0.53%</td><td align="right">197.01 MiB</td><td align="right">196.89 MiB</td><td align="right"> -0.06%</td><td align="right">267.62 MiB</td><td align="right">267.47 MiB</td><td align="right"> -0.06%</td></tr><tr><td>Total</td><td align="right">1.5367s</td><td align="right">1.5169s</td><td align="right">💚 -1.29%</td><td align="right">686.53 MiB</td><td align="right">686.68 MiB</td><td align="right"> 0.02%</td><td align="right">976.04 MiB</td><td align="right">977.14 MiB</td><td align="right"> 0.11%</td></tr><tr><td>Summary</td><td align="right">1.0000s</td><td align="right">0.9796s</td><td align="right">💚 -2.04%</td><td align="right">1 byte</td><td align="right">1.00 bytes</td><td align="right"> 0.04%</td><td align="right">1 byte</td><td align="right">1.00 bytes</td><td align="right"> 0.12%</td></tr></table>
<table><tr><td rowspan="2">Benchmark</td><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th></tr><tr><td align="right">Time</td><td align="right">Time</td><td align="right">%</th><td align="right">Physical Memory</td><td align="right">Physical Memory</td><td align="right">%</th><td align="right">Committed Memory</td><td align="right">Committed Memory</td><td align="right">%</th></tr><tr><td>🟠 <b>clap</b>:debug</td><td align="right">1.6371s</td><td align="right">1.6529s</td><td align="right"> 0.96%</td><td align="right">395.58 MiB</td><td align="right">396.21 MiB</td><td align="right"> 0.16%</td><td align="right">460.98 MiB</td><td align="right">461.52 MiB</td><td align="right"> 0.12%</td></tr><tr><td>🟠 <b>hyper</b>:debug</td><td align="right">0.3248s</td><td align="right">0.3210s</td><td align="right">💚 -1.16%</td><td align="right">155.16 MiB</td><td align="right">155.19 MiB</td><td align="right"> 0.02%</td><td align="right">219.21 MiB</td><td align="right">219.30 MiB</td><td align="right"> 0.04%</td></tr><tr><td>🟠 <b>regex</b>:debug</td><td align="right">1.0148s</td><td align="right">0.9929s</td><td align="right">💚 -2.16%</td><td align="right">297.96 MiB</td><td align="right">295.07 MiB</td><td align="right"> -0.97%</td><td align="right">354.53 MiB</td><td align="right">351.58 MiB</td><td align="right"> -0.83%</td></tr><tr><td>🟠 <b>syn</b>:debug</td><td align="right">1.3614s</td><td align="right">1.3717s</td><td align="right"> 0.76%</td><td align="right">319.10 MiB</td><td align="right">321.19 MiB</td><td align="right"> 0.65%</td><td align="right">378.90 MiB</td><td align="right">381.27 MiB</td><td align="right"> 0.62%</td></tr><tr><td>Total</td><td align="right">4.3381s</td><td align="right">4.3386s</td><td align="right"> 0.01%</td><td align="right">1.14 GiB</td><td align="right">1.14 GiB</td><td align="right"> -0.01%</td><td align="right">1.38 GiB</td><td align="right">1.38 GiB</td><td align="right"> 0.00%</td></tr><tr><td>Summary</td><td align="right">1.0000s</td><td align="right">0.9960s</td><td align="right"> -0.40%</td><td align="right">1 byte</td><td align="right">1.00 bytes</td><td align="right"> -0.03%</td><td align="right">1 byte</td><td align="right">1.00 bytes</td><td align="right"> -0.01%</td></tr></table>
2025-04-11 07:34:27 +00:00
bors
0fe8f3454d
Auto merge of #137412 - scottmcm:redo-swap, r=cuviper
...
Ensure `swap_nonoverlapping` is really always untyped
This replaces #134954 , which was arguably overcomplicated.
## Fixes #134713
Actually using the type passed to `ptr::swap_nonoverlapping` for anything other than its size + align turns out to not work, so this goes back to always erasing the types down to just bytes.
(Except in `const`, which keeps doing the same thing as before to preserve `@RalfJung's` fix from #134689 )
## Fixes #134946
I'd previously moved the swapping to use auto-vectorization *on bytes*, but someone pointed out on Discord that the tail loop handling from that left a whole bunch of byte-by-byte swapping around. This goes back to manual tail handling to avoid that, then still triggers auto-vectorization on pointer-width values. (So you'll see `<4 x i64>` on `x86-64-v3` for example.)
2025-04-10 20:19:11 +00:00
John Kåre Alsaker
02f10d9bfe
Remove the use of Rayon iterators
2025-04-10 22:05:06 +02:00
Ralf Jung
72841001f1
Merge pull request #4261 from CraftSpider/windows-rtl-to-dos
...
Implement RtlNtStatusToDosError and shim test for it
2025-04-10 18:58:38 +00:00
Rune Tynan
f243cb8861
Implement RtlNtStatusToDosError and shim test for it
2025-04-10 11:29:16 -07:00
dependabot[bot]
2d37173c23
Bump crossbeam-channel from 0.5.14 to 0.5.15
...
Bumps [crossbeam-channel](https://github.com/crossbeam-rs/crossbeam ) from 0.5.14 to 0.5.15.
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases )
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-channel-0.5.14...crossbeam-channel-0.5.15 )
---
updated-dependencies:
- dependency-name: crossbeam-channel
dependency-version: 0.5.15
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-04-10 14:46:39 +00:00
Ralf Jung
5cda2a9b4b
run all 'thread' tests on FreeBSD, and also on 32bit
2025-04-10 15:45:32 +02:00
Ralf Jung
830c58be89
Preparing for merge from rustc
2025-04-10 14:24:14 +02:00
Ralf Jung
7da4440012
Merge pull request #4262 from RalfJung/win-path
...
path: add more Windows tests
2025-04-10 11:12:21 +00:00
Ralf Jung
dc3843b70e
make GetFullPathNameW more correct on non-Windows hosts
2025-04-10 12:48:00 +02:00
Ralf Jung
fb30824850
Merge pull request #4209 from LorrensP-2158466/freebsd_futex
...
Implement FreeBSD syscall _umtx_op for futex support
2025-04-10 09:04:44 +00:00
LorrensP-2158466
88a82be263
feature: implement WAIT & WAKE operations of FreeBSD _umtx_op syscall for Futex support
2025-04-10 10:30:02 +02:00
Ralf Jung
726e33f0e3
path: add more Windows tests
2025-04-10 08:40:22 +02:00
oyvindln
77116881a8
update miniz_oxide to 0.8.8
...
0.8.7 can trigger a panic when debug assertions are enabled when used via flate2 in some cases
2025-04-10 00:30:53 +02:00
Urgau
57c2a021a4
triagebot: enable [canonicalize-issue-links] and [no-mentions]
2025-04-09 20:29:19 +02:00
Scott McMurray
b06a88ff61
Add a Miri test for 134713
2025-04-09 09:09:37 -07:00
Ralf Jung
6c619bb9ee
Merge pull request #4067 from CraftSpider/windows-metadata
...
Support getting file metadata on Windows
2025-04-09 06:17:18 +00:00
Rune Tynan
209ce59195
Implement trivial file operations - opening and closing handles. Just enough to get file metadata.
2025-04-08 21:11:58 -07:00
Ralf Jung
e160d93e60
test_dependencies: bump tokio
2025-04-08 10:07:38 +02:00
Ralf Jung
0da46d1065
targest → targets (spotted as I had the same typo)
2025-04-07 17:00:28 +02:00
Ralf Jung
6ac0120a60
reduce the error tolerance to match algebraic and fast-math operations
2025-04-07 08:54:18 +02:00
Ralf Jung
4c5babdab5
big-allocs benchmark: use up less of the address space on 32bit
2025-04-07 08:45:27 +02:00
The Miri Cronjob Bot
2eb7791a1b
Merge from rustc
2025-04-07 05:24:10 +00:00