Skip navigation.

Known and Resolved Issues

  Previous Next vertical dots separating previous/next from contents/index/pdf Contents View as PDF   Get Adobe Reader

Known and Resolved Issues

This document provides a list of known and resolved issues for Tuxedo.

 


Known Issues

This document provides a list of known issues for this Tuxedo release.

The following sections describe known problems with the BEA Tuxedo software and include recommended workarounds. The problems are listed by the Change Request (CR) number. The CR number is provided to facilitate the tracking of these problems.

Contact your BEA Customer Support Center for assistance in the tracking of any unresolved problems. When contacting the BEA Customer Support Center, please refer to the CR number.

Table 1 lists known problems for BEA Tuxedo.

Table 1 Known Problems for Tuxedo

  1. CR012652

Sequences and arrays contained by a CORBA::Any cannot be passed remotely due to their lack of a repository ID.


Problem

Sequences and arrays contained within a CORBA::Any cannot be passed remotely. These types do not have a repository ID in the syntax specified for transferring them across the wire. For a description of the Common Data Representation (CDR) Transfer Syntax, see Table 13-2 of The Common Object Request Broker: Architecture and Specification, Revision 2.2.

The repository ID is used by the receiving ORB to unmarshal the type contained by the Any. Without the ID, the ORB cannot obtain sufficient information to unmarshal the data type. This restriction may be removed in a future release.


Platforms

All.


Application Type

CORBA C++.


Workaround

Sequences and arrays can be used within other data types, such as structures, or they can be used directly as parameters.

  1. CR012697

When you use VIEWs, strings are null terminated and characters truncated.


Problem

There is an inconsistency between BEA Jolt and native BEA Tuxedo clients. BEA Jolt does not know what a client and server agreed to exchange—a string or a null-terminated string.


Platforms

All


Workaround

Accommodate a null in the definition of the string.

  1. CR014128

ISL will not start if there is an underscore (_) in the IP name.


Problem

The ISL fails to boot if the -n option has a hostname that contains an underscore. The error written in the user log (ULOG) is:

ISNAT_CAT:1242: ERROR: Bad Internet type of listening address provided: <node name>


Platform

Microsoft Windows.


Workaround

Ensure that the ISL is configured correctly with host and port values.

  1. CR016275

Cannot have two data types for the same field name in input and output VIEWs.


Problem

The member in a VIEW is qualified by the structure name, so the input view and output view may use the same name for a member, but with different data types. However, BEA Jolt does not support this feature and some existing BEA Tuxedo services cannot be accessed by BEA Jolt client. A typical service that uses this feature is a gateway; it translates one data type to another data type with the same name.


Platforms

All


Workaround

Use the VIEW name to qualify the field name. For example, INVIEW and OUTVIEW both have a field birthdate, but one is an integer and the other is a string.

svc.setlnt["INVIEW.birthdate",19980308];

svc.call[null];

String bdate = svc.getStringDef["OUTVIEW.birthdate",null]

  1. CR017633

User's jrepository file needs to be converted to use the services in JREPSVR.


Problem

Because the JREPSVR in BEA Jolt 1.1 has been changed to use FML32 instead of FML16, BEA Jolt 1.1 users should update their BEA Jolt Repository file (jrepository) to use the services in JREPSVR. This buffer type update is recommended, but not required because the old FML16 buffer type can still work with the new JREPSVR.


Platforms

All


Workaround

BEA Jolt 1.1 user should update the BEA Jolt Repository file (jrepository) to use the services in JREPSVR.

  1. CR017675

Changing FML data types does not update JSH with changes.


Problem

It does not appear that after changing the FML field data type from int to string the JSH gets updates.


Platforms

All


Workaround

After you change the FML field definitions, reboot JSL/JSH.

  1. CR018177

client_response() or target_response() method.


Problem

Invocations on a CORBA::Object from a C++ interceptor in the client_response() or target_response() method is not supported. The results of such an operation are not predictable.


Platforms

All.


Workaround

None.

  1. CR018211

RLI administration restrictions.


Problem

The RLI administrative functions of registering, unregistering, and changing interceptor order are not supported while the BEA Tuxedo application is running.

The RLI administrative functions must only be done before issuing the tmboot command or after issuing the tmshutdown command. BEA Tuxedo application results are not predictable if interceptors are administered while the application is running.


Platforms

All.


Workaround

Do not register, unregister, or change the interceptor order while the BEA Tuxedo application is running.

  1. CR018476

Missing host:port on ISL -n option causes Application and TMNTS servers to crash.


Problem

If you define an ISL without a -n host:port entry in a UBBCONFIG file, an application server that uses the notification server (TMNTS) and TMNTS crashes.


Platforms

All.


Workaround

According to RFC 810, the document that specifies the syntax for IP hostnames, hostnames cannot contain an underscore (_) character. Therefore, a listening address such as //my_computer.com:8000 is considered invalid and processes such as ISL and tlisten fail to start.

This is a problem on Microsoft Windows NT systems because hostnames with underscore characters are often used.

If you have a Windows NT system whose hostname contains an underscore, do one of the following:

  • Rename the machine so that its hostname does not contain an underscore, and change the corresponding name in the Domain Naming System (DNS) files or, if you are not using DNS, change the corresponding name in all the local HOST files.

  • Add a DNS alias (without an underscore) to the machine by adding a CNAME record.

  • Add an alias to the %WINDIR%\System32\drivers\etc\hosts file:
    123.45.67.89 my_computer.com mycomputer.com
    where the first entry is the IP address of the machine.

Then perform the following procedure:

    1. Reboot the machine.

    2. In the UBBCONFIG file, use my_computer.com when specifying the PMID entry for this machine in the MACHINES section.

    3. In all other places in the UBBCONFIG file, such as the NETWORK or SERVERS sections, or when starting listening processes, such as tlisten on the command line, use mycomputer.com as the hostname.

  1. CR019447

Signatures get dropped when floating point values are used.


Problem

When a process is determining whether to keep or disregard a previously attached signature on a message buffer, it recalculates the signature on that buffer. If the new signature does not match the old one, then the previously verified signature on the buffer is silently dropped by the system.

The behavior of doubles and floats in this context may cause problems. Signatures are calculated on the encoded representation. For buffer types supplied by the BEA Tuxedo system, this calculation causes doubles and floats to be encoded as XDR doubles. XDR doubles may not have the same precision as the native doubles or floats on your machine.

Therefore, when a buffer containing a floating-point number or double precision floating-point number is transported to a machine with different floating-point precision and decoded on that machine, the resulting value may differ from the original value.

When the decoded number is then re-encoded from native format to XDR format, the encoding may be different. Therefore, the signature will not be verified and will be silently dropped, even if the application did not change the buffer at all.


Platforms

All.


Workaround

If you are using buffer types that are not supplied by the BEA Tuxedo system, replace the _tmencdec function in the types switch to use an encoded format with as much precision as the native format (everywhere).

  1. CR019611

tpcall() fails when it is invoked (with the TPNOCHANGE flag set and FML or FML32 buffers) by clients on pre-Release 7.1 nodes.


Problem

In an MP configuration running multiple releases of the BEA Tuxedo system, a native client running on a release 6.5 (or earlier) node invokes tpcall() for a service on a release 7.1 node. If tpcall() sends an FML or FML32 buffer and the TPNOCHANGE flag is set, the call fails with tperrno set to TPEOTYPE.

This problem does not occur for Workstation clients on pre-release 7.1 nodes.


Platforms

All.


Workaround

Do not set the TPNOCHANGE flag in tpcall() when pre-release 7.1 native clients are calling, with FML buffers, services on a release 7.1 node.

  1. CR020175

Automatic calls to tpterm() may not work for multithreaded and multicontexted clients.


Problem

The BEA Tuxedo system automatically calls tpterm() if a client exits without calling it explicitly. In a multicontexted and multithreaded environment, however, release 7.1 and later systems cannot detect the number of contexts that are active when the client terminates; only a single call to tpterm() is made. As a result, only one context is shut down.

Other limitations, especially when unsolicited thread notification is used, may also exist.


Platforms

All.


Workaround

Make sure that before a multicontexted client exits, it explicitly calls tpterm() for all active contexts.

  1. CR020514

There is a 1K limit on authentication tokens on GWTDOMAIN links.


Problem

The amount of data that can be sent in authorization tokens over GWTDOMAIN links may not exceed 1024 bytes for security reasons.


Platforms

All.


Workaround

There is no workaround for a security provider that needs tokens larger than 1024. A security provider may be able to compress tokens.

  1. CR025411

SET operation fails to reset the state of the class from ACTIVE to OPEN.


Problem

The SET operation is as follows:

TA_OPERATION SET
TA_CLASS T_APPQSPACE
TA_APPQSPACENAME MYQSPACE1
TA_QMCONFIG D:\temp\tmp.1\files/QUE1
TA_LMID L1
TA_STATE OPE

The output does not show the TA_STATE as OPEN, instead it shows it as ACTIVE only.

Note: This happens for tpadmcall only. The SET operation passes for tpcall, tpacall and tpenque.


Platforms

Microsoft Windows 2003 Server.


Workaround

Use tpcall or tpacall instead of tpadmcall.

  1. CR031385

Value of TA_CURDISPATCHTHREADS field in TA_SERVER class in not updated properly.


Problem

The value of the TA_CURDISPATCHTHREADS field in the TA_SERVER class is not updated properly on Windows 2003 whenever there is a new thread started for the server.


Platforms

Microsoft Windows 2003 Server.


Workaround

None.

  1. CR031816

Requests on methods using multithreading appear to time out prematurely.


Problem

In some timing situations involving multithreaded applications, a method can time out too early. A symptom of this problem is an error message similar to the following in the log file: LIBTUX_CAT:669 "ERROR: Message operation failed because of the invalid message queue identifier."

Note that this error message can also result from insufficient configuration settings for options such as MAXACCESSORS and MAXWSCLIENTS. Verify these settings before increasing the timeout settings.


Platforms

All.


Workaround

Increase the UBBCONFIG file settings for BLOCKTIME and SCANUNIT. For example: SCANUNIT 5, BLOCKTIME 6000.

  1. CR039550

Memory leak using poll_next_response() for native client.


Problem

When running a CORBA client in native mode, calls to poll_next_response() create a small memory leak. Because poll_next_response() is typically invoked iteratively, this may eventually result in a NO_MEMORY exception.


Platforms

All.


Workaround

One solution is to use IIOP mode rather than native mode. IIOP mode does not have the problem. Another is to insert a short pause in the iterative loop so that the leak does not expand too quickly. Even a 10 millisecond pause in the loop will greatly slow down the leaking. As large a pause as is acceptable is best.

  1. CR042034

ud32 crashes when SYSTEM_ACCESS=PROTECTED and with -C tpsysadm.


Problem

The ud32 -C tpsysadm crashes when SYSTEM_ACCESS in the configuration file is set to PROTECTED.


Platforms

All.


Workaround

None.

  1. CR042294

ACL Security Failure on tpconnect does not return disconnect to OSI-TP Gateway.


Problem

Whenever a tpconnect (TPSENDONLY) is issued by a client to a service for which the ACL Security fails (client user ID not found in a group for which the service is allowed), a nw_disconnect is not returned to the OSI TP 4.0 Gateway. The following error messages are output to the ULOG:

111324.DALNTSMP44!CONVSERV.240.310.0: LIBTUX_CAT:1515: WARN: Access control violation - user 2 on SITE1 tried to access SERVICE TOUPPER 111324.DALNTSMP44!CONVSERV.240.310.0: LIBTUX_CAT:6187: WARN:

AUDIT_POSTOP

SECURITY FAILURE: who = , operation_name = CONNECT OPERATION,

operation_target = TOUPPER


Platforms

All.


Workaround

If it is a valid client, create the ACL entry.

  1. CR045148

Tlisten has a typo on its usage.


Problem

The usage of tlisten shows as:

tlisten -l naddr [-d dev] [ -u {uid-# |uid-name}]
[-z {0|40|56|128}]
[-Z {0|40|56|128}]

-l naddr should be -l nlsaddr as it appears in the document. This typo misleads the user to enter in an incorrect input.


Platforms

All.


Workaround

Use this usage instead:

tlisten -l nlsaddr [-d dev] [ -u {uid-# | uid-name}] [-z {0|40|56|128}]

[-Z {0|40|56|128}]

  1. CR045947

NO_MEMORY exception on HP.


Problem

Testing of the Active Object Map (AOM) limit for 100,000 active objects gets the NO_MEMORY exception that reports insufficient physical memory. The HP system, on which the test fail, had about 850 MB of physical memory. The Solaris system, which had 1.025 GB, worked okay for the test.


Platforms

HP-UX


Workaround

None

  1. CR046254

TA_DMCODEPAGE returns garbage.


Problem

A DMIB test case tries to create a remote service entry using ud32; its TA_DMCODEPAGE was not passed in as part of the input. The operation succeeds without any issues, but in the return packet, the TA_DMCODEPAGE parameter is returned as garbage.


Platforms

All.


Workaround

Ignore the output for TA_DMCODEPAGE in the return packet.

  1. CR050552

SSL URL syntax parsing not working correctly.


Problem

A URL address list containing randomized address groups followed by comma-separated lists of addresses is not being parsed correctly.


Platforms

All.


Workaround

Do not mix URL types in a list.

  1. CR051108

Tlisten.pw file not the same between BEA WebLogic Enterprise 5.1 and BEA Tuxedo 8.1 or 9.0.


Problem

The creation of the tlisten.pw is different between BEA WebLogic Enterprise 5.1 and BEA Tuxedo 8.1 or later. The impact to the customer is in a mixed environment when there are BEA Tuxedo 8.1 or later masters and BEA WebLogic Enterprise 5.1 non-masters (potentially the same thing could be true for previous versions of BEA Tuxedo ATMI). When booting, the user will get a security violation in the ULOG when trying to connect the other system that has the previous version.

Note: When viewing the files, the contents may look the same, but they are not, the file termination string is different by one character. The only way to ensure they are the same is to do a copy or file transfer.


Platforms

All.


Workaround

To resolve this problem or prevent it from happening, a single version of the ${TUXDIR}/udataobj/tlisten.pw file should be copied to all systems in the domain(s). This file can either be taken from the BEA Tuxedo 8.1 or later home directory or the previous version's home directory.

  1. CR071576

tlisten.pw file not the same between WLE 5.1 and Tuxedo 8.1 or later


Problem

In a mixed environment with Tuxedo 8.1 or later MASTERS and WLE 5.1 non-MASTERS, you will get a security violation in the ULOG when trying to connect the WLE 5.1 system.

This same issue may be true for previous versions of Tuxedo-ATMI.


Platforms

All.


Workaround

Copy a single version of the $TUXDIR/udataobj/tlisten.pw file to all systems in the domain. You can use this file from the Tuxedo 8.1 or later installation or from the previous version's home directory.

When viewing the files, the content may look the same, but they are not. The file termination string is different by 1 character. The only way to ensure the files are the same is to do a copy or file transfer.

  1. CR071624

FML function Fgetalloc and CFgetalloc gives GPF in Windows 2003.


Problem

Fgetalloc gives GPF when proper FBFR*, fieldid is passed.


Platforms

Windows 2003 Server


Workaround

The problem can be fixed in one of the following ways in fml_nt.mak:

  • Use buildclient directly to compile from .c files into .exe files, setting CFLAGS (not CCFLAGS) to specify any extra compiler options.

  • Add the /MD flag to the cl -c line.

  1. CR071960

buildclient and buildserver fails with unresolved references.


Problem

buildclient and buildserver fails with unresolved references.


Platforms

All


Workaround

When building a client or server with the XML library (libtxml), export CC= the C++ compiler before using the buildclient or buildserver command.

  1. CR089272, CR217048

Jolt 8.1 and 9.0 do not work with WLS 6.1 SP4 when security context is enabled.


Problem

An exception is sent when a client request to WebLogic Server 6.1 (when jolt pool is configured) with Jolt 8.1 or 9.0 and the security context is enabled.


Platforms

All.


Workaround

There were changes made to the security feature in WebLogic Server 7.0. Due to that, Jolt had to be changed to work with the new security in WebLogic Server. The result is that if security context propagation is enabled, then Jolt 8.1 or 9.0 clients cannot be used with WebLogic Server releases earlier than 7.0.

  1. CR092413

Inconsistent number of retries to connect to remote domain.


Problem

The number of retries to connect to remote domains are inconsistent when RETRY_INTERVAL value is different for different remote domains in a local domain.


Platforms

All.


Workaround

The retry message is only printed once in the ULOG even when MAXRETRY > 1 and multiple retries are attempted. Check the ULOG for the following:

The ULOG will show "INFO: Stopped retrying domain" if the remote domain could not be reached.

Otherwise, the ULOG will show "Connection established."

  1. CR092441

On a 64-bit platform running Tuxedo 6.5, tppost of a VIEW or VIEW32 to Tuxedo 8.1 or 9.0 sometimes fails with LIBTUX_CAT:1555.


Problem

On a 64-bit platform running Tuxedo 6.5, tppost() of a VIEW or VIEW32 buffer to a Tuxedo 8.1 or later node sometimes fails with:

LIBTUX_CAT:1555: ERROR: Unsolicited message encoding/decoding failed (_tmencdec(TMDECODE) tperrno=12).


Platforms

All.


Workaround

Depending on the specific set of fields contained in the VIEW or VIEW32 buffer, the Tuxedo 6.5 node may not be allocating sufficient space to decode the buffer. The problem either always happens or never happens for a specific VIEW or VIEW32. If this problem is occurring in your application, please contact BEA Customer Support to obtain a rolling patch for the Tuxedo 6.5 node.

  1. CR092647

tmboot fails in MP mode configuration between Tuxedo 8.1 or later and WLE 5.1.


Problem

tmboot with Master as Tuxedo 8.1 or later and WLE 5.1 as non-Master fails with error message in ULOG.


Platforms

All


Workaround

Apply the WLE 5.1 RP60 or greater to resolve this issue.

  1. CR092705

tpcall from Tuxedo 8.1 or 9.0 to Tuxedo 7.1 fails with TPESYSTEM error in Domain configuration.


Problem

If connection policy is INCOMING_ONLY in Tuxedo 8.1 or 9.0 and ON_DEMAND on Tuxedo 7.1, all the services are shown in suspend mode, and client call fails TPENOENT error.


Platforms

All.


Workaround

This is a problem with base Tuxedo 7.1 release. You must apply Tuxedo 7.1 RP 135 or later to resolve this issue.

  1. CR092867

All enqueue fails after Unprivileged user enqueues between WLE 5.1 and Tuxedo 8.1 or later, when security is set to MANDATORY_ACL.


Problem

All enqueue fails after unprivileged user enqueues when security is MANDATORY_ACL and the configuration is MP mode.

SHM mode works fine in Tuxedo 8.1 and later.


Platforms

All.


Workaround

Ensure that only authorized users access services during the limited period when the application is partially upgraded from WLE 5.1 to Tuxedo 8.1 or 9.0.

  1. CR216274

The performance of GWTDOMAIN will downgrade dramatically if the two domains located at one AIX machine.


Problem

This issue has somewhat of a relationship with the ngale algorithm when the two end points of TCP located at one AIX box. Under such situation, the communication just involves system buffer transitions, and contest with IPC operations. Nagle algorithm results in performance downgrade dramatically.


Platforms

AIX


Workaround

When you turned off the ngale in TCP, the behavior will be normal.

Tuxedo GPNET provides an environment variable called SETTCPNODELAY to control the nagle algorithm usage. Set SETTCPNODELAY to any value before GWTDOMAIN startup.

  1. CR220004

Interop: Server group cannot be migrated from Tuxedo 9.0 to Tuxedo 6.5 via MIB request.


Problem

The server group cannot be migrated from Tuxedo 9.0 to Tuxedo 6.5 via MIB request. For example, ud32 accepts a MIB request input file as:

TA_OPERATION SET

TA_CLASS T_GROUP

TA_STATE MIGRATING

TA_SRVGRP GROUP1

The reason is an operation code of interoperability was not handled well after Tuxedo 6.5.


Platforms

All.


Workaround

Use tmadmin to do the group migration. For example, with the following tmadmin commands:

>shutdown -R -g GROUP1

>migg GROUP1

  1. CR222951

Tuxedo 9.0 may consume more memory


Problem

Due to the newly added features of Tuxedo 9.0, adding plenty of new code and data into underlying Tuxedo shared libraries (e.g. libengine.so), some of them now have much bigger size than they previously did in Tuxedo 8.1. The size increase of shared libraries cause running Tuxedo system and application processes depending on those libraries to consume more memory than before.


Platforms

All.


Workaround

Add memory capacity if upgrading an existing application. See Installation Upgrade Considerations section of Release Note.

  1. CR223832

cnsbind utility core dumps on AIX platform. Although it core dumps, it still can finish its work.


Problem

This occurs when exiting and when enabling CORBA trace.


Platforms

AIX.


Workaround

Do not use CORBA trace.

  1. CR218842, CR219402

CORBA: limitation of C++ Compiler on AIX 5.3


Problem

There is a limitation on CORBA code to be compiled with C++ compiler on AIX 5.3. Type CORBA::Any or structure containing an item of this type cannot be used to declare a global or static object. Otherwise, the execution will crash when exiting due to referring to already-destructed TypeCode.


Platforms

AIX


Workaround

Use these types to declare dynamic objects.

  1. CR217411

SNMP: SMUX agent does not start on Windows.


Problem

Start snmp_integrator.exe as a service with start parameters -p and -r. Start tux_snmpd.exe as a service with parameters -r. It exits with error "Could not start the <agentname> service on local computer".


Platforms

Windows


Workaround

Configure the correct TUXDIR as the system environment before starting up the SNMP agent.

  1. CR195891

Outbound IIOP connection cannot end by releasing the reference to the remote object.


Problem

After the outbound user limit (set by -o and -u parameters of ISL CLOPT) being reached, the server tries to release a user by assigning an empty pointer to the reference of the remote object. In 8.0RP292, assigning 0 to the reference can release a user. In Tuxedo 8.1 and 9.0 it cannot.


Platforms

Windows


Workaround

None

  1. CR236565

CORBA: The generated stub/skeleton C++ files for an array of valuetype cannot be compiled.


Problem

The C++ IDL compiler does not support array of valuetype definition. For example,

//IDL valuetype A{ ......

}


typedef A A_array[10];


The generated C++ code for the above IDL file cannot pass compilation.


Platforms

All.


Workaround

None.

  1. CR238601

CORBA valuetype: stub code for value box of some underlying boxed types does not provide enough overloaded operators or accessor/modifier functions.


Problem

IDL compiler does not generate enough overloaded operators or accessors/modifiers functions in the C++ stub code for valuebox classes of some underlying type. These operators or functions are convenient instruments to manipulate data/members of those underlying boxed type of the valuebox class.


See the following list.

  • valuebox class of sequence types: overloaded subscriptor operators are not provided.

  • valuebox class of array types: overloaded subscriptor operators are not provided.

  • valuebox class of string types: overloaded subscriptor operators are not provided.

  • valuebox class of wstring types: overloaded subscriptor operators are not provided.

  • valuebox class of struct types: underlying struct member accessor/modifier functions are not provided.

  • valuebox class of union types: underlying union member accessor/modifier functions, union discriminant functions are not provided.

  • valuebox class of any types: overloaded insertion/extraction operators of any type are not provided.


Platforms

All.


Workaround

First get the value/instance of the underlying boxed type using accessor method _value() of the valuebox class. Then use relevant overloaded operators or accessor/modifier functions of the real boxed type.

  1. CR241622

CORBA valuetype: valuetype with array member cannot be constructed and a core dump results.


Problem

If there are array type members defined in a valuetype in the IDL file, the generated C++ codes are not correct.

For example,

//IDL
typedef long LongArr[10];
valuetype A {

......

public LongArr arr_val;

......

};


The generated C++ file may cause a runtime problem.


Platforms

All.


Workaround

None.

  1. CR244880

Valuetype with underlying non-basic typed sequence members is not supported.


Problem

Valuetype definition with sequence members only support the following basic underlying types: signed/unsigned short, signed/unsigned long, octet, float, double, signed/unsigned long long, long double.

For example,

//IDL
valuetype item {
    ......
};
typedef sequence<item, 10> ItemSeq;
typedef sequence<short, 5> ShortSeq;
valuetype V {
    public ShortSeq s_val; // support
    public ItemSeq i_val; // Do not support
};


Platforms

All.


Workaround

None.

  1. CR244894

Implementation of valuetype custom marshaling does not process wide chars correctly.


Problem

CORBA specification provides custom marshaling to override the default marshaling/unmarshaling model of valuetype. Tuxedo CORBA ORB does not process wide chars correctly when custom marshaling. The read_wchar_array() method of CORBA::DataInputStream and the write_wchar_array() method of CORBA::DataOutputStream do not process wide chars properly.


Platforms

All.


Workaround

None.


 

 


Product Constraints

Table 2 describes product constraints for BEA Tuxedo and provides information about recommended workarounds.

Table 2 Product Constraints 

    1.

Request-level interceptors do not support Object-by-Value syntax.


Description

DataInputStream::read_Value() overwrites the contents of the marshalling buffer. If a request level interceptor calls DataInputStream::read_Value() to decode a valuetype, subsequent attempts to decode the marshalling buffer by the ORB will fail in an unpredictable manner. To prevent this, avoid using DataInputStream::read_Value() in request level interceptors.


Platforms

All.


Workaround

None.

    2.

Tuxedo XDR encode/decode functions cannot correctly encode integer data types larger than 32-bit.


Description

The XDR encode/decode functions that Tuxedo uses to pass data between different machine types currently cannot encode 64-bit integer data types containing values which would not fit in a 32-bit datatype. So if the VIEW/VIEW32 long type data is out of 32-bit range, it will be truncated during XDR encode/decode.


Platforms

AIX, HP, and Solaris.


Workaround

None.

    3.

Reserved Repository IDs.


Description

Use of Repository as an interface repository ID in a #pragma ID OMG IDL directive, or use of pk_ as the beginning part of such an ID, causes a conflict with IDs used internally in the BEA Tuxedo system. Their use results in undefined behavior.


Platforms

All.


Workaround

If you use the #pragma ID OMG IDL directive, do not use Repository or any identifier that begins with pk_ as the repository identifier.

    4.

Restrictions to using the Dynamic Invocation Interface (DII).


Description

When you use DII, you may encounter problems if you do not observe certain restrictions.


Platforms

All.


Workarounds

Adhere to the following restrictions:

  • If you use CORBA::Request::set_return_type(), you must set the location where you want the ORB to place the result for the specified request. This can be done by using CORBA::Any::replace() (after setting the return type) on the Any reference returned by CORBA::Request::return_value().

  • The CORBA 2.2 specification appears to imply that when using DII the user need not specify the return type or any out only arguments; or, if specified, the user need not specify the location in which to store the result or out values. In any case, the BEA Tuxedo software requires that you specify the return type, any out only arguments, and the location in which to store the result or out values.

  • When using CORBA::ORB::send_multiple_requests_deferred(), if any of the individual requests results in an error (that is, throws a locally detected exception), the exception is propagated to the user and any requests in the sequence after the said request will not be sent (that is, the behavior is as if the CORBA::INV_TERM_ON_ERR flag had been specified). The workaround is to not use this function; instead, call CORBA::Request::send_deferred() on each request in the sequence with appropriate try/catch statements around each call.

    5.

Remote BEA Tuxedo client logon/authenticate binary userdata cannot contain NULL's.


Description

With an AuthType level of Tobj::TOBJ_APPAUTH, remote BEA Tuxedo client binary user_data passed into the logon/authenticate API cannot contain NULL's.


Platforms

All.


Workaround

It is possible for binary user_data to contain legitimate NULL's. One solution is to use the native mode rather than the IIOP mode. The native mode does not have the problem.

    6.

Client invocation times out after 60 seconds by default.


Description

The default behavior for a client application invoking a BEA Tuxedo IIOP Server Listener/Handler or server application is to time out if 60 seconds elapse without a response. The client application receives a NO_RESPONSE, NO_RESOURCES, or COMM_FAILURE exception.


Platforms

All.


Workaround

The default timeout can be changed for the application by adjusting SCANUNIT and BLOCKTIME in the UBBCONFIG file for the application, or by decreasing the load on the server.

    7.

Known problem with fonts when running the University sample applications.


Description

When running the University sample applications, the availability and size of fonts varies from platform to platform and even from machine to machine, depending on the installation. As a result, text sizes may appear too large or too small on some platforms.


Platforms

All.


Workaround

None.

    8.

Transactions with deferred, synchronous requests experience problems.


Description

When using DII, if you initiate deferred synchronous requests in the context of a transaction, the transaction does not complete successfully.


Platforms

All.


Workaround

Wait until you have received responses for deferred synchronous requests before you commit the transaction. Otherwise, results are unpredictable.

    9.

C++ reserved words in IDL for operation names.


Description

Do not use C++ reserved words as operation names in IDL files. Using C++ reserved words as operation names might cause the IDL compiler to fail.


Platforms

All.


Workaround

Change an operation name in the IDL file to a name that is not a C++ reserved word.

    10.

Mapping of CORBA and FML data types for applications that allow interoperability between BEA Tuxedo ATMI and BEA Tuxedo CORBA.


Description

BEA Tuxedo applications use FML field buffers that support a limited number of data types as described in the Programming BEA Tuxedo ATMI Applications Using FML. If you want BEA Tuxedo and BEA Tuxedo CORBA applications to interoperate, you must handle the mapping between the corresponding data types carefully. For example, a CORBA::Long is not a long for all platforms. Hence, there needs to be a conversion when reading from or writing to FML buffers after and prior to doing tpcalls from BEA Tuxedo applications. If a BEA Tuxedo application were to make a BEA Tuxedo call passing a CORBA::long as an FML long, a straight forward use would be as follows:

Fadd32(fmlbuf, LongFmlFld, 0, (char*) &WLE_CORBA_long, 0);

which you would issue prior to doing a tpcall such as:

tpcall((char*)SomeTuxService, (char*) fmlbuf,
(char**) &fmlbuf, sizeof(fmlbuf), 0)

Such a call will succeed on most platforms, but will fail on Compaq Tru64 UNIX.

Note: Any applications that use the BEA Tuxedo Notification Service to allow interoperability between BEA Tuxedo events and BEA Simple or CosNotification Structured Events would be affected by this problem.


Platforms

All.


Workaround

For BEA Tuxedo and BEA Tuxedo CORBA applications to interoperate, you must change the Fadd32 statement from:

Fadd32(fmlbuf, LongFmlFld, 0, (char*) &WLE_CORBA_long, 0);

to:

long FML_long = WLE_CORBA_long;

Fadd32(fmlbuf, LongFmlFld, 0, (char*) &FML_long, 0);

A reverse conversion would likewise be required to receive a long value returned from a tpcall and used as a CORBA::Long.

The University Wrapper sample application shows an example of this, where the ACCOUNT_NO is a long in the BEA Tuxedo Billing application wrapped by the BEA Tuxedo billw_server. The BEA Tuxedo univw_server and billw_server use a CORBA::Long for the AccountNumber and handle the conversion appropriately as follows:

CORBA::Double Teller_i::get_balance(
BillingW::AccountNumber account)
{
long account_l = account;
:

call_tux(m_tuxbuf, "CURRBALANCE");
:
}

    11.

The C++ IDL compiler does not generate correct codes for _copy_value() method if defined valuetype graph contains cycles.


Description

The CORBA OMG specification is vague about how to avoid infinite loops when copying a valuetype graph that contains cycles. For example:

//IDL
valuetype A;
valuetype B {
public A foo;
};
valuetype A {
public B bar;
};

If the _copy_value() function of valuetype A is invoked, it will call _copy_value() function of valuetype B, while _copy_value() function of valuetype B will call _copy_value() function of valuetype A, then infinite loops are in the _copy_value() function when invoked.


Platforms

All.


Workaround

Override the _copy_value() function and make it so it can deal with the loops in a manner specific to the valuetype involved or avoid defining a valuetype graph that contains cycles.

    12.

The C++ IDL compiler does not support using C++ keyword as an identifier for valuetype.


Description

The generated code by the C++ IDL compiler for valuetype that includes C++ keywords as an identifier is incorrect.


Platforms

All.


Workaround

Avoid using C++ keywords as the identifier for valuetype.

    13.

The pure virtual accessor and modifier functions for valuetype private state members are not protected.


Description

Tuxedo IDL compiler does not comply with CORBA specification when compiling valuetype with private state members. CORBA specification requires that the private members' pure virtual accessor and modifier functions should be protected, but the generated pure virtual accessor and modifier functions by Tuxedo IDL compiler are public. For examples:

//IDL
module A {
    valuetype V{
        ......
        private V m_v;
        ......
    };
};


// The generated code:
namespace A{
    class V : public virtual ::CORBA::ValueBase
    {
        ...
        public:
            // accessor and modifier for m_v
            virtual ::A::V * m_v() const = 0;
            virtual void m_v(::A::V *) = 0;
    }; // class V
}


Platforms

All.


Workaround

None.

    14.

CORBA Object-By-Value semantics are not supported in "InProc" invokes.


Description

If the CORBA server acting as a client invokes an IOR for an object that is activated in the same server process, then this is considered an "InProc" invokes and the method is invoked directly with no GIOP message generated.

The Object-By-Value semantics are not supported in "InProc" invokes scenario. If valuetype/valuebox is passed as an argument or returned as a return value in "InProc" invokes scenario, the CORBA::INTERNAL exception will be raised.

For example:

valuetype A {
    ...
};
interface foo {
    void op1(in A arg1);
};
interface bar {
    void op2(in foo arg2);
};

If the op2() method of "bar" object invokes op1() method of "foo" object passed in, and both "foo" and "bar" objects are deployed in the same server process, a CORBA::INTERNAL exception will be thrown.


Platforms

All.


Workaround

Avoid passing valuetype/valuebox in "InProc" invokes scenario, or deploy CORBA objects in different server processes.

    15.

Valuetypes that formed circular graphs will cause a CORBA server memory leak.


Description

CORBA specification allows that Valuetypes can be used to form arbitrary, potentially circular graphs. But the reference counts of circular Valuetypes may never drop to zero, this will cause server memory leak. CORBA specification is vague about how to resolve this problem in C++. BEA Tuxedo CORBA does not provide a mechanism to resolve such problems. This means if Valuetypes formed circular graphs, the CORBA server will have memory leak.

For examples:

// IDL
valuetype A;
valuetype B;

valuetype A {
    public B foo;
}

valuetype B {
    public A bar;
}

Valuetype A and B formed a circular graph.


Platforms

All.


Workaround

Avoid defining Valuetypes that will form circular graphs.

    16.

Request-level interceptors do not support Object-by-Value syntax.


Description

The marshalling stream is modified when request-level interceptors call DataInputStream::read_Value() to decode valuetypes. The Tuxedo ORB will not re-try and consequently fails to unmarshall the input stream because the stream no longer contains a properly formatted GIOP message.


Platforms

All.


Workaround

None.


 

 


Resolved Issues

The following tables list the software and documentation problems that have been fixed in Release 9.1. Problems are listed by CR (Change Request) number.

Any software or documentation fixes that are made to Release 9.1 after the initial BEA Tuxedo 9.1 Known and Resolved Issues document is available will be reported in updates to this section in the online version. The online version is available through the BEA Tuxedo 9.1 Known and Resolved Issues link at

http://download.oracle.com/docs/cd/E13203_01/tuxedo/tux91/index.htm

Table 3 lists problems fixed in BEA Tuxedo 9.1.

Table 3 Problems Fixed in BEA Tuxedo 9.1

CR Number

Problem Description

    1. CR060177

Tuxedo 7.1 - tpenqueue() to a remote domain occasionally takes about 1 second.

    2. CR110407

Tuxedo 8.0 - Does not return -1 as ORACLE timeout is reached.

    3. CR111188

Tuxedo 8.0 - GWADM Error when trying to delete dynamically added local services.

    4. CR128856

Tuxedo 9.0 -Multithreaded /WS - sporadic TPESYSTEM received by tpacall with no reason.

    5. CR133768

Tuxedo 8.0 - Transactional requests might cause GWTDOMAIN loop in libgwt:gw_nw_sndrollback.

    6. CR193155

Tuxedo 8.1 - DBBL find the license is invalid but doesn't report the right error msg.

    7. CR211085

Tuxedo 8.1 - Password is regarded as expired since unexacting time is used.

    8. CR212487

DeleteByTypeCode doesn't register value types.

    9. CR216559

Tuxedo 8.0 - In SNAX domain, del a user then add the same user will fail.

    10. CR221240

snmpagent retrieves incorrect value for some managed object.

    11. CR222038

eLink/EAM 4.1/Tuxedo 8.0 - BBL freezes during shutdown/restart GWSNAX.

    12. CR222301

Tuxedo 6.5/8.0 - tmadmin freezes on the Slave machine in a Tuxedo 8.0/6.5 MP config.

    13. CR222310

Tuxedo 6.5/8.0 - Native client gets LIBTUX_CAT:1555 errors in conversational mode.

    14. CR223012

Tuxedo 8.0 - viewc32 temporary output file names are unacceptable to the C compiler.

    15. CR226453

The CORBA application server will core dump when use valuetype as out parameter

    16. CR227883

Tuxedo 8.0/8.1 - Problem unmarshalling valuetype sequences embedded within structures.

    17. CR228994

Tuxedo 8.1 - Problem removing reference to nested valuetype.

    18. CR229081

Tuxedo 8.0 - The RP340 patch produced for CR223012 is missing the viewc32 binary.

    19. CR229515

Tuxedo 8.1 - Throwing user defined CORBA exception causes server to crash.

    20. CR232012

Tuxedo 8.0 - tmshutdown hangs when DBBL is un-responsive in a MP environment.

    21. CR232856

Tuxedo 8.0 - DBBL does not restart when MIB call is made after DBBL goes down.

    22. CR234916

License - If USERS=Unlimited, Tuxed reports the number of allowed clients is 0.

    23. CR235194

Tuxedo 8.1 - Can't use catopen for user message catalog.

    24. CR236051

tmadmin->printinterface command doesn't show value for "Routing Name" item

    25. CR237057 propagated from CR209212

Tuxedo 8.0 rp316 - Interdomain transaction TRANTIME superseded by BLOCKTIME.

    26. CR237339

Tuxedo 8.1 - CORBA - CONCURR_STRATEGY issue.

    27. CR237531

Tuxedo 9.0 - Typo on LIBTUX 681.

    28. CR237564

Oracle RAC Support.

    29. CR238038

The length of groupname in ubb should be less than 30, but e-docs says it can be equal to 30.

    30. CR238060

Tuxedo 9.0 - Add-on cat_id numbers looked up in $TUXDIR/locale/CATNAMES do not work.

    31. CR238895

Tuxedo 9.0 - RP installer on unix doesn't include directory "help".

    32. CR239797

Tuxedo 8.1 - catopen still dose not work for a non-complete pathname even if TM_OS_CAT is set.

    33. CR240684

Segmentation fault at tpxmltofml32 in stockclient (xmlfmlapp) with TMTRACE on Solaris.

    34. CR240888

Tuxedo 8.1/SOLARIS 9 - TPEOTYPE on tpreceive when data=NULL/datalen=0.

    35. CR241008

Tuxedo 9.0 - /Domain Failover using FAILOVERSEQ doesn't work on Solaris.

    36. CR242064 propagated from CR205433

Tux8.1 - display C locale messages when national locale message do not exist.

    37. CR245074

Tuxedo 8.1 - Japanese message (Shift-JIS) outputs garbled character.

    38. CR246080

Tuxedo 8.0/8.1/9.0 - 'core dump' by tmloadcf when SERVERS keyword missed in ubb.

    39. CR247083

Tux81/32bit/RP217 - GWTDOMAIN cores with CMDTUX_CAT:819

    40. CR250202

Tuxedo 6.5 - Please suppress LIBTUX_CAT:1370/1367 when booting BBL

    41. CR250659

Oracle RAC fix for incorrect LIBTUX_CAT:1380 messages.

    42. CR252287

Reopens dynamic registering RM after RM failure in app server.

    43. CR254378

Tuxedo 8.0 (64-bit) Tmboot core when LD_LIBRARY_PATH length exceeds 2048 bytes

    44. CR257541

Tuxedo 6.5 - LIBTUX_CAT216 outputs when restarting processes on slave site.

    45. CR257941

Tuxedo 9.0 - Cannot get MIB information of TMS on Windows.

    46. CR257944

Tuxedo 9.0 - Multi-threaded GWTDOMAIN startup fails with LIBGWT_CAT:5354 error message.

    47. CR258014

Tuxedo 8.0 - /WSC fails to connect to WSH due to LIBTUX_CAT:6249 error.

    48. CR259044

Tuxedo 8.0 - GP_CAT:1305: ERROR: tpsubscribe failed due to TPEPERM - bad permissions

    49. CR260210

Tuxedo 9.0 - .Net wrapper bug in libwscdnet.dll.

    50. CR261674

setenv.sh for xml2fml doesn't include Tuxedo DIR/bin in PATH.

    51. CR263578

The Jolt Connection Pool Monitoring page is not available.

    52. CR266220

Tuxedo 9.0 - .Net sample unsolapp and callapp sometimes fail

    53. CR267048

Tuxedo 9.0 - .Net unsolapp sample result is unpredictable.

    54. CR267274

Tuxedo 9.0 - .Net Tux wrapper C# client has no access toTPTAIL reply data.

    55. CR268214

Fix GWTDOMAIN DM_PW 64-bit Big Endian interop with Tux 6.5.

    56. CR269757

Tuxedo 9.0 - .Net expt_tp_prd:TPESVCFAILException failed


 

 

Back to Top Previous Next