Problem:

  • Product Name: VisiBroker for C
  • Product Version: 8.5
  • Product Component: ORB
  • Platform/OS Version: Red Hat Enterprise Linux (RHEL) 5.5

The customer was using VisiBroker compiler directive _VIS_LONG_DOUBLE to build a 32-bit application. During the application runtime, unusual memory growth is observed.

Resolution:

For the RHEL platform, the _VIS_LONG_DOUBLE data type is supported for the 64-bit operating system version and not the 32-bit version.

The user application has added  to their build script for the 32-bit compilation. This has introduced binary incompatibility between the application layer and the VisiBroker libraries layer due to structure size difference. It has produced unexpected runtime behaviour and the observed phenomena is an unusual memory growth throughout the VisiBroker application process execution lifecycle.

The VisiBroker compiler directives that are specifically targeting a supported platform are encapsulated in the respective C header files.

It is not recommended that the user application add uneccessary VisiBroker compiler directives into the compile scripts without consulting the product example build configuration file stdmk for Unix/Linux, or stdmk_nt for Windows. Therefore, only those compiler directives stated in the stdmk should be used.

The recommendation apply to all 32 or 64-bit applications for all VisiBroker versions and its supported platforms.


Incident #2566776