# Bug Report: OOM Error in Cursor Internal Browser
## Problem Description
When attempting to use Cursor’s internal browser to select screen areas/elements, an Out of Memory (OOM) error with code `-536870904` is generated **immediately** upon failure of the selection attempt. The error occurs specifically when trying to select an area of the screen in the internal browser, and if the selection fails for any reason, Cursor immediately crashes with the OOM error.
**Critical Behavior**: Every time the browser is opened in Cursor and an attempt is made to select a screen area, if that selection fails, the error occurs immediately in Cursor. This is a consistent, reproducible issue.
## Steps to Reproduce
1. Open Cursor IDE
2. Activate the internal browser (MCP browser extension)
3. Navigate to any URL
4. Attempt to select a screen area/element using the selection functionality
5. **If the selection fails** (for any reason), **immediately** the OOM error occurs
6. **Result**: OOM error with code `-536870904` crashes Cursor immediately
**Note**: The error is triggered immediately upon selection failure, not during the selection attempt itself.
## System Information
### Operating System
- **Name**: Microsoft Windows 11 Home
- **Version**: 10.0.26100
- **Build**: 26100
- **Architecture**: 64-bit ARM Processor
- **System Type**: ARM64
- **Processor Architecture**: ARM (ARM64)
**Important Note**: This system is running on **Windows ARM** (ARM64 architecture) with a Snapdragon X Elite processor. There may be compatibility issues or ARM-specific memory handling problems in the browser extension that could contribute to this error. The error behavior is consistent and reproducible on this ARM-based Windows system.
### RAM Memory
- **Total**: 31.57 GB
- **Free**: 18.73 GB (59.33%)
- **Used**: 12.84 GB (40.67%)
**Note**: The system has sufficient RAM available, so the OOM error does not appear to be related to lack of system resources.
### Cursor Information
- **Version**: 2.0.77
- **Installation Path**: `C:\Program Files\cursor\Cursor.exe`
- **Active Processes**: 13 processes
- **Total Working Set Memory**: 2,692.49 MB (~2.69 GB)
- **Total Private Memory**: 2,080.59 MB (~2.08 GB)
- **Total Virtual Memory**: 41,644,001.71 MB (~39.7 TB - likely includes shared memory mappings)
#### Detailed Process Memory Breakdown
The following shows memory usage per Cursor process at the time of error:
| PID | Working Set (MB) | Private Memory (MB) | CPU Time (s) | Description |
|-----|------------------|---------------------|--------------|-------------|
| 26784 | 602.75 | 553.07 | 302.19 | Main process (highest memory usage) |
| 27744 | 326.55 | 317.64 | 127.92 | Secondary process |
| 5728 | 434.71 | 368.52 | 11.25 | Process |
| 3020 | 299.98 | 263.80 | 34.16 | Process |
| 25652 | 202.70 | 133.76 | 28.92 | Process |
| 24192 | 120.02 | 83.74 | 2.73 | Process |
| 15468 | 128.38 | 98.68 | 3.75 | Process |
| 12780 | 137.33 | 108.13 | 1.55 | Process |
| 14960 | 128.53 | 59.20 | 0.56 | Process |
| 24196 | 101.24 | 31.52 | 0.27 | Process |
| 11528 | 56.44 | 13.90 | 0.34 | Process |
| 23584 | 113.46 | 37.27 | 0.28 | Process |
| 28276 | 40.40 | 11.36 | 0.06 | Process |
**Note**: The largest process (PID 26784) uses 602.75 MB, which is reasonable. The OOM error occurs despite having ample system memory available.
### Enabled Extensions
The following extensions are installed and enabled in Cursor:
1. **Angular Language Service** (`ng-template`)
-
Publisher: Angular
-
Version: 20.3.0
2. **PowerShell** (`powershell`)
-
Publisher: ms-vscode
-
Version: 2025.2.0
**Total Extensions**: 2
**Note**: The MCP browser extension (used for the internal browser functionality) is a built-in feature and not listed as a separate extension.
## Error Details
- **Error Type**: OOM (Out of Memory)
- **Error Code**: `-536870904`
- **Context**: Cursor internal browser when attempting to select screen elements
- **Full Error Message**: `cursor ide fails, reason oom code: -536870904`
## Expected Behavior
The internal browser should allow selecting screen elements without generating memory errors, especially when the system has sufficient RAM available.
## Actual Behavior
**Critical Issue**: Every time the browser is opened in Cursor and an attempt is made to select a screen area, if that selection fails, Cursor immediately crashes with an OOM error. The error occurs instantly upon selection failure, generating an OOM error even with 18.73 GB of free RAM available.
**Timing**: The error is immediate - there is no delay between the failed selection attempt and the OOM error. This suggests the error handling or cleanup code in the selection functionality may be the source of the memory issue.
## Additional Information
- **Critical Behavior**: Every time the browser is opened in Cursor and an attempt is made to select a screen area, if that selection fails, the error occurs **immediately** in Cursor
- The error occurs consistently every time the selection functionality fails
- The error is **immediate** - there is no delay between selection failure and the OOM error
- Does not appear to be related to specific web page content
- System has sufficient resources (59% free RAM)
- Multiple Cursor processes are running (13 processes), but total memory usage is reasonable (~2.69 GB)
- **System Architecture**: Running on **Windows ARM** (ARM64) - this may be a contributing factor if there are ARM-specific memory handling issues in the browser extension
## Possible Causes
1. **Bug in internal browser extension**: There may be a memory management issue in the MCP browser extension, particularly in error handling when selection fails
2. **Process memory limit**: The internal browser process may have an incorrectly configured memory limit
3. **Memory leak in error handling**: The immediate nature of the error suggests that when selection fails, the error handling or cleanup code may be allocating excessive memory or failing to properly release resources
4. **ARM64 compatibility issue**: Since this is occurring on Windows ARM (ARM64), there may be architecture-specific memory handling problems or incompatibilities in the browser extension
5. **Immediate memory allocation on failure**: The selection failure may trigger an immediate, large memory allocation that exceeds available process memory limits
## Attempted Solutions
- Restarting Cursor (does not resolve the issue)
- Closing other internal browser tabs (does not resolve the issue)
- Verifying available memory (confirmed sufficient RAM is available)
## Priority
**Medium-High**: The internal browser is a useful feature for development, but the error prevents its effective use.
## Hardware Information
### CPU
- **Processor**: Snapdragon(R) X Elite - X1E78100 - Qualcomm(R) Oryon™ CPU
- **Cores**: 12
- **Logical Processors**: 12
- **Max Clock Speed**: 3,417 MHz
### GPU
- **Graphics Card**: Qualcomm(R) Adreno™ X1-85 GPU
- **Driver Version**: 31.0.112.0
- **Adapter RAM**: Shared system memory
### Node.js
- **Version**: v20.19.0
## Browser-Related Processes
At the time of the error, the following browser processes were running (potentially related to Cursor’s internal browser or other applications):
- **Chrome processes**: 30+ processes using ~1,400 MB total
- **Edge/EdgeWebView2 processes**: 20+ processes using ~530 MB total
- **Total browser-related memory**: ~1,930.63 MB
**Note**: These browser processes may be related to Cursor’s internal browser implementation or other system applications. The high number of browser processes could potentially contribute to memory pressure, though system RAM is still sufficient.
## Environment Details
- **Report Date**: 2025-11-19 10:08:21
- **Cursor Version**: 2.0.77
- **Operating System**: Windows 11 Home (ARM64)
- **System Architecture**: ARM64 (64-bit ARM Processor)
- **Free Memory Percentage**: 57.89%
- **Available Virtual Memory**: 30.94 MB
## Additional Context
The error occurs on a system with ample resources:
- 31.57 GB total RAM
- 18.73 GB free RAM (59.33% available)
- 13 Cursor processes running, using approximately 2.69 GB total working set memory
- Largest Cursor process uses 602.75 MB (reasonable for an IDE)
- Error is reproducible and consistent
- System is running on ARM64 architecture (Snapdragon X Elite)
### Memory Analysis
Despite having 18.73 GB of free RAM, the OOM error suggests:
1. **Process-level memory limit**: The browser extension process may have a hard-coded or configured memory limit that is being exceeded
2. **Memory fragmentation**: While total memory is available, contiguous memory blocks may not be available
3. **32-bit process limitation**: If the browser extension runs as a 32-bit process, it would be limited to ~2-4 GB address space
4. **Memory leak in selection functionality**: The element selection feature may be allocating memory without proper cleanup
### Observations
- The error code `-536870904` in decimal is `0xE0000008` in hex, which may indicate a specific Windows error code
- **Critical**: The error occurs **immediately** when selection fails, suggesting the issue is in the error handling or cleanup code of the selection functionality, not in the selection attempt itself
- The error occurs specifically during element selection failure, suggesting the issue is in the accessibility/DOM snapshot functionality or its error handling
- Multiple browser processes are running, but this is normal for Chromium-based applications
- The system has excellent hardware resources (12-core ARM processor, 32 GB RAM)
- **Windows ARM (ARM64) Architecture**: The system is running on ARM64, which may have specific memory handling characteristics or compatibility issues that could contribute to this problem
- The immediate nature of the error suggests that error handling code may be attempting to allocate memory for error reporting/logging, which could be triggering the OOM condition
### ARM64-Specific Considerations
Since this error occurs on **Windows ARM** (ARM64 architecture), there are several potential ARM-specific factors:
1. **Memory alignment**: ARM processors may have different memory alignment requirements that could affect large memory allocations
2. **Native library compatibility**: If the browser extension uses native libraries, there may be ARM64-specific issues with memory management
3. **Emulation layer**: If any components are running through emulation (x86/x64), memory handling may be less efficient
4. **ARM memory model**: ARM64 has a different memory consistency model that could affect concurrent memory operations in the browser extension
This strongly suggests the issue is a bug in the MCP browser extension’s memory handling, specifically in the error handling/cleanup code when element selection fails, rather than a system resource constraint. The immediate nature of the error and the ARM64 architecture are both important factors to consider.