Note: Uninstall of the PTF is not provided. Once the PTF is installed, the entire installation must be uninstalled and the Release 1.3 package installed again to revert to the original Release 1.3 package. However, the PTF may be reapplied if necessary.
Problem Abstract |
PTF Fix Information |
Defect/Platform |
|
|
|
CBOB
|
Cannot republish values |
In the Current Republished Value pane, when selecting a value for an attribute setter (that is, when the Setter radio button is selected) the drop-down list did not include any values reachable through the component instances. Often only "??" appeared in the list making it impossible to set the value. |
51818 All Platforms |
Object Builder
|
OBMODELPATH environment variable causes DSEDuplicateUUID exception |
When using the OBMODELPATH directory to load a base project and its dependent projects, Object Builder terminates with a DSEDuplicateUUID exception. This only occurs when a copy of the model file (obm.uni) is stored under the
project directory. This can occur when Object Builder creates a backup of the model. Object Builder opens the backup model first, but refers to objects stored in the real model. At this point the DSEDuplicateUUID exception is thrown since there is already a copy of
this model in memory.
This has been fixed so that Object Builder only searches the 'model' directory and not any other modelx directories.
|
52586 All Platforms |
Attribute initializer not correctly emitted |
In the R1.3 GA, attribute initializers were not emitted for attributes in Keys and copy helpers, and also in Java BOs. These initializers are now emitted. If any code must be run when a class is loaded (which in java could otherwise be implemented as a static class initializer method), the following technique can now be used from within Object Builder: On the BO implementation, define a static attribute of type int, and a static method that returns a type int. In the initializer entryfield for the attribute, enter a call to the static method. The static method can now complete whatever initalization is required, and simply return any int to complete the (dummy) static attribute initialization. This technique can be used for both Java and C++ BOs. |
51212 All Platforms |
Incorrect Specific DDL for Inheritance with Key Attributes |
In a DO inheritance scenario, the generated specific DDL file may have contained an incorrect where clause if the table attribute name was different from the DO attribute name for an inherited attribute. With the application of the PTF, the PO attributes should appear with the correct names. |
50289 All Platforms |
ArrayIndexOutOfBounds exception generating DDL with inheritance |
There is a generic java exception that can pop up in Object Builder displaying the message n >=n(where n is some number). If you look in the window where Object Builder was started, you
will see an ArrayIndexOutOfBounds exception. The ArrayIndexOutOfBounds exception is a generic java exception that points to an error in Object Builder. There are two known reasons why you might get this exception:
1. an error in Object Builder migration
2. an error with BO inheritance
If you see this exception, here's how to tell if it is one of these known problems. If not, it should be submitted as a new defect to the Component Broker support team.
1. Check to see that your DO attributes are all mapped back to the BO attributes. If not, this is the Object Builder migration problem. The workaround is to go into the Data Object Interface page
of the smartguide and move the unmapped attribute(s) into DO state data, click finish, save the model, reopen the model and regenerate the DDL.
2. If all DO attributes are mapped back to the BO attributes and you have BO inheritance with the child BO inheriting an attribute that was of a complex type (i.e. a business object), then this is the BO inheritance problem. This problem has been fixed by this ptf.
|
51767 All Platforms |
Iterate doesn't work with view |
In a scenario which involved query over a view, the select clause in the generated DDL should have used the POs which are mapped to the retrieve method for the DO. With the PTF, the correct PO will be used during the query. |
50312 All Platforms |
Foreign Key datamembers incorrectly defined |
Foreign key datamembers may be incorrectly defined in the DOImpl.ih file. Indicators include the presence of too many datamembers, duplicate datamembers or datamembers of the wrong types (::ByteString_var being quite common). This problem occured for keys with "unsigned short" or "unsigned long" attributes. The Object Builder code generator has been fixed to support the presence of these types in keys. The DOImpl .ih file emitted by Object Builder now declares the set of protected datamembers for foreign key attributes in the DO of the correct types. |
51370, 51452 All Platforms |
Horizontal Inheritance Java Exception when saving Child DOImpl |
Object Builder produces the exception "Invalid macro name:_2POAttribName_" when the user finishes the smartguide on a DOImpl without mapping the retrieve() method to at least one PO. The only side effect is that the internalizeData() method on the DOImpl has a "#error" pragma in its method body. The DOImpl is otherwise well-formed. This is a common occurrence when creating the child DOImpl in a horizontal partitioning (attribute overriding) inheritance scenario. Object Builder has been fixed to tolerate an unmapped retrieve() method. Given an unmapped retrieve() method, Object Builder (1) no longer produces an exception in the console window and (2) emits an empty method body instead of a "#error" for internalizeData(). |
50284 All Platforms |
Object Builder generating incorrect code in DOImpl |
Foreign key datamembers of type "enum" are emitted in the DOImpl.ih file with a type of "::ByteString_var". This problem occured for keys with enum attributes. The Object Builder code generator has been fixed to support the presence of enums in keys. The DOImpl .ih file emitted by Object Builder now declares the protected datamembers for enum-typed foreign key attributes as enums instead of bytestrings. Also, the DOImpl .cpp file emitted by Object Builder now correctly casts PO attributes (mapped under the enums) to enums. |
51287 All Platforms |
File adornments not exported |
File Adornments (that is, Prologue and Epilogue) were not exported correctly. Adornments in the model would not be reflected in the exported/imported version of that model. File adornments can now be successfully exported and imported via XML. |
49451 All Platforms |
Database error migrating XML to CB 1.3 |
SQL error when running applications built from 1.2 xml files, into 1.3 ObjectBuilder. The importer for 1.3 was missing the case where no database type was defined, as in 1.2 where it should default to DB2. The database type is now defaulted to DB2 in the case of 1.2 xml files, hence eliminating the SQL error. |
50608 All Platforms |
Rose Bridge loses inheritance relationship |
OBImport was sensitive to the order of packages when setting up inheritance relationship, specifically the case where the child was added before the parent. This is no longer the case. Inheritance relationships can be established in any order. |
51042 All Platforms |
Object Builder duplicate name detection is case sensitive |
When the user created a schema from an interface that had two attributes that differed only in case (for example id and ID), because the DB names are not case sensitive, one of the two schema columns was not created.
When the Add PO\Schema Smart Guide comes up, OB defaults the column names so that they are mutually unique within the Schema. With the application of the PTF, the schema columns are correctly created. Both columns are created on the schema object and the .sqx file is correct. When two PO attributes differ only in case, just tacking on a number to the duplicate column name should suffice. There's no workaround for existing schemas, the solution is delete the PO under the corresponding DOImpl and recreate the PO and Schema. |
51453 All Platforms |
Code added to pushed down method is lost
|
When the user opens and finishes the DOImpl Smart Guide, the code changes for the push down methods are no longer lost. |
51980 All Platforms |
Methods not deleted |
The DOImpl user defined methods can now be deleted.
For an existing DOImpl, open the corresponding DOInterface properties Smart Guide and Finish it. The DOImpl user defined method will disappear from the OB Method Panel list. |
51982 All Platforms |
Object Builder freezes when saving model |
In very rare cases, when saving a model an exception was thrown. This error occurs on a few models which run through a special part of the saving algorithm that was very rarely used. This code now works. |
51938 All Platforms |
OBModelPath is now used during project creation |
Added the support to search for new dependent project directories based on the OBModelPath property. Instead of having to specify the full qualified path name of a project directory in the "Project Dependencies" SmartGuide, the user now has the option of only having to specify the project directory name. For the user to exercise the option, the OBModelPath property must be set and the project directory name must be a valid directory within the set path. |
50575 All Platforms |
localReference code should not be provided for specialized home
|
In the R1.3 GA, the code for Home implementations was incorrectly using _self(), instead of this. The usage primarily occurs in the code generated for the Add method in a relationship. The generated code for homes will now use "this" instead of "_self". The usage of _self in BOs is unchanged. |
50960 All Platforms |
Workarounds for InstallShield 5.1 Bug
|
Application install images using InstallShield 5.1 scripts would not allow selective installs. Also, it was not possible to run the 'setup.exe' from the command line or MS Explorer due to base path length restrictions. Consequently, a 'setup.bat' is emitted into the directory containing the application install image which can be used to run the 'setup.exe'. |
49606 All Platforms |
InstallShield 5.1 error in generated Setup.rul
|
InstallShield 5.1 install scripts would not compile for multiple application families. |
50839 All Platforms |
Client: Unable to createIterator() |
Without the fix, customers will not able to select attributes across multiple tables inside the DDL. Also, iteration will fail because of sequence numbers not being in the correct order. |
49399 All Platforms |
internalizeData function creates datasequence in wrong order
|
This is identical to defect 49399 (see above) but the problem is isolated to caching services only. It works with embedded SQL. |
51254 All Platforms |
Application Adaptors |
segment fault on reactivateObject in BOIM Home |
When a customer application attempted to either run a method, or invoke string_to_object on the ORB for a BO which was removed by a previous transaction, a segment fault was recorded in the activity log. When the PTF is installed, segment faults will no longer appear in the activity log for this scenario. |
50878 All Platforms |
Data corruption using atomic mixin and caching service |
The R1.3 Late Breaking News suggested workarounds which won't be required once the PTF is applied. When the customer had configured the Container "behaviour for methods called outside a transaction" to "start new transaction and complete the call", AND configured the BO as "caching", AND configured the DO implementation as "DB/2 Caching Services", then updates made on the BO were not always correctly reflected in the corresponding DB/2 database record. When the PTF is installed, updates to the BO will be correctly reflected in the corresponding DB/2 database record(s). |
50566 All Platforms |
transient transactional problems
|
Transient objects used in atomic transactions (start transaction containers) will now be committed properly. |
51125 All Platforms |
System Management
|
Client timeout errors and configuration activation hang |
The fix for this defect insures that the system manager properly aquires DCE credentials after a re-start. Without the fix, the customer sees various "client timeout" pop-ups when using the system management interface, and the activation will hang right after "Verification completed" stage. |
50438 All Platforms |
Configuring Client Run Time failed |
The fix for this defect allows an AIX Client-only install to be configured via SMIT without error. Without the fix, the customer saw the following error during configuration: BHG1406E Cardinality error - there is already a forward relationship. |
50297 AIX |
Can't restart the CBConnector service |
The fix is to set an attribute when spawning the child process so that the child processes does not inherit all the file descriptors open by bgmain.exe. bgmain can be restarted again if it dies without having to kill all the Application servers and the ORB daemon. |
50950 All Platforms |
Transactions
|
Turning trace on causes repeated GPF in activity log |
If trace is turn on in a server that has PAA APPC support configured, then GPF (handleSignal) exceptions occur in the activity.log file if this fix is not applied to 1.3. These handleSignal exceptions are in the trace code so trace is not produced either. |
50132 All Platforms |
Security
|
authn_and_refresh thread GPF in DCE LIB on App Server |
The fix enhances the periodic refreshing of a server's DCE credentials. Without this fix, there were occasional server failures when the configuration was left active for a period of time with no application activity.
|
51776 All Platforms |
Query
|
Invalid opcode fault in Query |
The destruction of the query result iterator caused the system to fail. This problem appeared only on AIX. After the application of the PTF, deleting the query result iterator returned by the query-evaluator interafaces will procede normally; the memory consumed by the iterator will be freed. |
49130 AIX |
ORB
|
somorbd: Major memory leak with Java Client
|
Closes memory leak in the Orb daemon when running with a Java client. |
50920 All Platforms |
Orb mem leak in typecode while running Query |
Closes memory leak in an application server when running Query. |
51253 All Platforms |
Leak running query test
|
Closes a leak when strings are contained in Anys. This occurred when running Query. |
51657 All Platforms |
Still leaking mem when running query performance test |
Closes memory leak that could occur in client and server. |
51769 All Platforms |
fault using DII -add_in_arg |
Avoid corrupted object typecodes and resultant unpredictable behavior when inserting an object into an Any. An application using DII and add_in_arg could encounter this. |
52502 All Platforms |
Addtional Problem Information |
Exception thrown loading model on Rel 1.3 PTF |
Certain models may display an "Invalid macro name:_DOFWDOAttribName_" exception when:
1. Loading a pre-1.3 PTF model that contains transient DO Impls into the 1.3 PTF
2. Finishing the smartguide on transient DO Impls on the 1.3 PTF migrating to this ptf level.
The exception is due to an error in the CB/390 getKey() method. This exception will not prevent migration on Windows NT or AIX and can be ignored in those environments. However, if you wish to eliminate this message, or you are running in a CB/390 environment, you may obtain a new template file from IBM. Please contact your IBM Sponsor to obtain this template and reference defect number 53473.
|
53473
All Platforms |
Multiple Java client hangs accessing cached Java BOs |
In cases where you are running multiple simultaneous java clients against a server running Cached JavaBOs, you may experience server hangs which cause your clients to wait indefinitely. If you run into this situation, you need to modify the setting that advises DB2 on the average number of applications expected to be running. To do this, go the the DB2 Control Center, and select:
system -> -> Instances -> DB2 -> Databases
right-click the database in question, and select Configure...
On the Applications tab in the window that comes up, go to the item titled Average number active applications whose setting is probably at the default, which is 1. Increase that number to a value significantly larger than the number of java clients that you expect to use.
If you are running these java clients locally on the server, it also helps to start each applet or application from a separate MS DOS Window.
|
53066
All Platforms
|
After the PTF is applied, to start the application servers, name servers, and daemons, follow the steps below:
Before applying the CB 1.3 PTF on AIX, stop all the running application servers, name servers, daemons, and System Management Service.
Restart System Management service and the servers. First, start System Management service.