Skip to content

Continuous hv_storvsc READ_10 errors on WSL 2.7.12 cause systemd boot timeouts #41482

Closed

Description

Windows Version

Microsoft Windows 11 Enterprise 10.0.26200.9106

WSL Version

2.7.12.0

Are you using WSL 1 or WSL 2?

  • WSL 2
  • WSL 1

Kernel Version

6.18.33.2-2

Distro Version

Ubuntu 24.04 LTS

Other Software

Microsoft Defender for Endpoint
Microsoft Intune managed device
BitLocker
Podman using WSL 2
Visual Studio Code with the WSL extension

Repro Steps

  1. Shut down WSL: powershell: wsl.exe --shutdown
  2. Start Ubuntu-24.04: wsl.exe -d Ubuntu-24.04 -- systemctl is-system-running
  3. Record current error count: wsl.exe -d Ubuntu-24.04 -u root -- sh -c "dmesg | grep -c hv_storvsc"
  4. Generate filesystem read (in separate powershell): wsl.exe -d Ubuntu-24.04 -- sh -c "find /usr -maxdepth 4 -type f -readable -exec head -c 1 {} ; >/dev/null 2>&1"
  5. Count errors again: wsl.exe -d Ubuntu-24.04 -u root -- sh -c "dmesg | grep -c hv_storvsc"
    -->The count increased from 221 to 381 during on short file system scan.

Expected Behavior

Ubuntu starts normally, systemd completes initialization, and filesystem reads do not produce continuous hv_storvsc SCSI READ_10 errors.

Actual Behavior

The kernel continuously emits errors of this form: hv_storvsc fd1d2cbd-ce7c-535c-966b-eb5f811c95f0: tag#542 cmd 0x28 status: scsi 0x2 srb 0x4 host 0xc0000001

Initially, systemd did not complete its boot process:
WSL (2 - init-systemd(Ubuntu-24.04)) ERROR:
WaitForBootProcess:3488: /sbin/init failed to start within 10000ms
WSL (2 - Interop) ERROR:
CreateLoginSession:2758: Timed out waiting for user session
Failed to connect to bus: No such file or directory

Disabling cloud-init using /etc/cloud/cloud-init.disabled allowed both the system and user systemd instances to reach running.

However, the hv_storvsc READ_10 errors continue and increase during filesystem reads.

Diagnostic Logs

Possibly related to #9173. A storage trace was captured using the official WSL diagnostics script: collect-wsl-logs.ps1 -LogProfile storage
The resulting archive contains identifiable Windows user paths, a device name, and organization information. It is therefore not attached to this public issue.
I can provide the original trace to the WSL team through a non-public, Microsoft-approved transfer channel upon request.

Activity

  1. github-actions commented on Aug 30, 2026

    @github-actions
    Contributor

    Logs are required for review from WSL team

    If this a feature request, please reply with '/feature'. If this is a question, reply with '/question'.
    Otherwise, please attach logs by following the instructions below, your issue will not be reviewed unless they are added. These logs will help us understand what is going on in your machine.

    How to collect WSL logs

    Download and execute collect-wsl-logs.ps1 in an administrative powershell prompt:

    Invoke-WebRequest -UseBasicParsing "https://raw.githubusercontent.com/microsoft/WSL/master/diagnostics/collect-wsl-logs.ps1" -OutFile collect-wsl-logs.ps1
    Set-ExecutionPolicy Bypass -Scope Process -Force
    .\collect-wsl-logs.ps1
    

    The script will output the path of the log file once done.

    If this is a networking issue, please use .\collect-wsl-logs.ps1 -LogProfile networking instead, following the instructions in Collect WSL logs for networking issues

    Once completed please upload the output files to this GitHub issue.

    See Collect WSL logs (recommended method).

    If you choose to email these logs instead of attaching them to the bug, please send them to [email protected] with the GitHub issue number in the subject, and include a link to your GitHub issue comment in the message body, and reply with '/emailed-logs'.

  2. bremerv commented on Aug 30, 2026

    @bremerv
    Author

    Attached is the requested WSL storage trace collected with:
    powershell: collect-wsl-logs.ps1 -LogProfile storage

    For privacy reasons, identifiable values in text-based files were replaced: Windows user name, device name, organization name
    The binary logs.etl storage trace was not modified.

    WslLogs-2026-08-30_13-41-12-redacted.tar.gz

  3. github-actions commented on Aug 30, 2026

    @github-actions
    Contributor
    Diagnostic information
    .wslconfig found
    Detected appx version: 2.7.12.0
    
  4. chemwolf6922 commented on Aug 31, 2026

    @chemwolf6922
    Contributor

    Hi Volker Bremer (@bremerv) .
    This seems to be an issue with the swap.vhdx. The exact cause is not clear yet. But you could try disable swap in the .wslconfig file with:

    [wsl2]
    swap=0
    

    Then wsl --shutdown and check if the problem persists.

  5. bremerv commented on Aug 31, 2026

    @bremerv
    Author

    Hi Feng Wang (@chemwolf6922),

    Thank you. Disabling WSL swap with "swap=0" resolved the issue.

    After wsl.exe --shutdown, swapon --show returned no active swap device as expected.
    I cleared the kernel log and repeated the filesystem read test. No new hv_storvsc READ_10 errors were generated (result with wsl.exe -d Ubuntu-24.04 -u root -- sh -c "dmesg | grep -c hv_storvsc" returned 0 before an after some file system reads).
    System and user systemd sessions both remain in the running state.

  6. tnielens commented on Sep 28, 2026

    @tnielens

    I did face the same issues after an upgrade to windows 11 with Fedora 44

    WaitForBootProcess: ... : /sbin/init failed to start within 10000ms
    WSL (2 - Interop) ERROR:
    CreateLoginSession: ... : Timed out waiting for user session
    hv_storvsc fd1d2cbd-ce7c-535c-966b-eb5f811c95f0: tag#1862 cmd 0x28 status: scsi 0x2 srb 0x4 host 0xc0000001
    

    Disabling the swap resolved the issue as well for me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions