dotnet/runtime · error · Exception
Invalid Entry in
Error message
Invalid Entry {line}in {exclusion_filename} What it means
Raised by parseExclusionList() in utilities.py at src/coreclr/scripts/utilities.py:151 when a non-comment line in the exclusion file has more than 5 colon-separated tokens. The expected format is up to 5 colon-separated fields (note: the message string also lacks a space before 'in', a cosmetic bug).
Solutions
- Inspect the line named in the message and reduce it to <=5 colon-separated tokens.
- Escape or remove stray colons in field values.
- Comment out malformed lines with '#' while debugging.
Example fix
// before nostack:TaskName:ProviderName::SymbolName:extra // after nostack:TaskName:ProviderName::SymbolName
Defensive patterns
Strategy: validation
Validate before calling
with open(exclusion_filename) as f:
for i, raw in enumerate(f, 1):
line = raw.strip()
if not line or line.startswith('#') or 'nomac' in line.split(':'):
continue
if len(line.split(':')) > 5:
raise SystemExit(f'{exclusion_filename}:{i} has >5 tokens: {line!r}') Prevention
- Lint exclusion files with a token-count check before the run.
- Document the 5-field format in a header comment in the file.
When it happens
Trigger: An exclusion list file line with 6+ colon-separated tokens (an extra field, or an unescaped colon inside a value).
Common situations: Hand-editing an exclusion file and adding an extra segment; a corrupted copy; a trailing colon counting as an extra empty token.
Related errors
- Invalid Entry in
- Cannot find System.Private.CoreLib.dll at
- Collection 'smoke_tests' is only available for 'nativeaot'…
- Comparison failed for the following files(s)
- {coreclr_args.mode}
AI-assisted analysis of dotnet/runtime@60108ba66e (2026-08-10).
Data as JSON: /api/errors/c0c79a733780d3af.
Report an issue: GitHub.
Appendix: source
Thrown at src/coreclr/scripts/utilities.py:151
if not os.path.isfile(exclusion_filename):
return exclusionInfo
with open(exclusion_filename,'r') as ExclusionFile:
for line in ExclusionFile:
line = line.strip()
#remove comments
if not line or line.startswith('#'):
continue
tokens = line.split(':')
#entries starting with nomac are ignored
if "nomac" in tokens:
continue
if len(tokens) > 5:
raise Exception("Invalid Entry " + line + "in "+ exclusion_filename)
eventProvider = tokens[2]
eventTask = tokens[1]
eventSymbol = tokens[4]
if eventProvider == '':
eventProvider = "*"
if eventTask == '':
eventTask = "*"
if eventSymbol == '':
eventSymbol = "*"
entry = eventProvider + ":" + eventTask + ":" + eventSymbol
if tokens[0].lower() == "nostack":
exclusionInfo.nostack.add(entry)
if tokens[0].lower() == "stack":
exclusionInfo.explicitstack.add(entry)
if tokens[0].lower() == "noclrinstanceid":View on GitHub (pinned to 60108ba66e)