#1108559 cbmc: FTBFS with default Java 25

Package:
src:cbmc
Source:
src:cbmc
Submitter:
Vladimir Petko
Date:
2026-01-26 01:45:04 UTC
Severity:
normal
Tags:
#1108559#5
Date:
2025-07-01 04:16:53 UTC
From:
To:
Dear Maintainers,

The package cbmc ftbfs with default Java 25.
The relevant part of the build log:
---------------
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 85 source files with javac [debug target 1.8] to target/classes
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING :
[INFO] -------------------------------------------------------------
[WARNING] bootstrap class path is not set in conjunction with -source 8
  not setting the bootstrap class path may lead to class files that cannot run on JDK 8
    --release 8 is recommended instead of -source 8 -target 1.8 because it sets the bootstrap class path automatically
[WARNING] source value 8 is obsolete and will be removed in a future release
[WARNING] target value 8 is obsolete and will be removed in a future release
[WARNING] To suppress warnings about obsolete options, use -Xlint:-options.
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/AccessibleObject.java:[30,21] java.security.AccessController in java.security has been deprecated and marked for removal
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[35,39] sun.reflect.generics.repository.MethodRepository is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[36,36] sun.reflect.generics.factory.CoreReflectionFactory is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[37,36] sun.reflect.generics.factory.GenericsFactory is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[38,34] sun.reflect.generics.scope.MethodScope is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[39,30] sun.reflect.annotation.AnnotationType is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[40,30] sun.reflect.annotation.AnnotationParser is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[33,30] sun.reflect.annotation.AnnotationParser is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[34,30] sun.reflect.annotation.AnnotationSupport is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[35,30] sun.reflect.annotation.TypeAnnotationParser is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[36,30] sun.reflect.annotation.TypeAnnotation is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[37,39] sun.reflect.generics.repository.ConstructorRepository is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/Class.java:[194,9] java.lang.SecurityManager in java.lang has been deprecated and marked for removal
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/Class.java:[194,36] getSecurityManager() in java.lang.System has been deprecated and marked for removal
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[71,14] sun.reflect.generics.repository.ConstructorRepository is internal proprietary API and may be removed in a future release
[WARNING] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[125,5] sun.reflect.generics.repository.MethodRepository is internal proprietary API and may be removed in a future release
[INFO] 20 warnings
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/Object.java:[40,7] flexible constructors is a preview feature and is disabled by default.
  (use --enable-preview to enable flexible constructors)
[ERROR] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/Class.java:[199,24] cannot find symbol
  symbol:   method checkClassLoaderPermission(java.lang.ClassLoader,<nulltype>)
  location: class java.lang.ClassLoader
[INFO] 2 errors
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.795 s
[INFO] Finished at: 2025-06-11T20:28:42Z
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (default-compile) on project models: Compilation failure: Compilation failure:
[ERROR] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/Object.java:[40,7] flexible constructors is a preview feature and is disabled by default.
[ERROR]   (use --enable-preview to enable flexible constructors)
[ERROR] /<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/Class.java:[199,24] cannot find symbol
[ERROR]   symbol:   method checkClassLoaderPermission(java.lang.ClassLoader,<nulltype>)
[ERROR]   location: class java.lang.ClassLoader
[ERROR] -> [Help 1]
---------------

#1108559#10
Date:
2026-01-26 01:43:02 UTC
From:
To:
cbmc compiles its own rt.jar and replaces it on the boot classpath. It
does not work with Java > 8 (boot class path can only be appended,
java.base classes are replaced via --patch-modules, cbmc does not
provide compatibility APIs for the relevant Java versions.
The solution to implement Java > 8 support will require usage of the
bytecode manipulation library such as byte-buddy to instrument runtime
code.