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

  1. Inspect the line named in the message and reduce it to <=5 colon-separated tokens.
  2. Escape or remove stray colons in field values.
  3. 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

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


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)