InterSystems Documentation 
Caché Maintenance Kit Release Notes Archive


Welcome and thank you for using InterSystems products.
The current maintenance kit is Caché 2011.1.3. This document is only part of the available maintenance kit documentation. The full set of documents is available in the docs subdirectory of the product installation directory. Release notes and related material are available as follows:

This document is a historical archive of changes since the original 2011.1 release, but prior to the current maintenance kit. Changes unique to the current maintenance kit are described in relnotes.htm.
This document includes the following sections:

General Announcements
InterSystems advises all users to recompile their application classes as part of the upgrade process so as to take advantage of all the performance improvements as well as other changes that may affect them in this release.
Anyone upgrading from a Caché release at or before 5.0 will need a new license key.

InterSystems News, Alerts and Advisories
From time to time, InterSystems publishes items of immediate importance to users of our software. These include alerts, mission critical issues, important updates, fixes, and release announcements.

The most current list can be obtained from the InterSystems Web site.

Users should check this list periodically to obtain the latest information on issues that may have an effect on the operation of their site.


Online Documentation
As a convenience to our users, InterSystems provides online access to documentation for recent product versions at the InterSystems documentation Web site.

Change Reports for Previous Maintenance Kits
The following are the previous maintenance releases of Caché 2011.1:

Change Reports for 2011.1.2

Category: Config Mgr
Platforms: All
DevKey: STC1999
Summary: LIST^%SYS.NAMESPACE should always return enabled status if type=5

Description:

This change allows the listing of namespaces to include those on accessible remote systems.

Category: Ensemble.JavaGateway
Platforms: All
DevKey: HCR249
Summary: Remove debug command from %Net.Remote.Gateway

Description:

This change reoves a debugging call that was inadvertently included in the product release.

Category: Object
Platforms: All
DevKey: MAK3216
Summary: When releasing locks on ^rINDEX/^rINDEXCLASS use immediate mode

Description:

In order to ensure consistency of the routine and class index, Caché sometimes locks ^rINDEX and ^rINDEXCLASS. With this change, when those locks are released, Caché uses immediate mode to ensure they are released straight away even if the release takes place in a transaction.

Category: Object
Platforms: All
DevKey: MAK3363
Summary: Correct up to date checking for MAC routines

Description:

Due to a problem caused by a previous change, when checking if a MAC routine was current, the absence of a corresponding INT routine, would return true. This is incorect and is fixed by this change.

Category: Object.CacheProvider
Platforms: All
DevKey: JCN1233
Summary: Only make literals with plain constants inside SQL double parathensis

Description:

SQL standards suggest that simple constants inside of double parathensis should be sent as literals, however, Caché should continue to substitute constants in more complex situations. With this change, in the query
select COUNT ((1)), fCQname from QueryTest
the value "1" should be sent to Cachél as is. However,
SELECT count(*)
    FROM SAMPLE.PERSON
    WHERE ((Age = 20 and Name='A') or Age=30)
would be sent as the following:
SELECT count ( * )
    FROM SAMPLE.PERSON
    WHERE ( ( Age = ? and Name = ? ) or Age = ? )
using parameter substitution.

Category: Object.DotNet
Platforms: All
DevKey: IYB756
Summary: Binding server: use a process private global to turn on/off output redirection

Description:

If a .NET client stopped redirecting input from the server, this could turn off output redirection in a future connection that had the same process id or in a connection that was reused via connection pooling. This change corrects both problems.

Category: Object.Gateway
Platforms: All
DevKey: HCR238
Summary: OPEN commands in %Net.Remote.Gateway to check for timeout

Description:

This change adds timeout guards to the OPEN commands used by %Net.Remote.Gateway to prevent hangs.

Category: Object.Library
Platforms: All
DevKey: DMC829
Summary: CacheSSH: Update to libssh2-1.3.0

Description:

this change updates libssh2 to version 1.3.0 to correct issues seen in 2010.2.x installations in the field involving SSH packet handling and socket I/O in earlier versions.

Category: Object.Library
Platforms: All
DevKey: MAK3293
Summary: Trap errors in stream object inside %Net.FtpSession

Description:

When using %Net.FtpSession to send or receive data, Caché uses a stream on its side to put/receive the data. However, this process was not checking for errors from the stream class such as it running out of disk space for a file stream.

With this change, Caché will detect this error and report an error code from the %Net.FtpSession class with the error information from the stream embedded.


Category: Object.Storage
Platforms: All
DevKey: DLP2895
Summary: Object Storage - fix bug in %Delete that caused a failed referential action to be ignored

Description:

A bug that caused a foreign key constraint failure to be ignored when deleting an object is now fixed. This bug occurred when deleting an instance of a class that is targeted by a foreign key constraint and also contains streams. If the foreign key referential action fails, then that failure status was not honored and the delete was allowed to proceed.

Category: SQL
Platforms: All
DevKey: DPV3940
Summary: SQL: Correct class definition optimistic concurrency locking with SQL LockTimeout=0

Description:

This change corrects a problem where compiling an SQL statement will encounter an <UNDEFINED> error when the SQL LockTimeout is set to 0.

Category: System
Platforms: All
DevKey: CDS2020
Summary: Fix alignment violation with long property names

Description:

Using long property names within an XECUTE could cause an access violation on x64 platforms. This is now fixed.

Category: System
Platforms: All
DevKey: GK969
Summary: Fixed a class cache invalidation race condition

Description:

This change corrects a rare race condition in the class loader where recompilation could leave invalidated heap segments exposed and cause them to be corrupted.

Category: System
Platforms: All
DevKey: GK971
Summary: Fixed large object destruction hang

Description:

A large object hierarchy destruction may take some time to finish, and moreover if there is any retained block, the system may hang. This change alters the way this situation is handled to release the retain block if there are any jobs waiting for it

Category: System
Platforms: All
DevKey: JLC1542
Summary: Preserve mode when editing replacement string of modal translation

Description:

When using ^NLS to edit the replacement string from a modal translation table (such as JIS), the mode byte was being lost. This would cause an access violation when the replacement string was needed in case of a translation error. The mode byte is now preserved.

Category: System
Platforms: All
DevKey: JLC1544
Summary: Preserve virtual string stack for callin clients

Description:

This change corrects a situation when, under some circumstances, successive callins would allocate space without freeing it upon return which would lead to memory exhaustion.

Category: System
Platforms: All
DevKey: JLC1545
Summary: Release virtual string stack in freesstack() for USETHREAD

Description:

This change corrects a situation similar to JLC1544 but involving job servers and callin clients. The memory exhaustion issue is now avoided.

Category: System
Platforms: All
DevKey: JO2486
Summary: Fixes to avoid corruption due to interaction between expansion and compaction/defragmentation or $prefetchon

Description:

A problem where database expansion of a database which is being compacted or defragmented could result in database degradation has been resolved. The problem occurs when a database is expanded while the defragment/compaction process is in the process of reading blocks from the database. The most likely occurrence of this is on UNIX® systems during a defragment operation which triggers expansions in order to complete. Windows and OpenVMS systems are less likely to experience this problem when the defragment process triggers the expansion as the expansion occurs in a single operation. On UNIX® the expansion request triggers a series of smaller operations.

Category: System
Platforms: All
DevKey: SAP1516
Summary: Fix possible hang and expansion freeze in create, delete, or dismount database

Description:

This corrects an issues where the handling of disk i/o in processing database expansion could hang the process.

Category: System
Platforms: All
DevKey: SAP1520
Summary: Fix EXPDMN writing multiple messages to cconsole.log for the same database

Description:

When more than two databases are expanding, the expansion daemon writes multiple messages to cconsole.log.

With this change, expansions will get at least 2 messages per database, and at most 3.


Category: System
Platforms: All
DevKey: SJ2757
Summary: Put back support for $V(-5/-6 for 2K block size for 2011.1.x

Description:

Limited read-only support for 2KB datasets is still needed in 2011.1, this change puts back some code needed for SYS.Database.Copy

Category: System.Cluster Specific
Platforms: All
DevKey: JO2485
Summary: Allow rollback to mount dismounted databases during cluster recovery

Description:

A problem introduced in 2011.1 where transactions would not be properly rolled back during cluster recovery at startup has been resolved. The problem could also occur during cluster failover if the master node has to mount a database during the journal roll forward phase. This is an unusual situation because the slaves cannot take out locks in a cluster mounted database which is not mounted on the master so this (generally) only would occur if the master has some database mounted which is not mounted by a slave and then the master fails and the slave performs cluster recovery.

Category: System.Journaling
Platforms: All
DevKey: HYY1660
Summary: Ensure system is frozen on journaling issues in a timely, accurate fashion

Description:

This change addresses an situation on Windows and OpenVMS that a journaling issue may take 60 seconds for the control process to detect before it freezes the system as opposed to the advertised 10 seconds.

It also addresses an issue (mostly on Windows and OpenVMS, less likely on Unix) that could cause the control process to freeze system on something that does not warrant the freeze (for example, a false journaling issue), although the control process would unfreeze the system in 60 seconds. The behavior may result in unnecessary interruption of system availability or failovers of mirror servers.


Category: System.Journaling
Platforms: All
DevKey: HYY1688
Summary: Fix journal.log corruption caused by failed expansion

Description:

This change corrects an issue that resulted in a corrupted journal.log when there is no more space in the manager directory.

Category: System.Journaling
Platforms: All
DevKey: HYY1690
Summary: Adapt JD monitor timeout to WD freeze timeout for backup

Description:

This change corrects a situation where, during backup, the system may pause users due to journal daemon inactivity in certain circumstances such as the journal files are in the same filesystem as databases and the filesystem is frozen as part of the backup procedure.

Category: System.Journaling
Platforms: All
DevKey: HYY1694
Summary: Allow user to stop journaling on system set to freeze on journal error

Description:

This action reverts a prior change that changed the control process monitoring rule such that it did not freeze a system that is set to freeze on journal error if journaling is stopped (as opposed to retrying a failed journal I/O operation or stuck in somewhere).

On a system set to freeze on journal error (FreezeOnError=1 in cache.cpf), stopping journaling, although risking loss of journal data, is allowed and does NOT cause the system to freeze thereafter.


Category: System.Journaling
Platforms: All
DevKey: HYY1695
Summary: Prevent WD from consuming 100% CPU when system is frozen on journal issues

Description:

This corrects an issue that caused the write daemon to consume 100% of the CPU when the system was frozen on journal I/O issues.

Category: System.Mirroring
Platforms: All
DevKey: JO2481
Summary: Correct coordination between mirror dejournal jobs and mirror backup shutdown/disconnection process

Description:

This change corrects several issues with mirroring where

Category: System.Mirroring
Platforms: All
DevKey: SML1404
Summary: Fix problem when failover member was removed and recreated

Description:

This change corrects a possible failure caused when a failover member removed itself, and then add itself back into the mirror set as failover member.

Category: System.Monitoring
Platforms: All
DevKey: SAP1517
Summary: Correct calls in System.Dashboard to prevent SYSLOG errors

Description:

Spurious SYSLOG entries are produced by %MONAPP every 5 minutes if there are remote (ECP) databases mounted.

Category: System.Shadowing
Platforms: All
DevKey: HYY1699
Summary: Address a shadowing issue with journal file name prefix

Description:

This change addresses an issue in shadowing where a source journal file name prefix specified is different from the "canonical" one on the platform (lowercase on Windows and uppercase on OpenVMS) could cause shadowing to take up unnecessary network bandwidth between the source and the shadow.

Category: System.StartUp
Platforms: AIX
DevKey: SAP1490
Summary: Fix locking shared memory (memlock) failure on AIX

Description:

This corrects a problem where using the memlock config option on AIX, the lock always fails with the message:
*** Warning - Cache was unable to lock shared memory ***

Category: System.StartUp
Platforms: All
DevKey: SAP1522
Summary: Default libpath to "" if not found in .cpf file

Description:

If LibPath is missing in the .cpf file, startup fails immediately. With this fix, a missing LibPath entry is treated as a null entry, and startup continues.

Category: System.Very Large Systems
Platforms: All
DevKey: SJ2747
Summary: Change retry logic in Integrity checking when possibly false positives

Description:

This fix changes the way retrying is done in Integrity checking when blocks are being changed while the global is being checked. Checking should now give similar numbers of errors found as in previous versions, but also identify them as possibly being due to blocks being changed.

Normally, Integrity checking should be done on quiescent globals.



Change Reports for 2011.1.1

Category: CSP.Gateway
Platforms: All
DevKey: CMT941
Summary: Ensure that HTTP POST request messages containing zero-length XML-based payloads are correctly processed

Description:

This change will ensure that HTTP POST request messages containing zero-length XML-based payloads are correctly processed. It corrects a fault introduced in a previous version that resulted in requests of this type not being processed and eventually timing-out.

Category: DeepSee.DeepSee II UI
Platforms: All
DevKey: YSD2628
Summary: DeepSee - Architect - Build Cube to show Facts for 1 core

Description:

This change now correctly displays the number of facts for 1 core.

Category: DeepSee.DeepSee II UI
Platforms: All
DevKey: YSD2630
Summary: DeepSee - UI - add code to UI pages necessary for switching namespace

Description:

This change corrects errors that occurred when changing to a new namespace using the Switch dialog.

  1. If the user selects a namespace that is appropriate, the UI page can be refreshed for the newly selected namespace (previously user was returned to the Home page).
  2. If the user selects a namespace that is not appropriate, for example %SYS, then the Home page is displayed.
  3. In rare cases, if a namespace is selected but the web application is disabled, or for some other reason the URL for the new namespace could not be prepared, the user is returned to the Home page.

Category: Installation.UNIX
Platforms: Macintosh
DevKey: ALE2122
Summary: Flush DS cache after creating a new group or user in Mac OS X install

Description:

With this change, scripts used to create a new group or user in Mac OS X install (by default cacheusr) will now call "dscacheutil -flushcache" to ensure new user and group are available for use in Unix utilities such as "chown" immediately.

Category: Installation.UNIX
Platforms: UNIX®
DevKey: ALE2123
Summary: Synchronize DMG engine postinstall script with regular Unix install

Description:

This additions updates the DMG installer engine postinstall script to use the same logic to start control process as regular UNIX® install does and it will pass all recently added variables to ^INSTALL.

Category: Languages.COS
Platforms: All
DevKey: CDS1982
Summary: Fix "Expression object code is too big" for $CASE

Description:

A $CASE with many cases could cause a compiler error "Expression object code is too big". This has now been fixed.

Category: Languages.COS
Platforms: All
DevKey: CDS1983
Summary: Fix compile problem with TRY syntax errors

Description:

There could be <SYSTEM> errors or memory access violations when compiling a routine with syntax errors in a TRY statement, such as a missing CATCH clause. This correction eliminates the error.

Category: Languages.COS
Platforms: All
DevKey: CDS2004
Summary: Nested $SELECT could give <SYSTEM> error during compile

Description:

Under some conditions nested $SELECTs could throw a <SYSTEM> error when the routine is compiled. This is now fixed.

Category: Languages.COS
Platforms: All
DevKey: GGC512
Summary: Correct problem with ptrie arrays during merge

Description:

When a merge command is executed, there is a chance that subsequent kill operations on a single subscript in the updated array would kill the entire array instead of just the intended single subscript.

This change corrects that.


Category: Languages.COS
Platforms: All
DevKey: GGC514
Summary: Correct various ptrie local array problems

Description:

This change fixes a circumstance where Caché could produce a <SYSTEM> abort or a segmentation violation when the application attempts to KILL an array or executing a $ORDER on an array.

Category: Languages.COS
Platforms: All
DevKey: JO2461
Summary: Correct job command problem passing tcp devices in conjunction with certain amount of other data

Description:

This change fixes a rare problem which could cause the JOB command to fail while passing an open socket to the child process. This usually occurred when also passing the symbol table or a large amount of argument data, although neither of these conditions guaranteed the JOB command fail.

Category: Languages.MVQuery
Platforms: All
DevKey: JPL1479
Summary: Correct code generation for F corr Summation

Description:

This change corrects errors in F/Acorr summation operations in MultiValue.

Category: MgtPortal
Platforms: All
DevKey: YSD2618
Summary: Management Portal - Change Code to call new API for contructing URL based on newly selected namespace

Description:

This change fixes a problem where a URL may not be constructed correctly if there are multiple Web Applications defined for the same namespace.

Category: MgtPortal
Platforms: All
DevKey: YSD2633
Summary: Management Portal - Switch namespace - put in code to get around a bug between javascript and ZenMethod

Description:

This change inserts code into the GetNewURL method in %ZEN.Portal.standardPage to compensate for a browser error that occasionally loses the value for a defaulted argument.

Category: MgtPortal
Platforms: All
DevKey: YSD2636
Summary: Management Portal - Fix Favorites links created with /csp/sys instead of other namespace

Description:

When a user selects a new namespace from the Home page, the URL is not changed until the user selects Go to actually go to that page. At that time, the new namespace becomes part of the URL.

If the user clicks the Add Favorite before selecting Go, the URL that is saved for future use does not contain the new namespace. This causes a "Page does not exist" error when it is later used.

This change correct that situation.


Category: MgtPortal
Platforms: All
DevKey: YSD2638
Summary: Management Portal - Fix item help links for Advanced Settings: Memory/Startup/Compatibility

Description:

This change fixes the "Help" links in the table for each item in the row so selecting them goes to their help page.

Category: MgtPortal
Platforms: OpenVMS
DevKey: YSD2640
Summary: Management Portal - Fix method GetNewURL in %ZEN.Portal.standardPage

Description:

This corrects a situiation where attempting to navigate to the Management Portal from the SAMPLES could fail on OpenVMS due to a malformed URL.

Category: MgtPortal
Platforms: OpenVMS
DevKey: YSD2642
Summary: Management Portal - Fix URL is not properly preserved after Save

Description:

When Save is pressed, the page should return to the Home page. But on an OpenVMS system, the URL built for the Home page may be missing the instance name.

This is now fixed.


Category: Migration.TSQL
Platforms: All
DevKey: DLP2837
Summary: TSQL - Support CREATE INDEX as a dynamic statement

Description:

Tbis change now allows the TSQL DDL CREATE INDEX statement to be executed as a dynamic statement when the statement dialect is Sybase or MSSQL.

Category: Networking.ECP
Platforms: All
DevKey: GK947
Summary: Corruption of long Unicode strings across ECP

Description:

This fixes a problem where in very rare cases,

the value returned by the server might be corrupted.

This is described as rare because, in production systems, most unicode strings get compacted.


Category: Networking.ECP
Platforms: All
DevKey: GK948
Summary: ECP recovery of partially processed request bufs

Description:

In rare conditions, when an ECP request SET is partially processed before the server is shutdown or fails, and then the server is restarted, some application server sessions might be rejected and not recovered.

This is now fixed in all ECP servers


Category: Networking.ECP
Platforms: All
DevKey: GK950
Summary: Fixed an ECP server pre-fetcher hang

Description:

In the infrequent case where a reverse $ORDER is being pre-fetched by the worker daemon while the previous block is being modified by the ECP daemon, the server may report a deadlock condition and hang the ECP daemon and possibly the system. This change avoids that situation.

Category: Object
Platforms: All
DevKey: MAK3276
Summary: Make %DeleteOID procedure block method to avoid overwriting 'oid' public variable

Description:

This change marks the %DeleteOID method in the %Library.Persistent class as procedureblock so the 'oid' variable does not leak out.

Category: Object.Class Compiler
Platforms: All
DevKey: MAK3289
Summary: Split generated INT code at 64k lines

Description:

The newly implmented support for large routines does not allow routines with over 64k of lines. With this change, the class compiler will keep track of the number of COS lines and will split the generated COS code at a little less than the 64k line limit and then generate another COS routine with the rest of the code in it.

Category: Object.Storage.Default
Platforms: All
DevKey: DLP2785
Summary: Object Storage - acquire an exclusive lock on insert of atomic object if in a transaction

Description:

If %Concurrency is true, then locks are acquired and released to guarantee consistent reads of objects during a transaction. All write operations are also guaranteed to be consistent. For %Concurrency values greater than 2, locks are acquired and not released until the object is destructed.

This change corrects a concurrency hole where an atomic object (one that occupies a single global node on disk) is inserted inside of a transaction. In this case, the atomic write was not protected by a lock and a competing process could update the newly inserted object. This is only an issue when the transaction containing the original insert is rolled back. In that case, an error is reported by the rollback.

An exclusive lock is now taken out on all objects during insert as long as %Concurrency is true and, if the object is atomic, the insert occurs within a transaction.


Category: Object.Storage.Default
Platforms: All
DevKey: DLP2832
Summary: Object Storage - fix COUNTERLOCATION default value

Description:

This change corrects an error introduced in 2011.1.0 that caused the default global location for counters to be incorrectly generated. If the storage definition specified a COUNTERLOCATION, then that value was incorrectly ignored. This value is now properly used for the default counter location.

Category: Security
Platforms: All
DevKey: WDS383
Summary: Correct RSA-SHA signature encoding for SHA-2 functions

Description:

This change corrects the method signature on SHA-2 functions.

Category: Security
Platforms: All
DevKey: WDS412
Summary: GetMKEncKeyIDList() big-endian Unicode fix

Description:

This change corrects an incorrect character conversion by big-endian Unicode systems that caused errors when processing encrypted keys.

Category: Security
Platforms: All
DevKey: YSD2631
Summary: Management Portal - Fix problem for when "Change password on next login" is checked for user

Description:

When the user definition has "Change password on next login:" checked, the next time the user logs in a prompt to change the password appears. This change corrects a situation where, under some circumstances, that prompt could result in an <undefined> error.

Category: Special Projects
Platforms: All
DevKey: CDS1995
Summary: Fix U2 crash after $ZU(11,2)

Description:

This corrects an error in U2 where, after issuing $ZU(11,2), a subsequent GOTO to an entry point with a formal parameter list could get an access violation.

Category: Special Projects
Platforms: All
DevKey: CDS1998
Summary: Fix a U2 argument stack issue with $ZU(11,6)

Description:

This change correct an error that mishandled arguments during a call.

Category: SQL
Platforms: All
DevKey: DPV3874
Summary: Deferred SQL, correct oref.prop referenced as host variables in the SQL statement

Description:

This change corrects a situation where a deferred SQL statement that included a host variable reference of the form oref.prop was improperly translated into generated code.

Category: SQL.ODBC
Platforms: All
DevKey: JCN1208
Summary: Remove changes adversely affecting forward cursor recycling

Description:

Modifications made to cursor recycling to prevent store errors on the server side introduced new problems for statements containing multiple streams using a forward moving cursor. This is now fixed.

Category: SQL.ODBC
Platforms: All
DevKey: JCN1209
Summary: Fix unaligned access warnings on decunix5 platform

Description:

Default options on the compiler have changed causing unaligned access errors on decunix5 platform. This explicitly sets the options on the compiler which resolves the problem.

Category: SQL.ODBC
Platforms: All
DevKey: JCN1213
Summary: Fix ProcessRow(false) returning SQL_ERROR at 32K boundary with complete data

Description:

Calls to SQLFetch could return SQL_ERROR(-1) in the case where:

This change handles the status return of 100 on the attempt to fetch the next chunk of data, and return SUCCESS to SQLFetch. The next call to SQLFetch will detect there is no more data and return SQL_NO_DATA_FOUND.


Category: SQL.Server
Platforms: All
DevKey: DLP2841
Summary: SQL Statement - remove redundant FLUSH0 message

Description:

A bug that caused an error when executing dynamic statements via JDBC and ODBC has been corrected. The issue was caused by a flush message sent from the server. The most common symptom of this error was a message count mismatch.

Category: SQL.SQLFiler/TableCompiler
Platforms: All
DevKey: DPV3884
Summary: SQL Filer - Correct code generation issue with piece maps and unique index

Description:

A problem has been corrected where a class that used %CacheSqlStorage with a single property IDKEY index and a data map defined as a $PIECE map could have a syntax error reported when the class was compiled.

Category: SQL.Statement
Platforms: All
DevKey: DLP2849
Summary: SQL Statement - fix initial column offset in %SQL.ClassQueryResultSet

Description:

This change fixes an error that caused a result set returned by a CALL <class_query> SQL statement to fail to send its content to an xDBC client.

Category: SQLManager
Platforms: Windows
DevKey: YSD2617
Summary: Management Portal - Data Migration Wizard - When using IE, uncheck Copy Data does not work

Description:

When using Internet Explorer, after the user unchecks the Copy Data checkboxes and hits Finish (without hitting Next) then Data Migration succeeds. However, if the user hits Next and hits Finish on the next page, the Copy Data checkboxes become checked again and the result is that the data is copied.

This is a problem for Internet Explorer only and has been fixed.


Category: Studio
Platforms: All
DevKey: JN981
Summary: Fix subscript out of range error in TNodes.dll

Description:

When searching for schema prefixes, an unsigned integer could be decremented past zero resulting in a very large integer which exceeded the subscript range permitted for an internal vector class leading to a crash. This change corrects the search algorithm so the error does not occur.

Category: System
Platforms: All
DevKey: CDS1981
Summary: Report correct location after some <STORE> errors

Description:

A <STORE> error may show the routine name but not the line location in the routine. If the error happens in a procedure, private variables would not be visible to the debugger. This has been corrected.

Category: System
Platforms: All
DevKey: CDS1985
Summary: Fix memory overlay when using internal function

Description:

The internal function used by Weblink Developer, could overlay memory and cause access violations in the process.

This has been corrected.


Category: System
Platforms: All
DevKey: CDS1992
Summary: Add missing RTNENQ when large buffers are released

Description:

This changes fixes a vulnerability for sites that use legacy commands like ZLOAD and ZINSERT to edit large routines.

Category: System
Platforms: Windows
DevKey: CDS2005
Summary: Large sequential read could cause access violation

Description:

Reading from a sequential file with format "U", using a very large fixed length READ, could cause an access violation on Windows systems.

This has been corrected.


Category: System
Platforms: All
DevKey: GK940
Summary: Fixed an oref ref-counting issue

Description:

This changes fixes a problem where %OnNew() returned an OREF and the returned value was from a derived class. In this case, the OREF was not properly accounted for and may have been released while it was still "live" resulting in an access violation.

Category: System
Platforms: All
DevKey: GK955
Summary: Clearing $this (set $this = "") to preserve the original context

Description:

Caché clears $this in data-typed property methods to prevent unintentional access to the subclass members.

If the data-type method is invoked from the same type of method as the method of the subclass, clearing $this cleared the caller's context. This change pushes the caller context on the frame stack, and on return from the data-type method it will restore the original context.


Category: System
Platforms: All
DevKey: GK956
Summary: Modified the routine loader to preserve the string stack

Description:

When a large number of routines are loaded as part of an object instantiation, the system may run out of string stack.

This change now properly preserves the string stack contents.


Category: System
Platforms: Macintosh
DevKey: JLC1490
Summary: Rename libcache.dylib as libisccache.dylib on Mac OS X

Description:

Mac OS X 10.7 (a.k.a "Lion") introduced a new shared library called libcache.dylib. In order to avoid the name conflict, Caché's callin library was renamed as libisccache.dylib.

Any Mac OS X program that links with the InterSystems older libcache.dylib will have to be changed to use the new name, libisccache.dylib.


Category: System
Platforms: All
DevKey: SAP1478
Summary: Fix job startup hung in getsym / putsym

Description:

This change fixes an issue where a JOB command using jobservers will sometimes hang and time out. A dump analysis shows the two processes (parent and child) both waiting in the job putsym and getsym (symbol passing) code.

Category: System
Platforms: Windows
DevKey: SAP1480
Summary: Fix process hangs during mailbox processing on Windows

Description:

This entry corrects a situation where repeated use of $VIEW(-1,pid) causes process to hang.

Category: System
Platforms: All
DevKey: SAP1492
Summary: Fix core during shutdown

Description:

This chage corrects a situation that could cause the shutdown process to provoke a core dump.

Category: System
Platforms: All
DevKey: SAP1493
Summary: Fix accvio in a job server

Description:

Under some circumstances a jobserver that receives a sigusr1 signal while in the process of halting can generate an <ACCVIO>. This change prevents that from happening.

Category: System.Cluster Specific
Platforms: OpenVMS
DevKey: SAP1479
Summary: Fix cluster recovery runs even though cluster is up on VMS

Description:

This change corrects a situation where cluster recovery may be initiated after the cluster is up.

Category: System.Journaling
Platforms: All
DevKey: HYY1675
Summary: Disallow ^JRNSTOP on a system set to freeze on journal error

Description:

Stopping journaling via ^JRNSTOP is NOT allowed when the system is set to freeze on journal error (that is, FreezeOnError=1 in Config.Journal or the "Journal" section of cpf etc.), as the system is going to freeze shortly after journaling is stopped.

This change will disallow any attempts to stop journaling in those conditions.


Category: System.Journaling
Platforms: All
DevKey: HYY1677
Summary: Release lock on journal log upon error in purging journal log

Description:

This fix addresses an issue that could cause journal switch to hang after an error in purging the journal log, for example, an error resulting from insufficient disk space in the manager directory (where journal.log resides).

Category: System.Licensing
Platforms: All
DevKey: RJW1935
Summary: Sessionless SOAP requests with user login consume license for too long a period

Description:

This change corrects a problem that would cause too many license units to be consumed by SOAP requests when SOAPSESSION=0 and a username/password login was performed.

Category: System.Localization
Platforms: Windows
DevKey: JCN1211
Summary: Fix localization reference handle and x64 resource loading

Description:

This correction addresses a circumstance where CacheODBC resources were not being loaded in 64-bit Windows environments, but worked OK on 32-bit systems.

Category: System.Mirroring
Platforms: All
DevKey: JO2450
Summary: Clear Mirror NoWrite and ActivationRequired when removing a mirrored db

Description:

The process of removing a mirrored database on a non-mirror member has been updated so that a restart is no longer required before the database can be mounted read/write.

Category: System.Mirroring
Platforms: All
DevKey: JO2454
Summary: Remove the async from the primary's active configuration when the async member stops tracking the mirror

Description:

When an async mirror member stops tracking a mirror, it is now removed from the active configuration on the primary so that it will no longer remain in the mirror monitor. This change has both server and client components so it only takes effect when both the primary and the async member are running a version which includes this change.

Category: System.Mirroring
Platforms: All
DevKey: JO2457
Summary: Correct code which restores journal file prefix when primary startup fails after switching to a mirror journal file

Description:

A problem which prevented a mirror member from recovering when it failed to become the primary and the system was configured with a journal file prefix has been resolved. If, for example, $$CheckBecomePrimaryOK^ZMIRROR() returned 0 and the system was configured with a journal file prefix, it would fail to recover properly and shut down. The console log would contain a series of error messages ending with "PrimaryAbort failed, shutting down instance".

Category: System.Mirroring
Platforms: All
DevKey: JO2463
Summary: Update sfn translation table in journal during jrnswitch without reading database blocks

Description:

This change prevents a rare situation where the write daemon and the journal daemon may find themselves in a deadly embrace during the interval a system is in the process of establishing itself as the primary mirror member.

Category: System.Mirroring
Platforms: All
DevKey: SML1355
Summary: Fix backup failed to start when journal file was purged

Description:

This change corrects a situation where a backup member failed to reconnect to primary if the journal file pointed to by the system had been purged.

Category: System.Mirroring
Platforms: All
DevKey: SML1360
Summary: Fix mirror failed to start when journal files are purged and ^MIRROR is killed

Description:

This change corrects a circumstance where a backup member might fail to reconnect to the primary after upgrade killed ^MIRROR global.

Category: System.Mirroring
Platforms: All
DevKey: SML1362
Summary: Honor the DaysBeforePurge for async member to keep mirror journal files around

Description:

This change allows an async member to keep the mirror journal file for days configured by users. The ^MIRROR routine could configure the 'days' before the mirror journal file be purged. When it is zero, then it will be purged after the journal file is fetched from server and restored to databases.

Category: System.Mirroring
Platforms: All
DevKey: SML1368
Summary: Skip purged journal file when finding first valid journal file

Description:

This change fixes a problem where the backup node reconnect to a primary member could fail when the value in ^MIRROR(mirname,"LastJrnfileValidated") points to a purged journal file.

Category: System.Mirroring
Platforms: All
DevKey: SML1371
Summary: Support Activate/Deactivate mirror set on backup/async members

Description:

This change adds support for users to activate/deactivate (start/stop) specific mirror set on backup or async members.

It adds the SYS.Mirror.IsMirrorStarted() method to detect whether the specific mirror set is started or not; and adds 'Activate Mirror' to the menu option in ^MIRROR routine.


Category: System.Shadowing
Platforms: All
DevKey: HYY1666
Summary: Ensure only one job gets jobbed off to copy journal files from a source cluster node

Description:

This change addresses an issue of cluster shadowing in certain rare circumstances (such as CPU shortage) where multiple jobs might get JOBbed off to copy journal files from one source cluster node, (over)writing to the same destination file and causing cluster shadow dejournaling job to get an error such as <ZQUIT> ExitOnErrorGetRec+3^SHDWX.

Category: System.Trans. Proc.
Platforms: All
DevKey: HYY1665
Summary: Fix TROLLBACK failure at the time of jrnswitch

Description:

This change fixes an issue that could cause TROLLBACK to fail with the (false) error "journaling is disabled" in certain rare circumstance involving an ongoing journal switch.

Category: Utilities
Platforms: All
DevKey: STC1969
Summary: Allow users to log in if lock table full

Description:

This change fixes a problem where, if the lock table is full, a new user cannot log in.

Category: Utilities.Configuration
Platforms: All
DevKey: SML1378
Summary: Fix stale SLM mapping when DB location changed in CPF file

Description:

This change fixes a possible stale SLM mapping when the destination database location is updated in the CPF file before Caché is started.

Category: Zen
Platforms: All
DevKey: DLP2833
Summary: ZEN - Fix metadata retrieval in %DrawTable method of TablePane

Description:

This corrects an error that caused a <INVALID OREF> error when drawing a ZEN Table Pane that uses dynamic SQL.

Category: Zen
Platforms: All
DevKey: SAM140
Summary: Add flag to selectively enable toggle behavior in tablePane row select

Description:

A previous enhancement enabled the user to unselect the current row by clicking on it, making the row click option effectively a toggle and allowing the user to 'select nothing' without having to reload the page. This was a departure from the prior behavior where subsequent clicks on the selected row were ignored and the only way to clear the current selection was to either select something else or go through the API.

This fix adds a flag to tablePane, effectively making the previous enhancement optional.



© 2011, InterSystems Corporation. All rights reserved.