Skip to content

SQL Server Reporting Services (SSRS) projects (.rptproj) are now consistently hanging after the Microsoft-hosted windows-2022 image was upgraded to version - 20251125.125.1 #13398

@gangadharunisys

Description

@gangadharunisys

Description

1. Summary and Environment Details

Our Azure DevOps pipeline builds for SQL Server Reporting Services (SSRS) projects (.rptproj) are now consistently hanging until the task timeout is reached. This behavior started immediately after the Microsoft-hosted windows-2022 image was updated, specifically upgrading Visual Studio from 17.14.19 to 17.14.21 (November 2025).

The core issue appears to be an unclean process termination or deadlock within devenv.com after the build has successfully completed, causing the ADO task to wait indefinitely.

Details of the Microsoft Hosted Agent
Agent Image : windows-2022
Previous Working VS Version : 17.14.19 (windows-2022)
Current Failing VS Version : 17.14.21 (The version that introduced the hang)
Affected Project Type : SSRS Project (.rptproj)
Execution Path: C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.com

2. Command and Failure Log

The failure occurs during the execution of the devenv.com command, which is necessary to build the SSRS project files.

Command Executed:
“C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.com” “Solution Path” /Build “release” /Log “Path of the IDELog.xml” /Out “Path of the BuildLog.log”

Final Log Steps from ADO Pipeline Task (Crucial Evidence):

========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Build completed at 3:55 PM and took 01.103 seconds ==========
##[error]The Operation will be canceled. The next steps may not contain expected logs.
Terminate batch job (Y/N)?
Build with DevEnv failed - see logs in build agent binaries path
##[error]The operation was canceled.

3. Observed Failure Mode
The log output clearly shows that the build itself was successful (“Build: 1 succeeded,” “Build completed”).

Expected Behavior: The devenv.com process successfully builds the .rptproj files, cleanly exits, and returns control to the Azure Pipelines agent, allowing the next task to run.

Actual Behavior: After the successful build completion message, the devenv.com process enters an unresponsive state (hangs), consuming minimal resources but failing to exit.

The process continues running until the entire ADO task hits its maximum execution time (e.g., 60 minutes) and is forcefully canceled by the agent.

This strongly indicates a regression/bug in the process cleanup or exit handler of the VS 17.14.21 devenv.com environment when dealing with SSRS projects built via the command line.

4. Request for Assistance

We urgently request that the team responsible for the Visual Studio 2022 v17.14.21 build tools investigate the integration of the Microsoft Reporting Services Projects component to identify this hang condition within the process exit path.

Your investigation and assistance on this issue would be greatly appreciated, as we are currently blocked from building our SSRS projects and deploying updates.

Please let me know if any additional details, logs, or diagnostic steps are required to help resolve this regression in the hosted agent image.

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 22.04
  • Ubuntu 24.04
  • Ubuntu Slim
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • macOS 26 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Image version and build link

Current Failing Image Version : 20251125.125.1
Previous Working Image Version : 20251102.87.1

Is it regression?

The issue is consistent and non-intermittent across all pipeline runs on the affected agent image to build SSRS project

Expected behavior

The devenv.com process successfully builds the .rptproj files, cleanly exits, and returns control to the Azure Pipelines agent, allowing the next task to run.

Actual behavior

After the successful build completion message, the devenv.com process enters an unresponsive state (hangs), consuming minimal resources but failing to exit.
The process continues running until the entire ADO task hits its maximum execution time (e.g., 60 minutes) and is forcefully canceled by the agent.

Repro steps

1. Azure DevOps Environment:

Access an Azure DevOps organization with a pipeline defined.

SSRS Project: Have a repository containing a valid, runnable SQL Server Reporting Services project (.rptproj file) within a Visual Studio solution (.sln).

Target Agent Version: Configure the pipeline YAML to explicitly target the failing image version where the regression began (if known) or the current latest windows-2022 image.
Image Version: 20251125.125.1

YAML Configuration: (Use the standard image name, as the failure occurs on the currently provisioned latest version.)

Task Type: Ensure the task running the build is a Command Line, PowerShell, or Batch Script task, as the failure occurs when calling devenv.com directly.

2. Execution Command

Run the following exact command line sequence, which successfully compiles the project but triggers the post-build process hang:
Locate devenv.com: Use the standard path available on the hosted agent.
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\devenv.com
Execute Build: Execute the build command against the solution file, including the necessary /Build and logging flags.

Observed Behavior (The Hang)

Successful Compilation: Observe the pipeline log output. The log will successfully print the completion messages:

========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
========== Build completed at [Time] and took [X] seconds ==========

Process Stall/Hang: Immediately following the successful "Build completed" message, the pipeline task will stall.

CPU/Resource Usage: Confirm that the devenv.com process (or a related child process) remains active on the agent, consuming minimal CPU  resources, but does not exit.

Task Timeout: The task will remain in the Running state until it hits the configured task timeout limit (e.g., 60 minutes), at which point the Azure DevOps agent forces a termination. The task eventually fails.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions