github / github/codeql

False positive for java 21 switch case with null, default

Open
#22,040 2 comments 0 reactions 0 assignees View on GitHub
false-positive Stale
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

### Version
CodeQL CLI: 2.25.6
github/codeql-action: v3
JDK: 21
OS: ubuntu-latest

### What happened?
CodeQL Java extraction fails on valid Java 21 switch syntax.

Error:
- Unable to parse source file: `.../PrintixService.java`
- Parse error at line 84 column 23: Syntax error on token "default", invalid Expression

Then finalize fails with:
- "CodeQL detected code written in Java/Kotlin but could not process any of it."
- exit code 32

### Minimal reproducible example
```java
static String f(Object x) {
return switch (x) {
case null, default -> "v";
};
}

Contributor guide

Open the contributing guide

Research direction

Reproduce the CodeQL Java extraction failure with the minimal Java 21 switch example and the referenced PrintixService.java case. Start by tracing the Java extractor's parsing of switch labels involving null and default. Done means valid Java 21 source extracts successfully and finalization processes the Java code without the reported errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.