SAS® Web Application Server fails to start with " java.lang.TypeNotPresentException: Type org.apache.geode.cache.Cache"


SAS® Web Application Server 2026-03-M8 fails to start with the following error after you apply the SAS® 9.4M8 (TS1M8) Q1 security update hot fixes in the sas-security-update-2026-03-M8.zip file:

java.lang.TypeNotPresentException: Type org.apache.geode.cache.Cache

This issue affects only SAS 9.4M8 platforms that contain a "-" in their SAS Configuration directory, as shown in the following example:

/opt/sas/config-mid/Lev1

The hot fix IT_xxx log shows that new geode jars are not copied and old geode jars are deleted. As a result, geode jars are missing in the SASServer1_1/lib directory, as shown in the following example:

2026-04-07 07:34:06 LogLineWriter - info: Setting ro project property: filesUpdated -> true
2026-04-07 07:34:06 LogLineWriter - info: [delete] Deleting: /opt/sas/conf-mid/Lev1/Web/WebAppServer/SASServer1_1/lib/geode-common-1.15.1.jar
2026-04-07 07:34:06 LogLineWriter - info: +Task: property
2026-04-07 07:34:06 LogLineWriter - info: Setting project property: versionless.base.file.name -> conf
2026-04-07 07:34:06 LogLineWriter - info: [echo] copy new conf jar
2026-04-07 07:34:06 LogLineWriter - info: fileset: Setup scanner in dir /opt/sas/SASHome/SASVersionedJarRepository/eclipse/plugins/
Geode_Full_1.15.2.0_SAS_20260112103958 with patternSet

{ includes: [conf*.jar] excludes: [] }

2026-04-07 07:34:06 LogLineWriter - info: [copy] No sources found.
2026-04-07 07:34:06 LogLineWriter - info: [copy] No sources found.

Workaround

To circumvent this issue, complete the following steps:

  1. With the 7-zip utility, inside the sas-security-update-2026-03-M8.zip file, update the jarmaint_for_configdirs.xml file as follows, which located in the sas-security-update-2026-03-M8\products\instqualtool__M3X009__prt__xx__sp0__1\en_updateconfigpicklists.zip
    \jarmaint_for_configdirs
    directory.

    Original
    <!--Create variable to hold regex result -->
    <var name="versionless.base.file.name" unset="true"/>
    <propertyregex  property="versionless.base.file.name"
                    input="@{jarFileToReplace}"
                    regexp="[a-z0-9-]+(?=-)"
                    select="\0"
                    casesensitive="false" /> 

    Updated
    <!--Create variable to hold regex result -->
    <var name="versionless.base.file.name" unset="true"/>
    <propertyregex  property="versionless.base.file.name"
                    input="@{jarFileToReplace}"
                    regexp=".*\/([a-z0-9-]+)(?=-)"
                    select="\1"
                    casesensitive="false" />

  2. Save the file.

  3. Retrieve the new MD5 checksum in 7-zip by right-clicking the file and selecting CRC ► MD5.

    Note
    :
    Because these instructions change the the jarmaint_for_configdirs.xml file's control checksum (MD5), you need to update the en_updateconfigpicklists.xml file with the new checksum. The en_updateconfigpicklists.xml file is located in the sas-security-update-2026-03-M8\product_data\instqualtool__M3X009__prt__xx__sp0__1 directory.

    Update the following line in the en_updateconfigpicklists.xml file:
    <entry name="jarmaint_for_configdirs/jarmaint_for_configdirs.xml" md5="4494a6b1d0bed94ebe800ce6c12623c0" mode="0644" size="95111" ...

  4. Then, run the security update with updated sas-security-update-2026-03-M8.zip file.

This issue will be fixed in future SAS Security Update and Hot Fixes (Q2 2026).