Closed Bug 1993904 Opened 1 month ago Closed 1 month ago

Crash in [@ nsLocalFile::MoveOrCopyAsSingleFileOrDir]

Categories

(Core :: XPCOM, defect)

Unspecified
Windows
defect

Tracking

()

RESOLVED FIXED
146 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr140 --- unaffected
firefox144 --- unaffected
firefox145 --- fixed
firefox146 --- fixed

People

(Reporter: gsvelto, Assigned: yannis)

References

(Regression)

Details

(Keywords: crash, regression)

Crash Data

Attachments

(2 files)

Crash report: https://crash-stats.mozilla.org/report/index/b57aead6-569c-49e3-895e-19d5e0251012

MOZ_CRASH Reason:

MOZ_CRASH(NS_SUCCEEDED(IsDirectory(&isDir)))

Top 10 frames:

0  xul.dll  nsLocalFile::MoveOrCopyAsSingleFileOrDir(nsIFile*, nsTSubstring<char16_t> con...  xpcom/io/nsLocalFileWin.cpp:1872
1  xul.dll  nsLocalFile::RenameTo(nsIFile*, nsTSubstring<char16_t> const&)  xpcom/io/nsLocalFileWin.cpp:2317
2  xul.dll  nsLocalFile::RenameToNative(nsIFile*, nsTSubstring<char> const&)  xpcom/io/nsLocalFileWin.cpp:2326
3  xul.dll  mozilla::net::CacheFileIOManager::SyncRemoveAllCacheFiles::<lambda_8>::operat...  netwerk/cache2/CacheFileIOManager.cpp:4484
3  xul.dll  mozilla::net::CacheFileIOManager::SyncRemoveAllCacheFiles()  netwerk/cache2/CacheFileIOManager.cpp:4456
4  xul.dll  mozilla::net::CacheFileIOManager::Shutdown()  netwerk/cache2/CacheFileIOManager.cpp:1322
5  xul.dll  mozilla::net::CacheObserver::Observe(nsISupports*, char const*, char16_t const*)  netwerk/cache2/CacheObserver.cpp:225
6  xul.dll  nsObserverList::NotifyObservers(nsISupports*, char const*, char16_t const*)  xpcom/ds/nsObserverList.cpp:71
6  xul.dll  nsObserverService::NotifyObservers(nsISupports*, char const*, char16_t const*)  xpcom/ds/nsObserverService.cpp:288
7  xul.dll  mozilla::AppShutdown::AdvanceShutdownPhaseInternal(mozilla::ShutdownPhase, bo...  xpcom/base/AppShutdown.cpp:442

From what I can tell this appears to be regression introduced by the changes in bug 1978495. The crashes are only happening on Windows at the moment even though this does not appear to be a Windows-specific issue, at least on the surface.

Flags: needinfo?(rjesup)

Set release status flags based on info from the regressing bug 1978495

This assertion is a windows-only assertion added by yannis recently, in bug 1980886, which landed the day before the crashes started.

Flags: needinfo?(rjesup) → needinfo?(yjuglaret)
Regressed by: 1980886
No longer regressed by: 1978495

(In reply to Randell Jesup [:jesup] (needinfo me) from comment #2)

This assertion is a windows-only assertion added by yannis recently, in bug 1980886, which landed the day before the crashes started.

I’ll change the component to match Bug 1980886.

Component: Networking: Cache → XPCOM
Assignee: nobody → yjuglaret
Flags: needinfo?(yjuglaret)

We provide an alternate path if we can't determine whether the file we
are copying or moving is or isn't a directory. This information is only
required to potentially avoid a slow path, so in case we can't get it we
just continue with the copy/move operation and then unconditionally take
the slow path.

Status: NEW → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 146 Branch

We provide an alternate path if we can't determine whether the file we
are copying or moving is or isn't a directory. This information is only
required to potentially avoid a slow path, so in case we can't get it we
just continue with the copy/move operation and then unconditionally take
the slow path.

Original Revision: https://phabricator.services.mozilla.com/D268845

Attachment #9520683 - Flags: approval-mozilla-beta?

firefox-beta Uplift Approval Request

  • User impact if declined: Crashes in early beta builds, then potential incorrect behavior in late beta and release builds (in particular, downloaded files may get incorrect permissions like described in bug 1980886).
  • Code covered by automated testing: yes
  • Fix verified in Nightly: no
  • Needs manual QE test: no
  • Steps to reproduce for manual QE testing:
  • Risk associated with taking this patch: low
  • Explanation of risk level: The patch only changes the bad code path, replacing a nigthly+early beta assertion by proper handling of the underlying failure. The normal code path is unchanged by this patch.
  • String changes made/needed: No
  • Is Android affected?: no
Attachment #9520683 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: