Skip to content

Bug: Misattributed Java.net 8u/11u builds #565

@shipilev

Description

@shipilev

Bug report

If you look at the current sdk java list here, then you would see the 11.0.10 ... 11.0.12 releases for the "Java.net" vendor:

================================================================================
Available Java Versions
================================================================================
 Vendor        | Use | Version      | Dist    | Status     | Identifier
--------------------------------------------------------------------------------
 Java.net      |     | 18.ea.27     | open    |            | 18.ea.27-open       
               |     | 18.ea.26     | open    |            | 18.ea.26-open       
               |     | 18.ea.7.lm   | open    |            | 18.ea.7.lm-open     
               |     | 17           | open    |            | 17-open             
               |     | 17.ea.3.pma  | open    |            | 17.ea.3.pma-open    
               |     | 17.0.1       | open    |            | 17.0.1-open         
               |     | 16.0.2       | open    |            | 16.0.2-open         
               | >>> | 11.0.12      | open    | installed  | 11.0.12-open        
               |     | 11.0.11      | open    |            | 11.0.11-open        
               |     | 11.0.10      | open    |            | 11.0.10-open        
               |     | 11.0.2       | open    |            | 11.0.2-open         
               |     | 8.0.302      | open    |            | 8.0.302-open        
               |     | 8.0.292      | open    |            | 8.0.292-open        
               |     | 8.0.282      | open    |            | 8.0.282-open        
               |     | 8.0.265      | open    |            | 8.0.265-open   

But where do those binaries came from? There is no 11.0.10...11.0.12 in the jdk.java.net Archive. Same goes for 8.0.265...8.0.302.

These binaries have the metadata of OpenJDK builds:

$ java -version
openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment 18.9 (build 11.0.12+7)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.12+7, mixed mode)

$ java -Xinternalversion
OpenJDK 64-Bit Server VM (11.0.12+7) for linux-amd64 JRE (11.0.12+7), built on Jul 14 2021 12:53:10 by "openjdk" with gcc 4.4.7 20120313 (Red Hat 4.4.7-23)

...and they do not include Shenandoah GC:

$ java -XX:+UseShenandoahGC
Unrecognized VM option 'UseShenandoahGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

...which suggests they were built by Oracle? If so, they should be labeled as such, since current "Vendor" is misleading. There is a major caveat in the ecosystem that Oracle does not build their 11u builds from upstream OpenJDK, which makes their attribution as "-open" even more misleading.

To reproduce

$ sdk list java

...as above

System info

Linux x86_64, Xubuntu 20.04

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions