Bridge For Git 2.15.9 startup java exceptions JVMJZBL1047W "return code=100"
search cancel

Bridge For Git 2.15.9 startup java exceptions JVMJZBL1047W "return code=100"

book

Article ID: 393472

calendar_today

Updated On: 04-09-2025

Products

Endevor

Issue/Introduction

Running Bridge For Git on Mainframe using Java 17.
After upgrading to 2.15.9 using Solution LU16342, it fails to start:

Job log shows this exception sequence:  

java version "17.0.10"
 IBM Semeru Runtime Certified Edition for z/OS (build 17.0.10+7)
 IBM J9 VM (build z/OS-Release-17.0.10.0-b01, JRE 17 z/OS s390x-64-Bit Compressed References 20240223_58 (JIT enabled, AOT enabled)
 OpenJ9   - c01a096209b
 OMR      - 33cf48f8d6f
 IBM      - 7394519
 JCL      - 69658227a1a based on jdk-17.0.10+7)
 JVMJZBL1027I Using output encoding: IBM-1047
 JVMJZBL1016I MVS commands are ENABLED
 JVMJZBL1023N Invoking org.springframework.boot.loader.PropertiesLauncher.main()...
 JVMJZBL1056I Arguments to main...
 JVMJZBL1057I --spring.config.additional-location=file:/usr/local/CA/cai/CADeploy/BFG/v2.15.9/application.yml
 JVMJZBL2010E Exception occurred invoking org.springframework.boot.loader.PropertiesLauncher.main()
 JVMJZBL2007E Stack trace follows:
 java.lang.reflect.InvocationTargetException
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.base/java.lang.reflect.Method.invoke(Method.java:574)
     at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
     at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
     at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
     at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:467)
 Caused by: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is java.lang.Except
 ionInInitializerError
     at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.jav
 a:165)
     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:585)
     at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:
 147)
     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732)
     at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:409)
     at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
     at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164)
     at com.ca.endevor.boot.BootloaderApp.main(BootloaderApp.java:45)
     ... 8 more
 Caused by: java.lang.ExceptionInInitializerError
     at java.base/java.lang.J9VMInternals.ensureError(J9VMInternals.java:206)
     at java.base/java.lang.J9VMInternals.recordInitializationFailure(J9VMInternals.java:195)
     at org.apache.catalina.startup.Tomcat.<clinit>(Tomcat.java:1216)
     at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:194)
     at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationConte
 xt.java:184)
     at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.jav
 a:162)
     ... 15 more
 Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field static final boolean java.io.FileSystem.useCanonCache
 s accessible: module java.base does not "opens java.io" to unnamed module @e60ecb8
     at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
     at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
     at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:184)
     at java.base/java.lang.reflect.Field.setAccessible(Field.java:178)
     at org.apache.tomcat.util.compat.JreCompat.<clinit>(JreCompat.java:131)
     ... 19 more
 JVMJZBL1014I Waiting for non-daemon Java threads to finish before exiting...
 JVMJZBL2999I JZOS batch launcher elapsed time=21 seconds, cpu time=5.350000 seconds (zOS release 29)
 JVMJZBL1047W JZOS batch launcher completed with Java exception, return code=100
...

Cause

Tomcat was upgraded to 9.0.99 in version 2.15.9 due to vulnerability fix for CVE-2025-24813.

Resolution

In the started task add this java option to resolve the problem:
IJO="$IJO --add-opens=java.base/java.io=ALL-UNNAMED"

Additional Information

NOTES:

  1. This problem is not related to the original vulnerability, but rather an incompatibility with Java 17.
    Configuring the JVM with --add-opens to expose internal packages does not re-enable the underlying vulnerability, it just grants reflective access to java.io.* classes for other components within the same JVM process, which is a requirement for certain internal operations under the stricter module system introduced in Java 17.

  2. Java 17 is supported with Bridge For Git from version 2.15.3 onwards.