Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

CodeChecker 6.29+ ignores locale settings and forces UTF-8

Open
#5,121 2 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 8 days

@ump45nose is already working on this.

Since Oct 2, 2026.

  • #5123 by @ump45nose — open

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
python
Domain
cli

Research direction

Start by locating the code that formats plaintext output for CodeChecker version and checking how it selects box-drawing characters. Reproduce with LC_ALL=C LANG=C TERM=dumb CodeChecker version and inspect the existing tests for version output. Done means the output uses ASCII in the reported environment while retaining the current UTF-8 formatting otherwise; pull request #5123 is already open for this issue.

Written by the indexing model from the issue text.

Description

bazel :jigsaw: bug :bug: CLI :computer: good first issue good to go :rocket: usability :+1:

Describe the bug
Since version 6.29, CodeChecker formats plaintext output using multi-byte UTF-8 box-drawing characters. While visually appealing in interactive terminals, this creates a regression for headless environments, CI pipelines (like Jenkins), and ASCII-only wrapper scripts.

When CodeChecker output is piped to a Jenkins console or an ASCII-expecting log viewer, the UTF-8 sequences render as gibberish. The core issue is that CodeChecker currently ignores the standard POSIX environment variables (LC_ALL=C, LANG=C, TERM=dumb) that dictate character encoding and terminal capability constraints.

CodeChecker version

[INFO 2026-10-02 10:38:53] - CodeChecker analyzer version:
┌──────────────────────┬──────────────────────────────────────────┐
│ Kind                 │ Version                                  │
├──────────────────────┼──────────────────────────────────────────┤
│ Base package version │ 6.29.0                                   │
│ Package build date   │ 2026-09-11T09:30                         │
│ Git commit ID (hash) │ a259e69d3d5e8dc083c5d60219a8668b5e3c5084 │
│ Git tag information  │ 6.29                                     │
└──────────────────────┴──────────────────────────────────────────┘

[INFO 2026-10-02 10:38:53] - CodeChecker web version:
┌─────────────────────────────────────┬──────────────────────────────────────────┐
│ Kind                                │ Version                                  │
├─────────────────────────────────────┼──────────────────────────────────────────┤
│ Base package version                │ 6.29.0                                   │
│ Package build date                  │ 2026-09-11T09:30                         │
│ Git commit ID (hash)                │ a259e69d3d5e8dc083c5d60219a8668b5e3c5084 │
│ Git tag information                 │ 6.29                                     │
│ Server supported Thrift API version │ 6.74                                     │
│ Client Thrift API version           │ 6.74                                     │
└─────────────────────────────────────┴──────────────────────────────────────────┘

To Reproduce
Steps to reproduce the behaviour:

  1. Force a strict ASCII environment using standard POSIX variables: LC_ALL=C LANG=C TERM=dumb CodeChecker version
  2. Pipe the output to an ASCII-only viewer or Jenkins console.

Expected behaviour
CodeChecker should inspect LC_ALL and LANG environment variables. If a non-UTF-8 locale (such as C or POSIX) is detected, it should automatically degrade to a standard ASCII-only format.

Disclaimer: I wrote the issue manually but used Gemini to sharpen up the technical details in the description.

Dominant language
Python
Stars
2.6k
Forks
494
Avg merge
6d 24m
Merged PRs (30d)
23

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Ericsson/codechecker

All issues in Ericsson/codechecker

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.