Rhapsody iFix2 for 8.2

Since a few versions, IBM creates Fixes for actual versions of Rhapsody.

Customers with a valid support contract can download them from this site.

There are several fixes, for 8.2, 8.1.5 and 8.1.4

Fixes are only available on this site for the 32-bit version

Fixes and downloads for 64-bits or for Linux are available on request (support@willert.de)

IBM Rational Rhapsody 8.2 Build 9794446 released

A new Rhapsody version was released by IBM last week. We have tested this version with our RXF Frameworks and we have not found a show stopping problem using it.
That means that RXF versions that are compatible with Rhapsody 8.1.5 are also compatible with Rhapsody 8.2.
For earlier than 8.1.5 versions of the RXF please read the 8.1.5 support announcement.

Please note:

  • In our test environment we had to start Rhapsody as administrator once otherwise the deployer threw an error message.
  • Although we test as thorough as possible, there is always a minor chance that we have overlooked a change that is important to certain customers. Please test yourself before switching to a new version.

Remember to re-install the RXF for the new Rhapsody version.

Release Notes:

Continue reading

RXF Timer possible problem

The current version of the RXF has a potential timer problem.

On systems that are running on a high load it can occur that longer timeouts are processed too late.

Cause:
The timerouts are stored in a sorted list, first expiring timeout is the first list element. When a timer tick arrives only the first elements timeout value will be decreased.
On full load systems, the timeouts are not always processed immediately, so the system tick count could be larger then 1. When that happens, and the next expiring timeout has a tick value less then the system tick value, ticks would get lost.
This effect is hardly noticeable on systems with only short timeouts especially since the system is under full load anyway.
However when longer timeouts are used they will expire much later due to the stacking of this effect.. (50% longer)
The new version of the framework has corrected this error.

Rhapsody 8.1.5 Support

IBM Rational has releases Rhapsody 8.1.5, which now supports roundtripping and reverse engineering also in the 64 bit version. Also it officially added support for Windows 10. For details see IBM Rational’s release information.

Our current RXF framework releases are compatible with Rhapsody 8.1.5 with one important exception:

Earlier Rhapsody versions came with the Java run-time environment (JRE) bundled and available in “<Rhapsody program path>\jre”. Rhapsody 8.1.5 bundles a complete Java development kit (JDK), available under “<Rhapsody program path>\jdk” and containing the JRE in it’s “jre” sub-folder.

Our RXF tools like the WSTDeployer use the Java version bundled with Rhapsody and expect it to be present under “<Rhapsody program path>\jre”. To get these existing RXF releases running with Rhapsody 8.1.5, you may simply create a symlink from “<Rhapsody program path>\jre” to “<Rhapsody program path>\jdk\jre”. You need proper access rights to perform this action in a program folder.

Example how to do this on the command line with proper access rights:

mklink /d “C:\Program Files\IBM\Rational\Rhapsody\8.1.5\jre” “C:\Program Files\IBM\Rational\Rhapsody\8.1.5\jdk\jre”

You may need to adapt the Rhapsody program path to your environment.

Future RXF releases will be compatible with Rhapsody 8.1.5 natively and will be backwards compatible with earlier Rhapsody versions by automatically creating a symlink during setup.

If you experience problems with the RXF setup, please contact us: support@willert.de .

Fixed Case 4525: Possible enterCriticalRegion without exitCriticalRegion if a WST_MEM_Pool runs empty.

Affects:
All C-language RXF releases using an RTOS.

Problem description:
If a MEM_Pool is out of memory we enter a critical region without exiting it. With an RTOS this causes taking a mutex which will not be freed again.

In the non-preemptive OO-RTX there is unusally no need to protect that region of WST_MEM_Pool_getMemory(). Future releases have support for a define WST_MEM_POOL_CRITICAL_REGIONS and will already contain corrected code for this issue.

Continue reading