Ümläüts in identifiers fail config parsing with "EOF"
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 616
- Avg merge
- 5d 6h
- Merged PRs (30d)
- 10
Description
Describe the bug
[2026-06-01 13:57:09 +0000] critical/config: Error: syntax error, unexpected end of file, expecting T_IDENTIFIER
Location: in /etc/icinga2/conf.d/services.conf: 39:26-39:26
/etc/icinga2/conf.d/services.conf(37): check_command = "ping6"
/etc/icinga2/conf.d/services.conf(38):
/etc/icinga2/conf.d/services.conf(39): assign where host.vars.äddress6
^
/etc/icinga2/conf.d/services.conf(40): }
/etc/icinga2/conf.d/services.conf(41):
[2026-06-01 13:57:09 +0000] critical/cli: Config validation failed. Re-run with 'icinga2 daemon -C' after fixing the config.
To Reproduce
- Make a service apply rule with
assign where host.vars.äddress6 - Run
icinga2 daemon -C
Expected behavior
Error message says what's actually wrong, not "end of file" which is not true.
Additional context
I was testing https://github.com/Icinga/icingaweb2-module-director/pull/2972.
Contributor 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.
Research direction
Start by reproducing the apply rule with host.vars.äddress6 and run icinga2 daemon -C, using the diagnostic location in /etc/icinga2/conf.d/services.conf as the input. Trace the configuration parser's handling of the identifier and its syntax error reporting; done means invalid Unicode identifiers produce an accurate error instead of "unexpected end of file".
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100