Details
-
Bug
-
Resolution: Fixed
-
Critical
Description
reactos-bootcd-0.4.13-dev-1072-geaf24cc-x86-gcc-lin-dbg
1. Install ReactOS on a Btrfs partition.
2. Open Drive C properties.
3. Click 'Btrfs > Devices... > Add devices...'.
3r. Crash.
ReactOS includes ShellBtrfs v1.1 currently.
Reproduced with upstream v1.4 binaries (driver and shellext).
Plus, same crash clicking new 'Btrfs > Change drive letter...'.
I don't know whether ShellBtrfs is somewhat a culprit or a trigger only.
–
(ntoskrnl/mm/mmfault.c:122) Page fault at high IRQL was 2, address 19
|
[7h
|
Entered debugger on last-chance exception (Exception Code: 0xc0000006) (Unknown/User defined exception)
|
kdb:> bt
|
Eip:
|
* <mountmgr.sys:b016 (drivers/filters/mountmgr/mountmgr.c:1743 (MountMgrCleanup))>
|
Frames:
|
* <ntoskrnl.exe:72750 (ntoskrnl/io/iomgr/irp.c:1286 (IofCallDriver))>
|
Couldn't access memory at 0xFCC93BD8!
|
NB: first-chance crashes at the same place.
–
https://git.reactos.org/?p=reactos.git;a=blob;f=drivers/filters/mountmgr/mountmgr.c;hb=HEAD#l1737
1710 MountMgrCleanup(IN PDEVICE_OBJECT DeviceObject,
|
...
|
1738 /* Otherwise, cancel all the IRPs */ |
1739 NextEntry = &(DeviceExtension->IrpListHead);
|
1740 do |
1741 {
|
1742 ListIrp = CONTAINING_RECORD(NextEntry, IRP, Tail.Overlay.ListEntry);
|
1743 if (IoGetCurrentIrpStackLocation(ListIrp)->FileObject == FileObject) |
1744 {
|
1745 ListIrp->Cancel = TRUE;
|
1746 ListIrp->CancelIrql = OldIrql;
|
1747 ListIrp->CancelRoutine = NULL;
|
1748 MountMgrCancel(DeviceObject, ListIrp);
|
1749
|
1750 IoAcquireCancelSpinLock(&OldIrql);
|
1751 }
|
1752
|
1753 NextEntry = NextEntry->Flink;
|
1754 }
|
1755 while (NextEntry != &(DeviceExtension->IrpListHead)); |