QL-Win / QL-Win/QuickLook

BSOD: SYSTEM_SERVICE_EXCEPTION (3b) triggered by file preview via QuickLook.exe on Win11 24H2

Open
#1,977 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
24.7k
Forks
1.3k
Avg merge
4d 7h
Merged PRs (30d)
1

Description

Describe the bug
QuickLook v4.5.0 (UWP) triggered a full system crash (BSOD) with SYSTEM_SERVICE_EXCEPTION (3b) while reading a file via the Fast I/O path. The crash occurred inside the Windows kernel at nt!ExpAcquireResourceSharedLite, where the CPU encountered an illegal instruction ( STATUS_ILLEGAL_INSTRUCTION, 0xC000001D). The debugger flagged IP_IN_PAGED_CODE, indicating the kernel code page at the crash site was either corrupted or unexpectedly paged out. The call stack shows the crash originated from QuickLook's file read operation going through the Filter Manager (FLTMGR) Fast I/O read path, ultimately causing a kernel-mode resource acquisition failure that brought down the entire system.

To Reproduce
This appears to be a difficult-to-reproduce timing- or state-dependent kernel crash, not a simple UI action. The crash occurred after the system had been running for 8 days 17 hours. Based on the call stack, the trigger path is:

  1. Have QuickLook running (likely in the background, previewing files).
  2. QuickLook attempts to read a file via NtReadFile → Fast I/O path through the Filter Manager (FLTMGR!FltpFastIoRead).
  3. The kernel enters FsRtlCopyRead → ExAcquireResourceSharedLite → ExpAcquireResourceSharedLite where the BSOD occurs.

Note: I was unable to reproduce on demand; the crash seems to require prolonged system uptime or interaction with a specific file-system filter driver.

Expected behavior
QuickLook should never cause a kernel-mode crash. File read operations invoked by a user-mode application should fail gracefully (returning an error to the calling process) rather than triggering a bugcheck that halts the entire OS.

Desktop (please complete the following information):

  • OS Version: Windows 11 24H2 (Kernel 10.0.26100.8894, x64)
  • QuickLook Version: 4.5.0 (UWP from Microsoft Store)

Screenshots and Exception Log

Kernel dump analysis (!analyze -v) summary:

SYSTEM_SERVICE_EXCEPTION (3b)
An exception happened while executing a system service routine.

Arg1: 00000000c000001d ← STATUS_ILLEGAL_INSTRUCTION
Arg2: fffff800ed321912 ← nt!ExpAcquireResourceSharedLite+0x132
Arg3: ffff8080ae6e48f0
Arg4: 0000000000000000

FAILURE_BUCKET_ID: 0x3B_C000001D_nt!ExpAcquireResourceSharedLite
PROCESS_NAME: QuickLook.exe
IP_IN_PAGED_CODE: nt!ExpAcquireResourceSharedLite+0x132

Call stack (bottom to top):
nt!KiSystemServiceCopyEnd
nt!NtReadFile
nt!IopReadFile
FLTMGR!FltpFastIoRead
FLTMGR!FltpPassThroughFastIo
FLTMGR!FltpPerformFastIoCall
nt!FsRtlCopyRead
nt!ExAcquireResourceSharedLite
nt!ExpAcquireResourceSharedLite ← CRASH (illegal instruction)

Full dump file (080526-32734-01.dmp) and complete analysis log are available on request.

080526-32734-01.dmp

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the attached dump 080526-32734-01.dmp and its !analyze -v output, then trace the QuickLook.exe file-read path through NtReadFile and the Filter Manager fast I/O calls listed in the issue. The issue is complete when the cause of the kernel crash is identified and a reliable fix or narrowly scoped diagnostic path is established.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.