Missing decode definitions for Product ID 0x003: PMC rev 1, reason 0x32 (Cannon Lake PCH / Coffee Lake, Dell OptiPlex XE3)
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 65/100
Research direction
Examine how Product ID 0x00c was added in issues #90/#91, particularly the decode-defs/PMC/1/layout.csv and target_info.json files. Create equivalent definitions for Product ID 0x003 using the provided hex dump to identify field offsets and meanings. Verify the decoder correctly parses the sample record and run the project's test suite.
Written by the indexing model from the issue text.
Description
Summary
I am debugging recurring hard platform freezes on a Dell OptiPlex XE3 (Coffee Lake desktop, Cannon Lake PCH). After each freeze, the BIOS (EDK2-based) publishes an ACPI BERT containing what appears to be a legacy-format Intel Crash Log record with Product ID 0x003, record type PMC, revision 1, in a Firmware Error Record Reference wrapper of type 1 / revision 0.
There is no public collateral for Product ID 0x003, and iclg v1.2.0 does not reach the record at all because the revision-0 FER wrapper carries no payload GUID (see "iclg behavior" below). I decoded the headers manually using the intel_crashlog library source as a reference.
Could Intel confirm the product mapping, provide the decode definitions, and help interpret reason 0x32?
Hardware / platform
- System: Dell OptiPlex XE3, BIOS 1.38.0 (2025-09-04, latest; confirmed current via LVFS)
- CPU: Intel Core i5-8500 (Coffee Lake), microcode 0xf8 at the time of the captured crashes
- PCH: Intel Q370 (Cannon Lake PCH-H), CSME firmware 12.0.97.3000
- Memory: 4x8 GB DDR4, non-ECC
- OS: Proxmox VE (Debian 12), kernel 6.8.12 at the time of the captured crashes
- BERT captured from Linux sysfs (
/sys/firmware/acpi/tables/data/BERT, 3196 bytes, Generic Error Status Block) on the boot following each freeze
Failure history
Four complete platform freezes since 2026-09-24 (BERT captured for the last three: 2026-09-30, 2026-10-06, 2026-10-07). In each case:
- The system hangs completely with no kernel messages;
hardlockup_panic=1was armed and efi_pstore remained empty, so the hang appears to occur below the OS. - The iTCO/TCO watchdog initiates a host partition reset (
HPR_CAUSE0 = 0x00000040). - The host reset apparently does not complete, and PMC firmware escalates to a global reset. PWRM
GBLRST_CAUSE0 = 0x00000400,GBLRST_CAUSE1 = 0x00010001(HOST_RESET_TIMEOUT plus bit 16), read after reboot.
Manually decoded record
CPER structure in the BERT data: GESB (severity 1, data length 0xc68) -> one Generic Error Data Entry (section type 81212a96-09ed-4996-9471-8d729c8e69ed, Firmware Error Record Reference, revision 0x300, error data length 0xc20) -> FER header at 0x5c with error_type = 0x01, revision = 0x00 (so 16-byte header, no GUID).
The Crash Log record starts at file offset 0x7c:
| Field | Value | Notes |
|---|---|---|
| version._value | 0x01003001 | |
| record_type | 0x1 (PMC) | |
| product_id | 0x003 | |
| header_type | 0x0 | |
| revision | 0x1 | |
| dword 1 | 0x00000006 | record size field? |
| dwords 2-3 | 0x426b27b5, 0x00000ba4 | timestamp? |
| dword 4 | 0x00000002 | agent_version? |
| dword 5 | 0x00000032 | reason, if the Type2-like layout applies |
I am reading dwords 2-5 against the Type2 header layout (timestamp at +8, agent_version at +16, reason at +20) since the modern Type0 has no such fields; corrections welcome.
Register payload continues to ~0x590, then zeros, then 0xff padding to the end of the region.
All three captured records are nearly identical: 24 of 799 dwords differ across the three crashes, and most of those look like timestamps/counters. The presumed reason value 0x32 is byte-identical in all three. The 2026-09-30 crash (which was preceded by ~20 h of e1000e "Unit Hang" messages) differs from the two October crashes in a handful of bits (file offsets 0x9c, 0xac, 0xbc, 0x49c); the two October crashes (no NIC symptoms) are identical at those offsets.
iclg behavior
Two separate aspects:
- No collateral exists for Product ID
0x003, so even with parsing the result would be header-only decode (as in #90, #99, #113). Region::from_cper_section()only accepts aFirmwareErrorRecordwhose header GUID equalsRECORD_ID_CRASHLOG(8f87f311-c998-4d9e-a0c4-6065518c4f6d). A revision-0 FER header has no GUID field, so legacy records like this one are ignored. Is support for the legacy type-1/rev-0 wrapper planned?
Questions for Intel
- Which platform/PCH/agent does Crash Log Product ID
0x003map to? (Cannon Lake PCH-H / CSME 12 era?) - Could you publish or provide the decode definitions for this product (
decode-defs/PMC/1/layout.csvequivalent andtarget_info.json), as was done for Product ID0x00cin #90/#91? - What does PMC reason
0x32mean for this product? Specifically: is it a collection trigger/reset category (e.g. a watchdog or host-reset-timeout escalation path), or does it point at a specific failure domain? Given the reset-cause registers above, what conclusions would be justified or unjustified from the reason alone? - Can the PMC payload for this product distinguish between e.g. a stuck fabric/memory transaction, a core retirement timeout, a thermal/power event, or a PCH-internal failure? Even a coarse answer would direct the ongoing hardware isolation (memory vs. power delivery).
Data
A trimmed hexdump of the 2026-10-06 record follows (zeros/0xff padding elided). The full 3196-byte binaries from all three crashes are retained and can be attached on request.
BERT data, 2026-10-06 crash, offsets 0x000-0x590
00000000 00 00 00 00 00 00 00 00 00 00 00 00 68 0c 00 00
00000010 01 00 00 00 96 2a 21 81 ed 09 96 49 94 71 8d 72
00000020 9c 8e 69 ed 01 00 00 00 00 03 00 00 20 0c 00 00
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000050 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00
00000060 00 00 00 00 00 00 00 00 01 30 00 01 00 00 00 00
00000070 00 00 00 00 00 00 00 00 00 00 00 00 01 30 00 01
00000080 06 00 00 00 b5 27 6b 42 a4 0b 00 00 02 00 00 00
00000090 32 00 00 00 29 00 19 09 ff 07 00 80 80 24 00 02
000000a0 03 be 05 7f 01 00 00 00 00 00 01 00 07 00 00 22
000000b0 01 00 20 01 31 20 00 80 00 61 00 00 00 04 00 01
000000c0 00 40 00 c7 04 ff 2f ff 8b f0 01 ef 73 68 0e 75
000000d0 00 20 02 9a 00 00 11 00 00 00 00 00 00 00 00 04
000000e0 00 00 00 00 81 08 50 00 1a cf 0e 00 00 5d 03 00
000000f0 01 00 00 00 70 f1 f3 5b 3c 00 20 10 86 00 00 00
00000100 00 f9 f3 7f bc 17 37 de 87 7e 47 ff ff f9 f3 7d
00000110 00 10 32 18 87 78 41 03 1e f1 f3 5b 3c 00 00 10
00000120 86 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000130 00 20 00 d4 bc 1c 24 08 04 10 00 00 00 06 0c 00
00000140 43 00 c8 21 78 80 b8 00 00 18 00 08 00 00 00 00
00000150 80 66 41 03 00 00 00 00 00 00 00 00 80 10 00 00
00000160 00 42 00 00 00 00 00 00 00 b8 14 00 02 00 00 00
00000170 09 00 00 00 80 00 00 00 00 8f 81 48 08 00 3f 80
00000180 03 70 7e b2 f7 ff c0 7f fc 8f 81 48 08 00 3f 80
00000190 03 90 22 00 00 00 01 00 00 00 01 00 00 00 01 00
000001a0 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00
000001b0 00 00 01 ff 0f 00 00 ff 0f 00 00 ff 0f 00 00 ff
000001c0 0f 00 00 ff 0f 00 00 ff 0f 00 00 ff 0f 00 00 ff
000001d0 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000220 00 00 00 00 00 00 00 00 00 00 00 72 01 00 34 72
00000230 01 00 04 72 01 00 04 72 01 00 04 72 01 00 34 72
00000240 01 00 04 72 01 00 04 72 01 00 04 00 00 00 00 00
00000250 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000270 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000290 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000002a0 00 00 00 00 1f 00 00 00 1f 00 00 00 1f 00 00 00
000002b0 1f 00 00 00 1f 00 00 00 1f 00 00 00 1f 00 00 00
000002c0 1f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000002d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00
000002e0 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00
000002f0 00 00 01 00 00 00 01 00 00 00 01 ff 0f 00 00 ff
00000300 0f 00 00 ff 0f 00 00 ff 0f 00 00 ff 0f 00 00 ff
00000310 0f 00 00 ff 0f 00 00 ff 0f 00 00 00 00 00 00 00
00000320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000330 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000350 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000370 00 00 00 72 01 00 34 72 01 00 04 72 01 00 04 72
00000380 01 00 04 72 01 00 34 72 01 00 04 72 01 00 04 72
00000390 01 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00
000003a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000003b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000003c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000003d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000003e0 00 00 00 00 00 00 00 00 00 00 00 00 1f 00 00 00
000003f0 1f 00 00 00 1f 00 00 00 1f 00 00 00 1f 00 00 00
00000400 1f 00 00 00 1f 00 00 00 1f 00 00 00 00 00 00 00
00000410 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000420 00 00 00 ca fc 18 40 00 00 00 01 00 00 00 01 00
00000430 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00
00000440 00 00 01 c9 0c 9b 00 ff 0f 00 00 ff 0f 00 00 ff
00000450 0f 00 00 ff 0f 00 00 ff 0f 00 00 ff 0f 00 00 ff
00000460 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000004a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000004b0 00 00 00 00 00 00 00 00 00 00 00 72 01 00 30 72
000004c0 01 00 04 72 01 00 04 72 01 00 04 72 01 00 34 72
000004d0 01 00 04 72 01 00 04 72 01 00 04 00 01 00 00 00
000004e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000004f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000530 00 00 00 00 1f 00 00 00 1f 00 00 00 1f 00 00 00
00000540 1f 00 00 00 1f 00 00 00 1f 00 00 00 1f 00 00 00
00000550 1f 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
00000560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00000570 00 00 00 00 00 00 29 07 18 3c 43 00 03 01 c9 de
00000580 0e 0a 00 ff 89 3c 5f 01 00 30 00 39 00 00 00 00
00000590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
No serial numbers or machine identifiers are included. Thank you.
- Dominant language
- Rust
- Stars
- 11
- Forks
- 6
- Avg merge
- 1h 47m
- Merged PRs (30d)
- 3
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from intel/crashlog
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Missing decode definitions for Product ID 0x037: PMC rev 5 / PMC_TRACE rev 1 / PMC_RST rev 1May be free again @psurply claimed this 45 days ago, and no pull request is open. Open
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
mishraprafful/multihull#150 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
voidzero-dev/vite-plus#2970 ·
Maintainers usually reply within 1 day
-
ai_p2 comp-parquet-reader-v3
Difficulty 2/5 Half a day Newbie friendliness 66/100
ClickHouse/ClickHouse#124986 ·
Maintainers usually reply within 1 day
-
bug(ktuner): exporter directories hide daemon processesPossibly taken @iloveeyjafjalla claimed this today. Opencomponent:ktuner
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
agentic-os-org/ANOLISA#6905 · 1 comment ·
Maintainers usually reply within 1 day
-
[Feature]: [P3] engine-rs: the package source hash should ignore line endings and untracked filesOpen
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
maniator/verticopolis#880 ·
Maintainers usually reply within 1 day