Skip to content

Critical Hotfixes

The latest important information about critical issues that could affect your JADE environment.

OpenSSL Upgrade to latest version (1.0.2 to 3.0.8)

5 April 2023 - PAR 69321 - OpenSSL Upgrade to latest version (1.0.2 to 3.0.8) 

 

Issue is addressed by hotfixes in 22.0.01.022, 20.0.02.054, 18.0.01.126 & 16.0.02.063

Important Information

The major version of OpenSSL the Jade Platform uses (for TcpIpConnection class and Application Server to Thin Client encryption) is no longer supported by the OpenSSL Project. This hotfix updates OpenSSL to 3.0.8, which is currently the latest supported version.

There should be no effect to the majority of systems.  You will be able to apply the hotfix as normal; however there are some cases where changes may need to be made:

You are using a certificate that has a weak unsupported cipher
This would be likely only if you use old self-signed certificates, in which case you would have to regenerate the certificate.  The new certificate will work for Jade without the hotfix so you will be able to test the new certificate before hotfix installation if you require one.
  
You have configured Jade to use ciphers that are no longer supported
You will have to edit this custom configuration as there is no way to enable unsupported weak ciphers.  The jommsg log will display the name of the unsupported cipher you are attempting to use.
An example of this configuration would be the SSLCipherNames option in the jade.ini file that can be set to "<default>" for maximum compatibility.

You have defined external functions to ssleay32.dll or libeay32.dll
The names of these OpenSSL libraries have changed to libssl-3-x64.dll, libcrypto-3-x64.dll for 64bit and libssl-3.dll, libcrypto-3.dll for 32bit respectively, so you will have to change the library name for these definitions in Jade.

For these reasons, we strongly suggest you first test the hotfix installation (especially thin-client download) in a test environment with the same configuration (e.g certificate/ciphers) as the intended production environment.

 

Update 5 April 2023:
The extraction of encryption schema files has changed with this OpenSSL hotfix. 
Encrypted schemas extracted with the hotfix present will no longer load into systems not running the hotfix.
Encrypted schemas extracted without the hotfix will load into systems running the hotfix.
This does not affect other normal schema load version requirements.

e.g
Encrypted schema files, extracted with 22.0.01.022 and onwards will not load into earlier versions of 22.0.01 (e.g 22.0.01.021).
Encrypted schema files, extracted with 22.0.01.021 or ealier, are still able to be loaded into all versions of 22.0.01.
Unencrypted schema files are unaffected.

 

If you have any questions, please contact jadesupport@jadeworld.com

PAR 68779 - Dictionaries with invalid Date and Time key values are not sorted correctly in 2020 SP1

24 February 2022 - PAR 68779 - Dictionaries with invalid Date and Time key values are not sorted correctly in 2020 SP1

 

Issue is addressed by 20.0.02.024 hotfix

What is the problem?

Prior to Jade 2020 SP1 Date and Time dictionary keys with an invalid Date or invalid Time value were sorted before valid Date or Time values. This was inconsistent with invalid Date or Time values in TimeStamp or TimeStampOffset keys. Invalid Date or Time values in a TimeStamp or TimeStampOffset key were sorted after valid Date or Time values.
This sort order was also inconsistent with the result of the comparison of an invalid Date or Time value with a valid Date or Time value. An invalid Date or Time value is greater than any valid time. In Jade 2020 SP1 invalid Date or Time values are now sorted after valid Date or Time values.

This change means that it may not be possible to read or remove entries by key in a dictionary that has invalid Date or Time key values.

Due to the change in the key handling any persistent dictionaries with an invalid Date or Time key values needs to be rebuilt to ensure the invalid Date and Time key values are sorted correctly. This applies to persistent instances of MemberKeyDict, ExtKeyDict and DynaDictionary.

What is the solution?

Install the hotfix 20.0.02.024

The hotfix includes code to update any dictionaries with invalid Date or Time key values when a system is upgraded from Jade 2018 to 2020. If the system has already been upgraded to Jade 2020 SP1 a fixup method must be executed manually after applying the hotfix. The fix-up method `RootSchema::Schema::_fixDictionariesWithInvalidDateAndTimeKeyValues` iterates all persistent dictionaries with Date or Time keys scanning for invalid Date or Time values. Any dictionaries found with these key values are rebuilt. Output from the fixup script is written to the InvalidDateAndTimeKeys.log file in the Jade log directory.

Who needs to run the fix-up script?

Any Jade 20.0.02 systems with persistent dictionaries that have either invalid Date or Time key values.

The following is an example of running the fix-up method via command line:

> jadclient path=database-path ini=initialization-file-name app=RootSchemaApp schema=RootSchema executeSchema=RootSchema executeClass=Schema executeMethod=_fixDictionariesWithInvalidDateAndTimeKeyValues

Persistent DynaDictionaries with external keys that have invalid Date or Time values must be rebuilt manually. These instances are reported when the script is run.

LOG4SHELL (log4j) SECURITY UPDATE

22 December 2021 - Important message regarding the Log4Shell Security Update

What is the problem?

There is concern globally around the Log4shell security update. The Jade team is actively reviewing its systems and those of our customers to ensure they are protected from this exposure.

Our review to date has not identified any issues with customer systems that are not mitigated by in-place protections.  Note, the JADE product itself is not susceptible to this vulnerability.

What is the solution?

Jade will continue to actively monitor and review its systems and those of our customers to ensure they are protected from this exposure. 

If you have any questions, please contact our 24x7 Central Systems team in the normal way.

PAR 68716 - RPS Data Pump Issue in 2020 SP1 

20 December 2021 - Many to Many Tables not updated by data pump in 2020 SP1 

 

Issue is addressed by 20.0.02.021 hotfix

What is the problem?

Beginning in 20.0.02, the RPS data pump will not replay updates to Many to Many SQL tables.  
This does not affect the Load operations of Many to Many tables.

What is the solution?

A hotfix has been created to address this issue (20.0.02.021).  

Note: As no incremental Create/Update/Delete operations have been applied to any Many to Many tables while running at 20.0.02, installing the hotfix at any point after this could cause the data pump to error and stop. For example, attempting to delete a M2M table entry that was never created by the data pump. 
 
Before the data pump is restarted and running with the hotfix all Many to Many tables will need to be reloaded. 

The hotfix should only be installed after following the following procedure.  

  1. a) Stop RPS database while it is up to date and synchronized with the Primary 
    b) Install hotfix 
    c) Start RPS database, with the data pump NOT running 
    d) Truncate data from of the many to many tables (to avoid PK collisions) 
    c) Perform Extract and Load (full clones) of each of the Many to Many tables 
    e) Start the data pump  

Alternatively, a full rebuild of the RPS/SQL database pair could be performed with the hotfix installed. 

If you have any questions, please contact jadesupport@jadeworld.com 

PAR 68312 - SDS Reorg Replay Issue

16 June 2021 - Reorg replay became sensitive to variations  in database configuration

 

Issue is addressed by 16.0.02.050, 18.0.01.099 & 20.0.01.047 hotfixes

What is the problem?

Changes to file extent management introduced with hotfixes: 16.0.02.046, 18.0.01.092 & 20.0.01.038 result in logical file extents being allocated according to configuration information associated with a database; specifically, the PersistentDb.DefFileGrowthIncrement INI setting or in the extentSize attribute set using dbutil for each database file, rather than a fixed value. 

A consequence of these changes is that the replay of file reorgs on SDS secondary database became sensitive to file extent size configuration. When a file reorg is replayed on a secondary database and the file (for any reason) has different extent size values to those on the primary database, the reorged file on the secondary will diverge in structure from the reorged file on the primary. Structural divergence will cause failures replaying subsequent journaled updates to the reorged file on the secondary database.

The problem could also occur when hotfixes 16.0.02.046, 18.0.01.092 & 20.0.01.038 (or higher) were installed on the primary database but not the secondary (or vice versa).

What is the solution?

Install the hotfix, 16.0.02.050 18.0.01.099 or 20.0.01.047 

The issue has been resolved by ensuring file reorgs use an invariant extent size to remove sensitivity to variations in primary versus secondary configuration.  

Notes:
1) It is important to ensure that when you install any of these hotfixes (or higher versions) on a primary database you also install it on secondary database before the secondary is required to replay a reorg executed on the primary.  

To check this has been done, a sdsUpgradeVersionCheck audit record is journalled on the primary prior to the execution of a replayable reorg. When the version check audit record is replayed by a secondary database, tracking will halt if (and only if) the minimum level hotfix is not installed.  

The following messages will be logged.
2021/06/09 17:14:08.262 09618-0214 SDS: Secondary upgrade version mismatch: tracking will now halt
2021/06/09 17:14:08.267 09618-0214 SDS: Upgrade to the same software release level as the primary and restart server

2) There is no check to detect the scenario where this hotfix is installed on the secondary and not the primary.

3) We strongly recommend you take an online backup after the hotfixes have been installed so that you can safely execute a roll forward recovery through a replayable reorg with a single consistent set of code files.

PAR 68271 - Persistent Array entries overwritten in Jade 2020

17 May 2021 - Persistent Array entries overwritten

 

Issue is addressed by the 20.0.01.043 hotfix

What is the problem?

In Jade 2020, under certain situations existing entries in an array with variable membership type (Binary, String, or StringUtf8) are overwritten with null when an entry is added or inserted. This can happen to persistent arrays that are upgraded from 2018 if the array membership is variable type. Whether this error occurs is dependent on the maximum length of the array membership type and the population of the array in 2018. The number and length of the initial values and number and length of values added to the array in 2020 are also relevant.

What is the solution?

Install the hotfix 20.0.01.043. Ensure all systems upgraded to Jade 2020 are upgraded to at least hotfix 20.0.01.043.

PAR 68158 and 68240 - Critical Database Issue

5 May 2021 - Database File Corruption

 

Issue is addressed by 16.0.02.048, 18.0.01.096 & 20.0.01.040 hotfixes
Note: These hotfixes supercede: 16.0.02.046, 18.0.01.092 & 20.0.01.038.

What problems do these hotfixes address?

1) A background flush of blocks recently appended to the end of a file could overlap with physical file extension during a database checkpoint. When the overlap occurred, there was a timing window that under some conditions could result in file truncation and data loss.
 
While it is considered a very rare scenario that the issue occur, we advise all users to install the relevant hotfix ASAP.
 
2) Prior to a recent hotfix, the extentSize attribute was only used to control physical file extension. Now it is also used to control the size of logical extents. Jade releases since 5.2.8 have not allowed the control file value to be set smaller than 64K, but legacy values have been carried through release upgrades without being checked or corrected.
 
To handle the legacy values that may be present in user databases that began their life prior to 5.2.8, the database engine now detects and automatically corrects invalid values. When invalid values below the current 64K minimum are detected, a warning is logged in the jommsg log and the control file value is set to zero. A zero value is interpreted to mean use the INI configured value for DefFileGrowthIncrement (default = 128K, minimum = 64K).

What is the solution?

Install the hotfix: 16.0.02.048, 18.0.01.096 & 20.0.01.040

PAR 68158 - Critical Database Issue

15 April 2021 - Database File Corruption

 

Issue is addressed by 16.0.02.046, 18.0.01.092 & 20.0.01.038 hotfixes

What is the problem?

A background flush of blocks recently appended to the end of a file could overlap with the physical file extension during a database checkpoint.
When the overlap occurred, there was a timing window that under some conditions could result in file truncation and data loss.

While it is considered a rare scenario that the issue occurs, we advise all users to install the relevant hotfix as soon as possible.

What is the solution?

Install the hotfix, 16.0.02.046 18.0.01.092 or 20.0.01.038

PAR 67915 - .NET Import Issue in Jade 2018 and 2020

18 December 2020

 

Issue is addressed by 18.0.01.085 & 20.0.01.020 hotfixes
Note: The initial hotfixes 18.0.01.084 and 20.0.01.018 were withdrawn and replaced by these two.

What is the problem?

With the release of Jade 18.0.01, the .NET external component library wizard was updated to support two new type conversions.

  • DateTimeOffset .NET type now maps to TimeStampOffset JADE type
  • Byte[] .NET type now maps to Binary JADE type

Both of these types previously mapped to JadeDotNetType in earlier releases.
Hotfix 18.0.01.074 was later released, as it was found the new Binary type conversions were not working.

It has now come to our attention that as of hotfix 18.0.01.074 (including 20.0.01), any assemblies that were imported with the previous mapping (Byte[] to JadeDotNetType) can cause exceptions if attempting to access properties or methods with these types.

What is the solution?

To ensure backwards compatibility while also supporting these new mappings, we are releasing a new hotfix in Jade 18.0.01.085 and 20.0.01.020 that supports both the old and new type mappings. Any assemblies imported prior to Jade 18.0.01 will continue to function as expected after applying this hotfix.

However, as this was not introduced with the initial release of 18.0.01, it may require a fix-up script to be run to correct the generated JadeDotNetType methods and compatibility flags.

Who needs to run the fix-up script?

Any Jade 18.0.01 or 20.0.01 systems that have had .NET assemblies imported/re-imported in either release AND have imported either of the following:

  • Imported .NET classes with properties, fields, method/event parameters/return values of the type DateTimeOffset
  • Imported .NET classes with properties, fields, method/event parameters/return values of the type Byte[]

    The fix-up method `RootSchema::Schema::_fixDotNetImportMethodsAndSetFlags` will need to be executed once after applying the hotfix if the system meets the above criteria. This script will modify and recompile the necessary generated methods for affected assemblies, as well as set some compatibility flags on the generated assembly meta data.

    We have also provided another method `RootSchema::Schema::_fixDotNetImportCompatibilityFlags` that will just perform setting the compatibility flags. This method should be used if the method changes are deployed to the system.

    Alternatively, any imported .NET assemblies that meet the above criteria can be re-imported after applying the hotfix. This will cause the methods to be generated correctly and compatibility flags to be set.

    The following is an example of running the fix-up method via command line:

> jadclient path=database-path ini=initialization-file-name app=RootSchemaApp schema=RootSchema executeSchema=RootSchema executeClass=Schema executeMethod=_fixDotNetImportMethodsAndSetFlags

 

Help-Icon-01

Need help?

If you have hit a snag in your download or install we recommend:

We offer different support options depending on your needs and platform usage; take a look at the Support page for more details.

Visit Support