The following table lists issues fixed in this release:

Component Issue Number Description
ABLTOOLS OCTA-39416

When running ABL unit with a very large number of tests (20,000+) , error 14675 (SYSTEM ERROR: Attempt to define too many indexes for area  database “) is raised and the test run fails to complete.

ABLTOOLS OCTA-41857

ABL Unit fails with error "Test instance is invalid" for certain test procedures.

ADE OCTA-44015

Incremental df does not contain Encryption lines when both DB's are TDE enabled.

DB OCTA-41437

Target database gives the following error:
(-----) Error: Did not find an index start operation during forward processing.
when replicating data from a long running transaction on the source database.

Connections to the target database are then impossible anymore.

DB OCTA-40526

Since 11.7.6, 12.2, PROSTRCT STATISTICS reports new LOCKCHN metrics without the index names/numbers the chain belongs to.

DB OCTA-43296

Prior to 12.0, the PROMON 2PC LIMBO menu option display may crash or display garbage characters at the end of each user’s line. These characters may sometimes be control characters that can interfere with the terminal.

Also the PROMON 2PC LIMBO menu option does not properly follow PROMON’s page sizing mechanism.

DB OCTA-39731

If you are running roll forward on a target database in a hot standby environment you may encounter an error where the block update counter is equal to the note update counter preventing roll forward from continuing.

For example:
(1028)  SYSTEM ERROR: Rollforward Apply AI note, BKUPDCTR=41689, note updctr=41689.

Additionally, a subsequent roll forward retry may result in an error suggesting the data extent has been truncated.

For example:
SYSTEM ERROR: Invalid block 2220542 for file /data/db-op/op_20.d1, max is 2220479 (2329)
SYSTEM ERROR: Possible file truncation, 2220542 too big for database. (612)

DB OCTA-39482

Both DBAGENT and ABL client may crash with a memory violation when reading the _block VST if the database has an 8k block size.

DataServers-MSSQLSRV OCTA-24167

Information logging still happening even with -Dsrv logginglevel,0 enabled and it shouldn't.

This will show more logging than expected.

DataServers-MSSQLSRV OCTA-40809

FOR FIRST or FOR LAST statement generates ORDER BY clause in SQL query even though  PRGRS_ALWAYS_INDEX,0  and startup parameter -noqryorderadd or QUERY_-TUNING(NO-QUERY-ORDER-ADD) is specified for Dataservers

Lang OCTA-41354

You may get an invalid handle (unknown value) when trying to dynamically access a buffer in a ProDataset defined in a class, if a subclass defines a buffer for the protected temp-table in that ProDataset.

Lang OCTA-19343

Updating procedure libraries in a WebClient application fails if the DLC environment variable is not set.

Lang OCTA-43354

The following issues can happen if you have a FOR EACH loop with a CATCH block, after an error is caught by that catch block:

* If you have a BREAK BY clause, records in the current break group get skipped after the error is handled
* If a statement with I/O interaction, such as UPDATE, is executed, or if there is a reference to the RETRY function, the default ‘retry’ behavior will not happen, and you will get the next record, if any.

Lang OCTA-38826

The AVM changes the widget IDs assigned to extent fields which have been given explicit IDs. This can cause conflicts with other IDs and results in error "Widget ID NNN not unique".

Lang OCTA-38275

Session may crash when resetting user identity (via SET-DB-CLIENT(), for instance) to another tenancy in a multi-tenant database, if one of more queries are still open.

Lang OCTA-43444

Referencing a .NET class generated by IKVM will not compile if it contains a method that is not accessible.

Lang OCTA-39770

Profiler output shows time spent for FOR statement at line 0 instead of actual FOR statement line number .

Lang OCTA-39325

In Progress Application Server for OpenEdge, RETURN ERROR from the Connect procedure does not delete the AppError object.

Lang OCTA-42884

If you are using -cpinternal utf-8, and you dynamically set a logical browse cell’s format using utf-8 characters, unexpected characters will display in the cell.

Lang OCTA-42918

Deleting a widget in a trigger on that widget (for example, deleting a button in the trigger for the button’s CHOOSE event) may result in error “UIM Error: Invalid UIC method called. (4044)”.

Lang OCTA-23220

Deleting a persistent procedure via a request in that same procedure running on an AppServer, either Progress Application Server for OpenEdge or Classic, may randomly cause a fatal error (error 49).

Lang OCTA-41273

Compiling an OPEN QUERY statement with multiple BY clause options causes the session to crash

Lang OCTA-43636

Client fails to run a request  that passes an OOABL object to PASOE, if the class for the object is a subclass and one of the super classes has a PROTECTED temp-table with a BEFORE-TABLE, and the temp-table is not referenced in that subclass. The same can happen when serializing the object with BinarySerializer built-in class.

Lang OCTA-40843

Calling SUBSTITUTE() on a LONGCHAR that that has the Unknown value causes the session to crash or generate error 49.

Lang OCTA-31756

All ABL statements which support unicode-filenames may fail when the filename is a character constant and cpinternal is UTF-8.

The statements impacted by this issue are:

OUTPUT TO

INPUT FROM OS-DIR(),
INPUT FROM ()
INPUT THROUGH
DEFINE IMAGE ... FILE
OUTPUT THROUGH
DOS
OS-COMMAND
OS-APPEND
OS-COPY
OS-CREATE-DIR
OS-DELETE
OS-RENAME
PROCEDURE ... EXTERNAL  (DLLs)

Lang OCTA-32266

ABL client may crash when working with JSON objects that hold references to other JSON objects, if the referenced objects are deleted prior to the JSON object that has a reference to them.

Lang OCTA-34848

ABL client leaks memory when a LONGCHAR value is returned from a function, method, or property and is compared to the UNKNOWN value.

Lang OCTA-41167

A sub-procedure FINALLY block whose associated block handles stop conditions via ON STOP UNDO, LEAVE or a CATCH block for stop, can prevent a STOP-AFTER in the caller from stopping processing.

OEM OCTA-40899

The dbagent process will crash if the database it connects to has a very high number of extents.

OEM OCTA-40951

Starting the OpenEdge Database from OpenEdge Management Console (OEM) after enabling SSL and configuring sslkeyaliaspassword results in an error 'SSL error 12063-SSL Server Unable to load private key...' in the respective Database logs. The Database fails to start from OEM.

OEM OCTA-39556

OpenEdge Explorer (OEE) console login page cannot be restricted accessing it from remote machines even after adding TrustedClients property with 127.0.0.1 and localhost in fathom.properties file. This is to prevent accessing OEE from Internet or Intranet and allow only local server access which is our enterprise business need.

PASOE OCTA-39669

“/oepasInstanceLocation/bin/tcman.sh clean -A” command do not archive non default pasoe log file locations

PASOE OCTA-40446

The PASOE OESSO LoginModel performs unnecessary ClientPrincipal processing in the Spring Security layer and decreases client request performance.

PASOE OCTA-40708

Registering PAS service excludes unchanged environment variables

PASOE OCTA-43654

Performance degradation when multiple ABL sessions in PASOE MS-Agent are receiving a large ProDataSet simultaneously

PASOE OCTA-44329

PASOE works as expected without the Cisco VPN and fails with the Cisco VPN switched on.

PASOE OCTA-40931

PASOE session manager client sessions stuck in READING state

PASOE OCTA-28659/ADAS-22494

PASOE HTTP SSO does not copy Client-Principal properties from the original user login C-P Token when creating the accesstoken returned to a client.

PASOE OCTA-40104

PASOE 12.x SOAP web service with namespace with a specific URL can raises an error while same web service under 11.7 runs without error.

PASOE OCTA-42769

Importing an ABLapplication without the dash character fails when one with a (-) dash is deployed first (vice-versa as well)

PASOE OCTA-44209

An hour after starting a PASOE instance a Solaris server, the CPU usage increases so that almost the 100% of the CPU is used.

PASOE OCTA-43244

After initiating a refresh of a PASOE instance by terminating all ABL Sessions using terminateABLSessions, requests may begin to fail with “No sessions available.” followed by “Error handling request\! Status=-1003” messages in the agent log. The agent may then eventually run out of worker threads with the message “Cannot allocate another thread.”

PASOE OCTA-43449

After initiating a refresh of a PASOE instance by dynamically updating the instance’s propath in openedge.properties, requests may begin to fail with “No sessions available.” followed by “Error handling request\! Status=-1003” messages in the agent log. The agent may then eventually run out of worker threads with the message “Cannot allocate another thread.”

PASOE OCTA-40547

4GLTrace always results in some level of overhead to ABL execution. However, when 4GLTrace is enabled for PASOE, higher levels of concurrency (16 or more concurrent requests in a single PASOE agent) can cause contention writing to the agent log file, which can result in a significant slow down in processing requests. This is true whether 4GLTrace is enabled via either agentLogEntryTypes or defrdLogEntryTypes.

SQL OCTA-40533

SQL Query containing SSQ (Scalar SubQuery) in SELECT list along with SSQ in OR condition of WHERE clause can result in a Crash or an Internal Error.

SQL OCTA-39035

Select query with an OR condition such that all parts of the OR go for an index scan shows "record lock" error, even when NOLOCK hint is specified.
Example:
select "cust-num", "order-num", "order-date" from pub.order where ("cust-num" = 53) or ("order-num" = 2) with(nolock);