Autodesk Customer Error Reporting (CER)
✓ Validated Against Production Data
This specification is based on actual analysis of 272 Autodesk CER dmpuserinfo.xml files from production environments. All elements, attributes, and data types documented here have been verified to exist in real crash reports. Contact me to send me some of your sample CER files to contribute to this project to detail all CER file attributes for all Autodesk products.
Data Source: Civil 3D, Plant 3D, AutoCAD deployments | Analysis Date: December 29, 2025
📋 Table of Contents
- Overview
- Root Element: CERInfo
- ProcessInfo – Process & Memory
- UserInfo – User & License Data
- OSInfo – Operating System
- ProductInformation – Application Details
- DeviceInfo – Hardware Configuration
- DxDiagInfo – DirectX Diagnostics
- GraphicsDriverInfo – GPU Drivers
- GraphicsInfo – GPU Details
- OpenGLInfo – OpenGL Capabilities
- RuntimeInformation – .NET Exception Data
- Parsing Examples
- Analysis Workflows
Overview
The dmpuserinfo.xml file is the primary data capture file in Autodesk’s Customer Error Reporting (CER) system. This XML document contains comprehensive diagnostic information collected at the time of an application crash or error.
File Location (Typical):
📁 CER Directory Structure
Each crash incident creates a unique directory containing:
dmpuserinfo.xml– Diagnostic data (this specification)*.dmp– Memory dump file(s)*.log– Application logs (if available)
Note: The CER folder is hidden by default in Windows Explorer.
Root Structure
<CERInfo ClientSemVersion="6.3.12+20250604.0215fb04.399" ClientVersion="6">
<ProcessInfo .../>
<UserInfo .../>
<OSInfo .../>
<ProductInformation .../>
<DeviceInfo .../>
<DxDiagInfo .../>
<GraphicsDriverInfo .../>
<GraphicsInfo .../>
<OpenGLInfo .../>
<RuntimeInformation .../>
</CERInfo>
CERInfo (Root Element)
The root element containing all CER diagnostic data.
Based on CER datasetAttributes
| Attribute | Type | Found | Description | Example Values |
|---|---|---|---|---|
ClientSemVersion |
String | 100% | CER client semantic version with build info | 6.3.12+20250604.0215fb04.399 |
ClientVersion |
Integer | 100% | Major CER client version | 6 |
ProcessInfo
Process-level information including memory state at crash time.
Based on CER datasetAttributes
| Attribute | Type | Found | Description | Example Values |
|---|---|---|---|---|
AvailPageFile |
Hex String | 91% | Available page file in hex bytes | 4224BA000, 2B5C60000 |
AvailPhysicalMem |
Hex String | 91% | Available physical RAM in hex bytes | 2AE8B2000 (≈10.9 GB) |
AvailVirtualMem |
Hex String | 91% | Available virtual memory in hex bytes | 7FEDA571F000 |
CerMode |
Integer | 99% | CER reporting mode | 1 |
ErrNo |
Integer | 18% | C runtime error number | 2, 9, 22 |
LastWin32Error |
Integer | 14% | Last Win32 API error code | 8, 1400, 87, 1816 |
💡 Memory Conversion
Memory values are stored as hexadecimal strings. To convert to human-readable:
2AE8B2000hex = 11,537,248,256 bytes = 10.7 GB- Use:
parseInt('2AE8B2000', 16) / 1073741824for GB
UserInfo
User identification, licensing, and error description information.
Based on CER datasetRoot Attributes
| Attribute | Type | Found | Description | Example Values |
|---|---|---|---|---|
SerialNum |
String/GUID | 100% | License serial number or device ID | 000-00000000, {GUID} |
UserCanBeContacted |
String | 100% | Whether user opted in for contact | yes, no |
ComputerName |
String | 8% | Windows computer name | LC-11884, DESKTOP-ABC123 |
Child Elements
| Element | Found | Purpose |
|---|---|---|
<UserName value="" /> |
100% | User name (typically empty for privacy) |
<UserPhone value="" /> |
100% | User phone (typically empty) |
<UserEmail value="..." /> |
100% | User email address (may be populated) |
<UserSubscription> |
100% | Subscription and machine ID info |
<ErrorDescription> |
100% | User-provided error description |
<WorkingDocument> |
100% | Document/file being worked on at crash |
UserSubscription Element
| Attribute | Type | Example |
|---|---|---|
email |
String | user@company.com |
macID |
GUID | {26A1AC09-349D-444F-BC57-8F6F08F76C8D} |
userId |
String | (typically empty) |
🔒 Privacy Note
UserInfo may contain personally identifiable information (PII):
- Email addresses (found in 272 files)
- Computer names (found in 23 files)
- License serial numbers
- Machine IDs (GUIDs)
Exercise caution when sharing or analyzing CER data externally.
OSInfo
Operating system version, build, and architecture information.
Based on CER dataset| Attribute | Type | Found | Description | Example Values |
|---|---|---|---|---|
Architecture |
String | 100% | OS architecture | x64, AMD64 |
BuildNumber |
Integer | 100% | Windows build number | 22631, 22621, 19045 |
MajorVersion |
Integer | 100% | Windows major version | 10 |
MinorVersion |
Integer | 100% | Windows minor version | 0 |
Name |
String | 100% | OS product name | Windows 10 Pro, Windows 11 Pro |
ServicePack |
String | 100% | Service pack version | (typically empty for Win10/11) |
📊 Windows Build Number Guide
- 22631 – Windows 11 23H2
- 22621 – Windows 11 22H2
- 22000 – Windows 11 21H2
- 19045 – Windows 10 22H2
- 19044 – Windows 10 21H2
ProductInformation
Autodesk product identification and version information.
Based on CER dataset| Attribute | Type | Found | Description | Example Values |
|---|---|---|---|---|
Branch |
String | 100% | Product code branch | C3D (Civil 3D) |
BuildNum |
String | 100% | Internal build number | 25.0.94.0, 25.0.145.0 |
Language |
String | 100% | Product UI language code | en-US, en-GB, de-DE |
LicenseType |
String | 99% | License model | Commercial, Network, Subscription |
MarketVersion |
String | 100% | Marketing version (year) | 2025, 2024 |
Name |
String | 100% | Product name | Civil 3D 2025 |
VersionString |
String | 100% | Full version string | N.187.0.0 – 2025 |
DeviceInfo
Hardware device information including CPU, motherboard, and BIOS.
Based on CER dataset| Attribute | Type | Found | Description | Example Values |
|---|---|---|---|---|
BaseBoardManufacturer |
String | 100% | Motherboard manufacturer | Dell Inc., Lenovo, HP |
BaseBoardProduct |
String | 100% | Motherboard model | 0TPXF8, 21EN |
BiosCaption |
String | 100% | BIOS description | Default System BIOS |
BiosManufacturer |
String | 100% | BIOS manufacturer | Dell Inc., Lenovo, American Megatrends |
BiosVersion |
String | 100% | BIOS version string | 1.23.0, R2XET77W |
ProcessorCaption |
String | 100% | CPU model name | Intel64 Family 6 Model 154 |
ProcessorManufacturer |
String | 100% | CPU manufacturer | GenuineIntel, AuthenticAMD |
ProcessorName |
String | 100% | CPU marketing name | 12th Gen Intel(R) Core(TM) i7-12700 |
SystemManufacturer |
String | 100% | Computer manufacturer | Dell Inc., Lenovo, HP |
SystemProductName |
String | 100% | Computer model | Precision 3660 Tower, ThinkStation P360 |
DxDiagInfo
DirectX diagnostic information including display adapters and audio devices.
Based on CER datasetDisplay Device Attributes
| Attribute | Type | Description | Example Values |
|---|---|---|---|
CardName |
String | GPU device name | NVIDIA RTX A2000, Intel(R) UHD Graphics 630 |
ChipType |
String | GPU chip identifier | NVIDIA GeForce RTX 4000, Intel(R) UHD Graphics |
DACType |
String | DAC (Digital-Analog Converter) type | Integrated RAMDAC |
DedicatedMemory |
Integer | Dedicated VRAM in MB | 8192, 4096, 128 |
DisplayMemory |
Integer | Display memory in MB | 16253, 8159 |
DriverDate |
Date | GPU driver date | 2024-11-25, 2024-10-15 |
DriverDateData |
Hex | Driver date as 64-bit hex | 2114E41DB0000 |
DriverModel |
String | Windows driver model | WDDM 3.1, WDDM 2.7 |
DriverVersion |
String | Driver version string | 32.0.15.6094, 31.0.15.5123 |
Manufacturer |
String | GPU vendor | NVIDIA, Intel Corporation |
SharedMemory |
Integer | Shared system RAM in MB | 8061, 16383 |
⚠️ Critical for Graphics Crash Analysis
DxDiagInfo contains the most comprehensive GPU information and is essential for analyzing graphics-related crashes. Key fields to examine:
- DriverDate – Outdated drivers are a common crash cause
- DedicatedMemory – Low VRAM can cause rendering crashes
- DriverModel – WDDM version affects DirectX features
- CardName – Intel integrated GPUs have higher crash rates
GraphicsDriverInfo
Detailed GPU driver information for analysis and troubleshooting.
Based on CER dataset| Attribute | Type | Found | Description | Example Values |
|---|---|---|---|---|
Driver |
String | 100% | Driver file name | C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_… |
DriverDate |
Date | 100% | Driver release date | 2024-11-25, 2024-10-15 |
DriverVersion |
String | 100% | Full driver version | 32.0.15.6094, 31.0.15.5123 |
InfSection |
String | 100% | INF file section identifier | Section212, Section002 |
Name |
String | 100% | GPU device name | NVIDIA RTX A2000 8GB Laptop GPU |
ProviderName |
String | 100% | Driver provider | NVIDIA, Intel Corporation |
GraphicsInfo
GPU configuration including DirectX feature levels and adapter details.
Based on CER dataset| Attribute | Type | Description | Example Values |
|---|---|---|---|
AdapterLUID |
Hex | Adapter Locally Unique Identifier | 000000000001FC61 |
Description |
String | GPU description | NVIDIA RTX A2000 8GB Laptop GPU |
DedicatedSystemMemory |
Integer | Dedicated system memory in bytes | 0 |
DedicatedVideoMemory |
Integer | Dedicated VRAM in bytes | 8585740288 (8 GB) |
DeviceId |
Hex | PCI device ID | 2860, 27A0 |
FeatureLevel |
String | DirectX feature level | 12_1, 12_0, 11_1 |
Revision |
Hex | GPU revision | A1, 00 |
SharedSystemMemory |
Integer | Shared system RAM in bytes | 17031516160 (≈16 GB) |
SubSysId |
Hex | Subsystem ID | 21E217AA, 0B241028 |
VendorId |
Hex | PCI vendor ID | 10DE (NVIDIA), 8086 (Intel) |
🔍 Vendor ID Reference
- 10DE – NVIDIA Corporation
- 8086 – Intel Corporation
- 1002 – AMD/ATI Technologies
- 1414 – Microsoft Basic Display Adapter
OpenGLInfo
OpenGL capabilities and version information.
Based on CER dataset| Attribute | Type | Description | Example Values |
|---|---|---|---|
Renderer |
String | OpenGL renderer string | NVIDIA RTX 2000 Ada Generation Laptop GPU/PCIe/SSE2 |
Vendor |
String | OpenGL vendor | NVIDIA Corporation, Intel |
Version |
String | OpenGL version supported | 4.6.0 NVIDIA 581.60, 4.6.0 NVIDIA 573.44 |
💡 Why OpenGLInfo May Be Missing
OpenGLInfo is only present in 45% of files because:
- It’s only captured when OpenGL context is initialized
- Some crashes occur before graphics initialization
- DirectX-only workflows don’t initialize OpenGL
RuntimeInformation
.NET runtime exception information including stack traces and error messages.
Based on CER datasetException Attributes
| Attribute | Type | Description | Example Values |
|---|---|---|---|
type |
String | .NET exception type | System.Net.Http.HttpRequestException |
message |
String | Exception message | An error occurred while sending the request |
hresult |
Hex | Windows HRESULT error code | 0x80131500 |
Stack Trace Structure
<StackTrace>
<Method
function="MoveNext()"
module="FluentHttpClient"
object="FluentHttpClient.RestRequestBuilder+<SendAsync>d__25"
offset="0x22C" />
<!-- Additional stack frames... -->
</StackTrace>
💡 RuntimeInformation Presence
RuntimeInformation appears in only 6% of files because:
- Most crashes are native code (C/C++) not .NET
- Only appears when .NET exception is thrown
- Primarily seen in CER client or plugin crashes
- Common exception types: HttpRequestException, ConfigurationErrorsException
Parsing Examples
PowerShell – Extract GPU Information
# Load XML
[xml]$cer = Get-Content "dmpuserinfo.xml"
# Extract graphics info
$gpu = @{
CardName = $cer.CERInfo.DxDiagInfo.DisplayDevices.DisplayDevice.CardName
DriverVersion = $cer.CERInfo.DxDiagInfo.DisplayDevices.DisplayDevice.DriverVersion
DriverDate = $cer.CERInfo.DxDiagInfo.DisplayDevices.DisplayDevice.DriverDate
DedicatedVRAM_MB = $cer.CERInfo.DxDiagInfo.DisplayDevices.DisplayDevice.DedicatedMemory
ProductName = $cer.CERInfo.ProductInformation.Name
BuildNumber = $cer.CERInfo.ProductInformation.BuildNum
}
$gpu | Format-Table
PowerShell – Memory Analysis
# Convert hex memory values to GB
function Convert-HexToGB {
param([string]$hexValue)
[math]::Round(([Convert]::ToInt64($hexValue, 16)) / 1GB, 2)
}
[xml]$cer = Get-Content "dmpuserinfo.xml"
$memory = @{
AvailPhysical_GB = Convert-HexToGB $cer.CERInfo.ProcessInfo.AvailPhysicalMem
AvailVirtual_GB = Convert-HexToGB $cer.CERInfo.ProcessInfo.AvailVirtualMem
}
Write-Host "Available Physical RAM: $($memory.AvailPhysical_GB) GB"
Python – GPU Driver Analysis
import xml.etree.ElementTree as ET
from datetime import datetime
tree = ET.parse('dmpuserinfo.xml')
root = tree.getroot()
# Extract GPU driver info
dxdiag = root.find('.//DxDiagInfo/DisplayDevices/DisplayDevice')
gpu_info = {
'card_name': dxdiag.get('CardName'),
'driver_version': dxdiag.get('DriverVersion'),
'driver_date': dxdiag.get('DriverDate'),
'vram_mb': int(dxdiag.get('DedicatedMemory'))
}
# Check if driver is older than 6 months
driver_date = datetime.strptime(gpu_info['driver_date'], '%Y-%m-%d')
age_days = (datetime.now() - driver_date).days
if age_days > 180:
print(f"⚠️ WARNING: GPU driver is {age_days} days old")
else:
print(f"✓ GPU driver is current ({age_days} days old)")
Common Analysis Workflows
1. Fleet-Wide GPU Driver Analysis
Goal: Identify outdated GPU drivers across all crash reports
# Analyze all CER files in network directory
$cerFiles = Get-ChildItem -Path "\\network\CERData\*\dmpuserinfo.xml" -Recurse
$results = $cerFiles | ForEach-Object {
[xml]$xml = Get-Content $_.FullName
$gpu = $xml.CERInfo.DxDiagInfo.DisplayDevices.DisplayDevice
[PSCustomObject]@{
File = $_.Name
GPU = $gpu.CardName
Driver = $gpu.DriverVersion
DriverDate = [datetime]$gpu.DriverDate
Product = $xml.CERInfo.ProductInformation.Name
VRAM_MB = [int]$gpu.DedicatedMemory
}
}
# Group by GPU and find crashes with old drivers
$results |
Where-Object { $_.DriverDate -lt (Get-Date).AddMonths(-6) } |
Group-Object -Property GPU |
Sort-Object Count -Descending |
Format-Table Name, Count
2. Intel Integrated Graphics Crash Pattern
Goal: Correlate crashes with Intel integrated GPUs
$cerFiles = Get-ChildItem -Path "\\network\CERData\*\dmpuserinfo.xml" -Recurse
$intelCrashes = $cerFiles | ForEach-Object {
[xml]$xml = Get-Content $_.FullName
$gpu = $xml.CERInfo.GraphicsInfo.Description
if ($gpu -match "Intel") {
[PSCustomObject]@{
GPU = $gpu
VendorID = $xml.CERInfo.GraphicsInfo.VendorId
Product = $xml.CERInfo.ProductInformation.Name
BuildNum = $xml.CERInfo.ProductInformation.BuildNum
}
}
}
Write-Host "Intel GPU Crashes: $($intelCrashes.Count) of $($cerFiles.Count)"
$intelCrashes | Group-Object GPU | Format-Table Name, Count
3. Low Memory Crash Analysis
Goal: Identify crashes occurring with low available memory
function Convert-HexToGB($hex) {
[math]::Round(([Convert]::ToInt64($hex, 16)) / 1GB, 2)
}
$lowMemoryCrashes = $cerFiles | ForEach-Object {
[xml]$xml = Get-Content $_.FullName
$availMem = Convert-HexToGB $xml.CERInfo.ProcessInfo.AvailPhysicalMem
if ($availMem -lt 4) { # Less than 4GB available
[PSCustomObject]@{
File = $_.Name
AvailMemory_GB = $availMem
Product = $xml.CERInfo.ProductInformation.Name
GPU = $xml.CERInfo.DxDiagInfo.DisplayDevices.DisplayDevice.CardName
}
}
}
Write-Host "Low Memory Crashes: $($lowMemoryCrashes.Count)"
$lowMemoryCrashes | Format-Table -AutoSize
4. Product Version Distribution
Goal: Understand which product versions are crashing most
$versionStats = $cerFiles | ForEach-Object {
[xml]$xml = Get-Content $_.FullName
[PSCustomObject]@{
Product = $xml.CERInfo.ProductInformation.Name
BuildNum = $xml.CERInfo.ProductInformation.BuildNum
MarketVersion = $xml.CERInfo.ProductInformation.MarketVersion
}
}
$versionStats |
Group-Object BuildNum |
Sort-Object Count -Descending |
Select-Object @{N='BuildNumber';E={$_.Name}}, Count |
Format-Table
📚 References & Resources
- Windows Error Codes: Microsoft System Error Codes
- PCI Vendor IDs: PCI ID Repository
- DirectX Feature Levels: Direct3D Feature Levels
- WDDM Versions: Windows Display Driver Model
- XML Parsing: W3C XML Standards
Updated 1/12/2026
The CER file format and data has changed post Civil 3D 2024
https://btl-blog.com/cer-2024-vs-2026-technical-analysis/
Changes Civil 3D 2025+ https://btl-blog.com/cer-2024-vs-2026-technical-analysis/