Hi P.M,
The crash loop you are encountering is a deterministic code defect in MARS agent version 2.0.9506.0. The 0xc0000409 exception code translates to a STATUS_STACK_BUFFER_OVERRUN, meaning the Universal C Runtime's security checks intercepted a stack corruption attempt and intentionally killed cbengine.exe to protect the system. Because your System State backups succeed and the analysis confirms the crash persists even after purging the local scratch folder, the agent is failing during a highly specific operational phase. The mention of dscontext state 18 indicates the engine is struggling with VHD extension, meaning it is likely choking on a specific underlying storage quirk or an edge-case file path during the initial metadata compilation before the actual data transfer begins.
Before modifying your backup policies, verify that the drive hosting your scratch folder, typically defined in the registry at HKLM\SOFTWARE\Microsoft\Windows Azure Backup\Config\ScratchLocation, is formatted as standard NTFS, has at least ten percent free space, and is not heavily fragmented. Sometimes, storage API timeouts during VHD allocation can trigger unhandled exceptions in the backup engine. If the storage environment is perfectly healthy, isolating the problematic directory through trial and error remains your only self-service mitigation until a new binary is released.
To actually get this resolved, you must escalate the issue to Azure Support to request a private hotfix, but you need to provide them with actionable engineering data. The ETW telemetry flood showing buffer filled events is just benign diagnostic noise and will not help their developers. Instead, you need to force Windows to capture a full user-mode memory dump. You can do this by navigating to HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps in the Registry Editor, creating a new key named cbengine.exe, and creating a DWORD value inside it named DumpType set to 2. Run the backup manually to reproduce the crash, and Windows will automatically generate a .dmp file. Provide that dump file along with the exact faulting offset at 0x6d288 to the support team so they can pinpoint the unhandled variable and patch the executable.
Hope this answer brought you some useful information. If it did, please hit “accept answer”. Should you have any questions, feel free to leave a comment.
VP