Skip to content

std::fs::remove_dir_all occasionally panics on Windows with assertion failed: info.is_aligned() #104530

Closed
@badboy

Description

@badboy

remove_dir_all panics on some Windows version when calling std::fs::remove_dir_all due to a newly introduced assert!.

This code:

std::fs::remove_dir_all(&pings_dir)?;

I expected to see this happen: It removes everything or reports an error.

Instead, this happened: It panics with assertion failed: info.is_aligned().

Meta

$ rustc --version
rustc 1.65.0 (897e37553 2022-11-02)

(Crashes on Windows, but we're just using upstream 1.65.0 there).

Full Firefox crash report: https://crash-stats.mozilla.org/report/index/02651884-5b3a-488e-9a43-994b80221106
Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1799442

Last commit that changed that: c41f21b
PR: #101171
File: https://github.com/rust-lang/rust/blob/master/library/std/src/sys/windows/fs.rs#L737-L739

We saw that on 3 Windows 10 versions: 10.0.18362, 10.0.18363 and 10.0.19044.
Though I haven't checked the latest crashes, it might be more now.

cc @thomcc

Metadata

Metadata

Assignees

Labels

C-bugCategory: This is a bug.O-windowsOperating system: WindowsT-libsRelevant to the library team, which will review and decide on the PR/issue.regression-from-stable-to-stablePerformance or correctness regression from one stable version to another.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions