Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Verifier crashes on a call to a varargs method with two or more arguments

未关闭
#349 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
1-2 天
新手友好度
55/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
java
领域
compilers

调研方向

Start by running the minimal reproducer in main and trace how the verifier checks the count("a", "b") invocation against the varargs method. The issue does not name a source file or test, so locate the invocation-checking code and its existing tests. Done means the reproducer prints Correct! Passed Verification. instead of crashing.

由索引模型根据 Issue 内容生成。

描述

bug

Impact: verification stops with an internal error. Found while building a test fixture; no example blocked yet.

Description

Calling a user-defined varargs method with two or more arguments crashes (Index 1 out of bounds for length 1): the arguments are matched one-to-one with the single array parameter.

Minimal reproducer

public class Repro {
    static int count(String... names) {
        return names.length;
    }

    public static void main(String[] args) {
        int n = count("a", "b");
        System.out.println(n);
    }
}

Expected

Correct! Passed Verification.

Actual

Exception in thread "main" java.lang.RuntimeException: 
Error while checking CtMethodImpl
  on main(String[] args) { 
  with 
Error while checking CtBlockImpl
  on { 
  with 
Error while checking CtLocalVariableImpl
  on n = count("a", "b"); 
  with 
Error while checking CtInvocationImpl
  on count("a", "b"); 
  with Index 1 out of bounds for length 1
Caused by: java.lang.RuntimeException: 

Reproduced on main at 0472025e (liquidjava-verifier 0.0.35); also on fbfb4e23 and 0.0.33 in the original form.

Context

Found while turning bugs mined from real open-source Java (fixed upstream or still present) into study examples for the error-message study.

主要语言
Java
星标
67
派生
36
平均合并
2 天 3 小时
30 天内合并 PR
29

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

liquid-java/liquidjava 的其他 Issue

查看 liquid-java/liquidjava 的全部 Issue

相似的 Issue

更多 Java Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。