typetools / typetools/checker-framework

Checker framework doesn't output similar logs for Windows and Linux

Open
#5,665 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
1.1k
Forks
440
Avg merge
1d 12h
Merged PRs (30d)
134

Description

We have started to integrate Checker Framework with the Checkstyle project.

The logs in Windows and Linux are not similar.

From Windows: (snippet from complete logs)

[WARNING] D:\checkstyle\src\main\java\com\puppycrawl\tools\checkstyle\checks\TranslationCheck.java:[632,16] [argument] incompatible argument for parameter args of Violation.
  found   : @Initialized @NonNull String @Initialized @Nullable []
[WARNING]...........

From Linux: (snippet from complete logs)

[WARNING] /home/vyom/IdeaProjects/checkstyle/src/main/java/com/puppycrawl/tools/checkstyle/Checker.java:[342,20] [argument] incompatible argument for parameter args of Violation.
  found   : @Initialized @Nullable String @Initialized @NonNull []
  required: @Initialized @NonNull Object @Initialized @NonNull []
[WARNING]...........

Along with this the order of logs is also incorrect due to a known issue.

The string required: @Initialized @NonNull Object @Initialized @NonNull [] isn't present anywhere in Windows logs.

How to reproduce the issue:

Clone the repo https://github.com/checkstyle/checkstyle

$ mvn -e --no-transfer-progress clean compile -P"checker-nullness-optional-interning",no-validations

The issue in Checkstyle is being tracked at https://github.com/checkstyle/checkstyle/issues/12695


Linux:

$ java --version                                                                                    
openjdk 17.0.6 2023-01-17
OpenJDK Runtime Environment (Red_Hat-17.0.6.0.10-1.fc37) (build 17.0.6+10)
OpenJDK 64-Bit Server VM (Red_Hat-17.0.6.0.10-1.fc37) (build 17.0.6+10, mixed mode, sharing)

Windows:

> java --version
openjdk 17.0.6 2023-01-17 LTS
OpenJDK Runtime Environment (Red_Hat-17.0.6.0+10-1) (build 17.0.6+10-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-17.0.6.0+10-1) (build 17.0.6+10-LTS, mixed mode, sharing)

Contributor guide

Open the contributing guide

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.

Research direction

Start by reproducing the issue with mvn -e --no-transfer-progress clean compile -P"checker-nullness-optional-interning",no-validations and compare the linked Windows and Linux logs. Review the Checkstyle issue and the referenced Maven Compiler issue; done means the Checker Framework diagnostics are consistent across both platforms, including the reported required line and log ordering.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.